Maintaining reversible properties in the model (ACS)
ACS supports the changing of selected properties (reversible properties) in either the model or the generated code files. Examples of these reversible properties are as follows:
Operation Body text — In Modeler this text is specified on the Body tab of an Operation's Property Pages (all Code Generator DLLs).
Event Action Block Guard Condition text- In Modeler this text is specified on the Options tab of an Event Action Block's Property Pages (C and C++ only).
Event Action Block Action text- In Modeler this text is specified on the Options tab of an Event Action Block's Property Pages (C and C++ only).
Ada Declaration text- In Modeler this text is specified on the Ada Declaration tab of an Operation's Property Pages, having applied the «Ada Declaration» stereotype to the Operation (Ada only).
C# Add Accessor Body text – In Modeler this text is the tagged value of the C# Add Accessor Body tag definition (C# only).
C# Get Accessor Body text – In Modeler this text is the tagged value of the C# Get Accessor Body tag definition (C# only).
C# Remove Accessor Body text – In Modeler this text is the tagged value of the C# Remove Accessor Body tag definition (C# only).
C# Set Accessor Body text – In Modeler this text is the tagged value of the C# Set Accessor Body tag definition (C# only).
VB Declare text — In Modeler this text is the tagged value of the VB Declare tag definition, which can be applied to a Class, Data Type or Interface through the «VB Class» stereotype (VB only)
VB GetAccessorBody text — In Modeler this text is the tagged value of the VB GetAccessorBody tag definition, which can be applied to an Attribute or Role through the «VB Property» stereotype (VB only).
VB Imports text — In Modeler this text is the tagged value of the VB Imports tag definition, which can be applied to a Class, Data Type, Interface or Package through the «VB Unit» stereotype (VB only).
VB SetAccessorBody text — In Modeler this text is the tagged value of the VB SetAccessorBody tag definition, which can be applied to an Attribute or Role through the «VB Property» stereotype (VB only).
This is the safest way of maintaining operation bodies and other reversible properties, but has the disadvantage of not allowing you to maintain the associated text in your code environment.
In this scenario, you are the only user of the model or model version. You never make any changes to the code files. Changes you make to reversible properties will not be lost.
Set up the following options in ACS:
Generate enabled — so that changes in the model are generated.
Reverse disabled — so that reversible properties in the model are never overwritten from your code files. Disabling reverse engineering also disables reverse on startup.
Generate on Startup enabled — so that when you start ACS with the model, ACS generates code files that contain reversible properties that are not in sync.
While ACS is running, ACS detects any changes to your Modeler's view of the model and generates those changes to your code files.
While ACS is not running, you can still make changes to the reversible properties in the model. When you start ACS, ACS will generate any changes you made while ACS was not running.
When you start ACS, ACS compares reversible properties in the model with their associated marked text in your code files. If ACS detects a difference, it generates that code file.
* 
If the Generate on Startup check box is selected and you disable generation through the Enable or Disable Code Generation button, ACS clears the Generate on Startup check box.
Working with Access Permissions
Use access permissions as you normally would.
Working with Modeler CM
Use the Modeler CM as you normally would.
Working with Modeler CM tool integration
Use the CM tool integration as you normally would.
Working with code files under source control
When maintaining reversible properties in the model, you can safely work with code files that are under source control.
Changes to reversible properties in the model are written to your code files only if those code files are checked out. On many occasions the code files will not be checked out, but this is not a problem because ACS is set up to never reverse engineer reversible properties in your code files.
To keep your code files up-to-date, perform a get latest operation.
When performing check in and check out operations on code files:
Before checking out a code file(if using Modeler CM tool integration only) — check out the associated package or class in the model, so that it is up-to-date with other user’s changes.
After checking out a code file — start ACS, or if ACS is running force a generation, so that your code file is in sync with the model.
Before checking in a code file- start ACS, or if ACS is running force a generation, so that your code file is in sync with the model.
Working with a multi-user model
In a multi-user model, you can prevent ACS from generating other user’s changes to your code files by setting upACS to work with a specific Package - ACS will then only generate model items in that Package and its sub-Packages. If you want to update your code files with other user’s changes, set up ACS to work with the model, force a generation, and then set up ACS to work with your Package again.
If the model items you want to change are distributed across many Packages, make the code files you are working with editable, and all other code files read-only. Set up ACS to work with the model and only your changes will be generated because ACS will not be able to generate other user’s changes to your read-only code files. If you want to update your code files with other user’s changes, make the code files you want to update editable, force a generation, and then make the code files you are not using read-only again.