Component migration

Components in Rational Rose RealTime (RoseRT) describe how to generate and build the model into an executable or library artifact. DevOps Model RealTime is built on top of a C++ IDE (CDT). Consequently, it makes sense to integrate into CDT to harness its existing functionality, extensibility, and known workflows. In migration into Model RealTime, the component migrates into two separate entities:

During import, this conversion is handled automatically, and the components that used to exist in the component view in RoseRT are converted into shortcuts to the new transformation configuration files (TC).

Migration of RoseRT components

CDT Project Generation

If the compilation and execution settings are stored in the CDT project, this could represent more overhead in large enterprises. When you manage these artifacts in your source control repository, both the TC file and the CDT project need to be checked in to preserve the settings. There is an option to provide the ability to store the CDT configuration properties (execution and compilation) in the TC and dynamically create the CDT project at transformation time if the project doesn’t exist. This allows for only the TC file to be checked into the source repository and have the CDT projects local to your workspace. This behavior is optional (but recommended) and can be set during import. This option must be unchecked to allow the CDT projects to be master of their configuration settings (and therefore must be added to source control).

Component Settings section in the RoseRT Import Wizard

If you select the "Generate target projects from transform configuration" checkbox, then the imported TC files are set as master for the target configuration properties. When those properties are changed, the corresponding CDT configuration is updated.

The option "Generate unique workspace output paths for derived transform configurations" controls whether workspace output paths should be the same as the path of the parent TC or unique.

After import, this setting can be re-adjusted for individual TC files in the transformation configuration editor. On the "Sources and Target" page, a corresponding checkbox exists (called "Automatically create and update target project") and will be populated with the value set in the import. If the checkbox is selected, then the "Target Configurations" tab is enabled so that the target configuration can be changed, and it will be regenerated into the CDT project on the next transformation. If cleared, then the "Target Configurations" tab will be disabled, and the CDT project becomes the "master" for the compilation configuration. Consequently, in this case, the CDT project should be checked into source control.

Target properties in the Transformation Configuration Editor

Tool Chain

The CDT has a concept of a "Tool Chain" which represents the set of tools that together generate the makefile, build, link, launch, and debug the executable. This allows the CDT to be open to almost any set of tools provided by different vendors and have them integrated into the Eclipse environment. However, defining a new "Tool Chain" in the CDT is a fairly non-trivial prospect that requires in-depth knowledge of the CDT extensibility. Consequently, the CDT supports some default "Tool Chains" (e.g., "Cygwin" and "MinGW") that represent known standards and are widely supported. Additional "Tool Chains" are contributed by 3rd party vendors. The Model RealTime tooling supports the "GNU" or "Cygwin" tool chain on import and will do its best to convert the component data into compatible configuration data for the CDT. Sometimes, the target that is being supported has a different makefile syntax or other incompatibilities that make it impossible to use the "Cygwin" Tool Chain. In this case, the wizard offers a "RoseRT compatible" mode that utilizes a new "Tool Chain" contributed by Model RealTime that will generate the makefiles in the same way as RoseRT. If you are unsure about which one to choose, the "Generic" tool chain (RoseRT Compatible) is the default and can be relied upon to give the best results. See section Component Settings section in the RoseRT Import Wizard to see where this option can be set in the wizard.