Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > C++ code > Auxiliary Topics > Overview of generating C++ code (C++ code)
  
Overview of generating C++ code (C++ code)
Automatic Code Synchronizer (ACS) helps you develop your application by generating the C++ code required to implement a Class Model defined in Modeler.
Using Modeler you can quickly define your system in an environment that allows you to view the Class structure as a whole, and you can describe the behavior of each Class using State Diagrams. Through the C++ Profile you can model C++ specific information in the model.
To use ACS with C++ code, you require an ACS license, a Modeler license and an ACS Language Pack for C++ license. If you want to customize the generation of C++ code, you additionally require an ACS Transformation Development Kit license.
For information about generating C++ code for systems that can work with ThingWorx Mashups and systems that can communicate using the ThingWorx AlwaysOn protocol, see Overview of generating C++ code (C++ code).
ACS generation
ACS generates the C++ code to implement the Classes, Data Types, Interfaces, Signals and their state machines. Thereafter, you can use ACS to update the C++ code with any changes made to the Class Model in Modeler.
ACS uses a Code Generator DLL to generate the code.
* 
You can customize a supplied ACS Code Generator DLL through its associated TDK model.
If you are learning to use Modeler and ACS, you may find the Integrity Modeler tutorials useful. For information about downloading and opening the Integrity Modeler tutorials, see Integrity Modeler tutorials.
ACS uses the following Code Generator DLLs to generate code:
Cpp Generic Production - use this Code Generator DLL for generating target ready code for operating systems that are not Windows.
Cpp Win32 Production - use this Code Generator DLL for generating target ready code for a Windows operation system.
For more information about generating C++, see Cpprev Overview of Forward Generation.
ACS generation for system simulation
Through ACS, you can generate executables for system simulation. For more information about system simulation, see Introduction to system generation and simulation (system simulation).
When you use ACS to generate executables for system simulation, those executables make notification calls so that they can be simulated in Modeler, that is, Modeler animates State Diagrams as the target application is running.
ACS uses the following Code Generator DLL to generate code for simulating your applications in Modeler, that is, animating the State Diagrams from which the application that was generated as the target application is running:
Cpp Win32 Animation - use this Code Generator DLL for generating a Windows executable that can be debugged in Modeler.