Migrating UML models from Rational Rose RealTime to Rational Software Architect RealTime Edition

To import models into Rational® Software Architect RealTime Edition, you use the Rational Rose® RealTime Model Import wizard, which guides you through the model migration.

Before you begin

In addition to the Rational Software Architect RealTime Edition model import online help, two migration-specific white papers are available from the IBM® support site that explain the IBM Rational Rose RealTime model migration process. Links to these resources are available in the Related Information section at the bottom of this topic.

About this task

Important: If possible, import the Rational Rose RealTime model on the same computer that you used to create it. That way, the model and all related controlled units open successfully because the import wizard has access to the registry and any Rational Rose RealTime information that the model uses, such as stereotype configuration files. Rational Rose RealTime path map registry files are critical when you import models that were created in UNIX and Linux environments. If you import a Rational Rose RealTime model in these environments, you must create a registry file.
To migrate a Rational Rose RealTime model:

Procedure

  1. Click File > Import.
  2. In the Import window, expand Other, click Rational Rose RealTime Model, and click Next.
  3. On the Import a Rational Rose RealTime model page, specify which model to import:
    1. Beside the Source model field, click Browse.
    2. In the Import Rational Rose RealTime window, select a model file and click Open. Model files have .rtmdl as a file name extension.
  4. If you are importing in a UNIX or Linux environment, or on a computer that does not have Rational Rose RealTime installed, you must specify a registry file:
    1. Beside the Registry file field, click Browse.
    2. In the Registry File to Import window, select the appropriate registry file and click Open. Registry files have .reg as a file name extension. The specified paths appear in the Source model and Registry file fields.
      Note: For instructions on how to export a registry file in UNIX or Linux environment, see the Rational Rose RealTime to Rational Software Architect RealTime Edition Migration Best Practices document.
  5. Specify a destination project:
    Note: If possible, import the model into a new project. When you import into a new project, only one transformation is created for each project and it is easy to see which artifact is produced for a given project. This method also allows model dependencies to be maintained explicitly through project references, because you cannot add a transformation prerequisite without the corresponding project reference as well.
    • To specify an existing project, click Existing project, and browse to and select a project.
    • To specify a new project, click New project and type a project name. If you create a project outside the default location, clear the Use default location check box and specify a new project.
  6. Click Next. By default, the Rational Rose RealTime Model Import wizard creates new profiles in a separate project from the imported model. You can view the details of imported profiles in the Project Explorer view.
  7. On the Resolve Controlled Units and Path map symbols page, review the tables to determine whether broken references exist and decide how to proceed;
    • If both tables are empty, the model does not contain broken references. Go to step 9.
    • If the Unresolved Controlled Units table has entries but the path map table is empty, the Rational Rose RealTime model cannot access the listed controlled units. To resolve these broken references, you must open the model in Rational Rose RealTime and restore the connections to the controlled units.
    • If both tables have entries, a path map reference is broken probably because the path map does not point to the directory that contains the controlled unit. To resolve the broken path map reference, go to step 8.
    • If either table contains entries, but you want to ignore all broken references and proceed with the import process even though the model might only partially import, select the Ignore unresolved controlled units check box and go to step 9.
  8. To provide a new path map value to resolve a broken reference, complete the following steps:
    1. In the Specify the value for the unresolved Path map symbols table, click the value to the right of a path map name.
    2. Click the ellipsis button (…) that is displayed to the right of the path.
    3. In the Browse for Folder window, browse to and select the folder that contains the corresponding controlled units, and click OK. The value column updates with the new path.
    4. To ensure that you resolved the path map reference, click Refresh.
    5. After you repair the unresolved references that are most important to the project, you can click the Ignore unresolved controlled units check box to disregard any remaining unresolved references.
  9. Click Next.
  10. Complete one of the following steps:
    • If the Controlled Unit Conversion page is displayed, go to step 11.
    • If the Controlled Unit Conversion page is not displayed, go to step 13.
  11. On the Controlled Unit Conversion page, determine how to import controlled units:
    • To merge all controlled units with the owning model, so that the controlled units no longer reside in separate files, click Absorb all controlled units and go to step 13.
    • To import all controlled units as fragments that the imported model owns, click Convert all controlled units to owned fragments and go to step 12.
    • To specify an import method for specific controlled units, for example, as fragments, independent models, or shortcuts, go to step 12 (step 12e).
  12. To specify how to import specific controlled units, click Convert controlled units to fragments, models, or shortcuts and complete the following steps:
    1. To display controlled units in the table alphabetically, which is helpful for finding specific controlled units in a model, clear the Display controlled units hierarchically check box. Otherwise, the controlled units appear in the same relative location as in the Rational Rose RealTime model.
    2. For each controlled unit that you want to import in a specific manner, in the tree view, select a controlled unit and, in the Convert to column, specify one of the conversion methods in the following table:
      Option Description
      Absorbed Element Imports into the same location as the owning model; no fragment is created.
      Owned Fragment Imports as a fragment in the same relative location as in the Rational Rose RealTime model. Owned fragments can be extracted to another project as a root package or model if it is necessary to share or edit it independently.
      Shadow Package Imports as a new fragment; the fragment has a corresponding controlled package unit that still resides in Rational Rose RealTime; the package absorbs any controlled units that the package owns. Shadow packages can be extracted to another project as a root package or model if it is necessary to share or edit it independently.
      Note: The component view cannot be imported as a shadow package.
      Shortcut Imports into a shortcut (an Element Import) that references the originally imported package.
      Note: This option appears only on packages that were imported into another model in the same workspace.
    3. To save the settings for how to import controlled units, click Save Custom Conversion. During the experimentation phase, you can use the Save Custom Conversion functionality to avoid modifying the conversion method settings for each controlled unit multiple times. This functionality is particularly helpful when you experiment with migrating controlled units in very large models. If the import wizard detects a custom conversion configuration file in the workspace, you can click Load Custom Conversion to restore the saved settings for importing controlled units.
    4. In the Save Custom Conversion window, click OK to save the conversion file in your workspace.
    5. To specify naming conventions for the imported controlled units, complete one of the following steps:
      • To use the file name of the original controlled unit, click Use controlled unit file names. For example, if the original controlled unit file is named Analysis_Classes.rtlogpkg, the imported controlled unit is named Analysis_Classes_Package.efx.
        Note: Rational Rose RealTime has different file name extensions for controlled units; Rational Software Architect RealTime Edition only uses .efx.
      • To use the name of the package that contains the imported controlled unit, click Use controlled unit element names. For example, if a controlled unit resides in a package named Analysis_Artifacts, the controlled unit name after import is Package_Analysis_Artifacts.emx, regardless of the original file name. The first part of the fragment name is determined by the type of the corresponding UML element name in the original model.
      • To import controlled units using a generic fragment name (ModeFragment_1.efx, for example) and to place them flat in the default location, click Use generic name in flat containment (Modeler default). When you specify this option, the Rational Rose RealTime model import wizard ignores any controlled unit containment paths as defined in Rational Rose RealTime.

        To place the root package and fragment files in a location other than the project root for either model files (*.emx; *.efx) or transformation configuration files (*.tc), you can specify a subfolder location by entering a location in the Model files (*.emx; *.efx) or Transformation configuration files (*.tc) fields respectively. When you specify a subfolder location, the containment will begin at the subfolder locations rather than at the project root. If you do not select the Use generic name in flat containment (Modeler default) option, the Rational Rose RealTime containment is maintained except it will start from within the specified subfolders.

      Important: If a controlled unit exists in the destination project with the same name, a conflict occurs, the controlled unit model name is suffixed with _1 to provide a unique name, and a warning message is displayed in the Problems view.
  13. Click Next.
  14. On the Preferences for Importing Rational Rose RealTime models page, specify any model migration and diagram element appearance preferences. You can also specify how many import-related error messages are displayed in the Problems view.
    Note: In Rational Software Architect RealTime Edition, internal transitions are not represented as self-transitions. If you want internal transitions to be displayed using Rational Rose RealTime notation, click Preserve internal transition graphical representation (Rational Rose RealTime notation).
  15. Specify one of the following tool chain preferences under Component Settings:
    • Click Generic (Rose RealTime equivalent) to import a model using a tool chain that generates the makefile files and that compiles with the same settings as Rational Rose RealTime. All custom environment settings and tools in the Rational Rose RealTime compilation environment are maintained in the imported model. Use this option if you are unsure about which option to choose; in most cases, it provides the best import results.
    • Click GNU (CDT default) to import the model by using the default GNU tool chain (Cygwin) for compilation.
      Note: When you select Generate target projects from transform configuration, all imported transformation configuration files are set as the parent for the target configuration properties. After the import process, you can modify this setting on individual transformation configuration files. For additional details on tool chain support, see the Rational Software Architect RealTime Edition migration best practices documents by clicking the link at the bottom of this topic.
  16. Optional: Specify one or more of the following options under Interaction Settings:
    • Click Parallel Combined Fragment to import Rational Rose RealTime coregions as a parallel combined fragment if you prefer more precise UML 2.0 semantics over the way these constructs appear in Rational Rose RealTime. After import, you will see that each message group resides in it's own operand indicating that they are unordered and are executed in parallel. In addition, the sequence diagram layout will look different than in Rational Rose RealTime because the diagram concept is fundamentally different.
    • Click Behavior Execution Specification with <<Coregion>> stereotype to import Rational Rose RealTime coregions as behavior execution specifications stereytped as <<Coregion>>. After import, your diagrams will look very similar to the corresponding diagrams in Rational Rose RealTime.
      Note: You may want to select the Map Rose RealTime Constraint to a State Invariant check box if you want constraints to map to state invariants that are attached to sequence diagram lifelines; this option is particularly helpful if you also select the Parallel Combined Fragment option because when the diagram layout changes, the constraints move with the other elements on the lifeline.
  17. Click Next.
  18. On the Stereotype mapping page, determine whether to map stereotypes to profiles:
    • If you do not want to import any defined stereotypes to a profile, select Import stereotypes as keywords, and go to step 20.
      Note: If you are trying to map to an existing profile that is different from the stereotype configuration file, a warning message is displayed in the header of the Rational Rose RealTime Model Import wizard. If the stereotype configuration file has not changed since the last import session, the warning does not appear. However, if you are mapping to a profile that is already deployed, an error message is displayed because you cannot modify deployed profiles.
      Important: When you import stereotypes that are defined in the stereotype configuration files of an additional feature (which have .ini as a file name extension), you must have Rational Rose RealTime as well as the corresponding feature installed. For example, if you import a model that was created with the CORBA Add-In, you must have both Rational Rose RealTime and the CORBA Add-In installed to access the stereotypes and related image files that the additional feature uses. For the best results, import the model in the same Rational Rose RealTime environment that was used to develop the model.
  19. To map stereotypes to profiles, click Import stereotypes as UML profiles. In the Stereotype table, select a stereotype configuration and complete one of the following steps:
    • To map a stereotype configuration into a new profile, click Convert it to a new profile, and specify a project, location, and name for the new profile.
    • To combine a stereotype configuration with an existing profile, click Reference an existing profile and specify an existing profile.
    • To skip a stereotype configuration so that it does not go through the import process, click Ignore this stereotype configuration. This option imports stereotypes as keywords.
  20. Click Next.
  21. On the Property Set Mapping page, determine whether to import property sets as profiles:
    Tip: Many Rational Rose RealTime models contain property sets that are not useful after import. Examine the property sets and identify any that you can ignore during the import process. Skipping unwanted property sets reduces the size of the imported model and reduces clutter in the Navigator view.
    • To import property sets as profiles, select the Import property sets as UML profiles check box and go to step 22.
    • To skip importing property sets, clear the Import property sets as UML profiles check box and go to step 26. Clearing this check box is the same as selecting Ignore this property set for all property sets.
  22. Show the property sets that are available to import:
    • To show the property sets that the model uses, select Only used property sets.
    • To show all property sets, including ones that are defined but that the model does not use, select Both used and defined property sets.
  23. In the Property sets table, select a property set and complete one of the following steps:
    • To import the property set as a new profile, click Convert it to a new profile, and specify a project, location, and name for the profile
      Note: If you map a property set to a new profile, and you click the Import property sets as UML profiles check box, you must specify the Language and Group properties; otherwise, the property set imports as a UML stereotype profile.
      .
      Note: To import the property set as a property set profile, click the Import as property set profile check box. You might select this option under the following conditions:
      • You want to view and edit values for these properties in a UI that is similar to Rational Rose RealTime.
      • You want to set default values for these properties at the model level in the same way that you do in Rational Rose RealTime.
      • You are not sure which option to choose. You do not lose data with either option.
    • To combine property set contents with an existing profile, click the Reference an existing profile check box and specify an existing profile.
    • To skip the property set so that it does not go through the model import process, click the Ignore this property set check box.
  24. To specify a different language for the profile, change the default entry in the Language field. The language of a property set profile indicates the domain to which the property sets apply. In Rational Software Architect RealTime Edition, the property sets for a model are grouped by language in the Properties view.
  25. To specify a different group for the profile, change the default entry in the Group field. The group of a property set profile indicates subcategories in property sets for the same domain. For example, two property set profiles could have the language "Java" but one could represent a basic group of properties, and the other could contain advanced properties. You could then view the properties for each group separately in the UI.
  26. Click Finish. The import wizard displays a progress bar that indicates the status of the import process.

Feedback