M2MRuleset settings

The M2MRuleset elements have several Rhapsody Properties which can be overridden to customize the transformation behavior.

To override these Properties, right-click on the M2MRuleset, and click on "Features" in the context menu:
M2MRuleset Features menu

Once the Features dialog is opened, click on the Tag "Properties", and then click on "Filter":

Filter properties

It will display a dialog window, then enter 'M2M' in the field "Filter Text":

Filter properties

And finally, click on "Filter", it will display only Properties related to the M2M Framework:

Filter properties

All the settings of the M2M dialog window are saved in the properties of the M2MRuleset. This allows to save all the dialog settings, and to retrieve the previous settings on the next M2M launching.

M2M_UI_FilePath [example: ‘C:/Project.rpyx’]:
The option allows to transform the project into a different destination than the original project. The targett project path is saved in this property.

M2M_UI_DisplaySourceAndTarget [‘True’, ‘False’]:
The option allows to keep in the transformed project the source and the target models. The value 'True' means that the source model is kept in the target model. The value 'False' means that the source model is removed.

M2M_UI_GenerateTraceabilityReport [‘True’, ‘False’]:
The option allows to generate a traceability report in the transformed project. This option can be enabled only if the DisplaySourceAndTarget is enabled as well. The value 'True' means that the TraceabilityReport is created, 'False' means that the report is not created."

M2M_UI_TargetPackageName [example : ‘MyProject’]:
When the transformed project keep the source model, the target model is created into a new Package. The option gives the name of this new Package.

M2M_UI_PackagesToExclude ['System::Blocks System::Interfaces']:
This property is used when the target model is saved inside the same Rhapsody project. The target Package full path name is saved in this property, to specify to the M2M Engine, that this Package must not be considered as a transformable Package. This Package is removed from the target model if the source model is not kept. The Packages found in this property are hidden from the M2M Dialog Window Tree View which is used to select packages to transform.

M2M_UI_PackagesToFilter [‘MyProject’]:
This property is filled in by full path name of packages which are unselected via the M2M dialog window. These unselected packages will be skipped and not transformed by the M2M Engine.

M2M_Transformation_DeleteNotMappedElements [‘True’, ‘False’]:
This option is to make the choice to delete or not elements which are not mapped by the mapping rules of this M2MRuleset.

M2M_Transformation_KeepRulesetsAfterTransformation [‘True’, ‘False’]:
This option is to make the choice to keep, or not, the M2MRuleset after the transformation.

M2M_Skip_Behavioral_Diagrams_Containment [‘True’, ‘False’]:
This option is to make the choice to skip the transformation of behavioral diagrams content (Statecharts, Activity Diagrams, Sequence Diagrams). If enabled, the M2M Engine will transfer the containment of these diagrams as it is.

M2M_Remove_RMM_Profile [‘True’, ‘False’]:
This option is to make the choice to remove the RhapsodyModelManager Profile from the source and target project.

The following properties allow to load external Java classes from an external Jar file in the M2M Engine Class Path. The main idea is to extend the M2M class loader by providing the path where the Jar file is located, the Class name to load, and the JavaScript method to set the Java Class in the JavaScript context of the M2MRuleset. With that way, all of the JavaScript code have access to this external Java Class.

M2M_ClassExternal_ExternalJarPath [example: ‘C:/lib/JSUtils.jar’]:
The option is to define the external *.jar file path to load in the Class Path.

M2M_ClassExternal_JavaClassName [example : ‘JavascriptUtils’]:
The option is to define the path of the Java Class to load.

M2M_ClassExternal_JsClassSetterMethodName [example: ‘setJSUtils’]:
The option is to define the JavaScript method name to call to set the external Class in the JavaScript context. This setter method will save the Java Class in a JavaScript variable which can be a JSVariable of the M2MRuleset. M2M_Log_TimingReportUnit [‘ms’, ‘s’, ‘m’]:
The M2M engine generate a timing report about transformation steps. There are counters for most of transformation steps to be able to monitor and to help to resolve performance issues. The property allows to change the time unit of this timing report. It can be displayed in milliseconds, in seconds or in minutes.

M2M_Log_EnableLogWhenVisitAndDeleteElements [‘True’, ‘False’]:
This property enables or not the log when an element is visited or deleted.