How to use IBM Rational Rose Model Importer: Part 1. How to migrate UML models to Rational Software Architect

Learn how to use the IBM® Rational® Rose Model Importer to migrate UML models from Rational Rose to IBM® Rational® Software Architect, IBM® Rational® Systems Developer, or IBM® Rational® Software Modeler. This article guides you through how to migrate the UML models in a way that enables you to use them with enhanced modeling capabilities of these newer products. Get started by following these step-by-step instructions.

Share:

Mustansir Ali (mustan.ali@in.ibm.com), Senior Staff Software Engineer, IBM

Photo of Mustansir AliMustansir Ali is a development lead at the IBM India Software Lab Bangalore. Ali has 9 years experience in software development working with the IBM Rational Software Architect solution. Ali has a Bachelor of Engineering in Computer Science from Dr. Babasaheb Ambedkar University, India and a Masters Degree in Software Systems from Birla Institute of Technology and Science, Pilani, India.



Jagadisha Gangulli (jgangull@in.ibm.com), Systems Software Engineer, IBM Japan

Photo of Jagadisha GangulliJagadisha Gangulli is software developer for IBM Rational Software Architect.



29 January 2008

Also available in Chinese Spanish

Prerequisites

You need the following IBM® Rational® software installed, and you need to be familiar with using both products:

  • IBM® Rational® Software Modeler (or IBM® Rational® Architect or IBM® Rational® Systems Developer) Version 7.0. or later
  • IBM® Rational® Rose, with models that contain Petal Version 47, 48, or 50, which are the only versions that you can import into Rational Software Architect. If you have models that use Petal Version 46 or earlier, upgrade them to Petal Version 47 first within Rational Rose. These models must be free of errors before you import them. You can use the Check Model option in Rational Rose to verify that they are.

Before you start planning your Rational Rose model migration, it is important that you read the IBM® developerWorks® article titled "Model structure guidelines for Rational Software Architect" (see Resources).

Purpose of this series

Rational Rose is a very effective and successful modeling tool, but is based on UML 1.4 standards. IBM Rational has since built a new modeling platform on the Eclipse environment, which includes an open source reference implementation of UML 2. IBM Rational Software Architect, Rational Software Modeler, and Rational Systems Developer are all based on that newer platform. These products provide modeling and automation capabilities that exceed those of Rational Rose.

This series of articles will help you if you want to adopt the new modeling products and need to migrate UML models from Rational Rose. This first installment will help you understand how to use Rational Rose Model Importer efficiently and will explain the procedures to follow. Subsequent articles in this series will cover the advanced features of Rational Rose Model Importer and will discuss commonly asked questions and how to address commonly encountered issues.

Key differences between Rational Rose and Rational Software Architect models

The following subsections explain these four significant differences in how Rational Rose and Rational Software Architect handle models:

  • Properties and stereotypes
  • Subunits and fragments
  • Model closures
  • Model organization

Properties and stereotypes

Rational Rose defines a set of properties for UML elements that describe their attributes. These properties are defined in the .pty files. Similarly, the stereotypes for the UML elements are defined in the .ini files.

Rational Software Architect defines UML element properties and stereotypes by using UML profiles. The UML profile is defined as package that is stored as a file with an .epx extension. It includes a standard set of UML profiles, but these profiles do not include many of the Rational Rose stereotypes and properties. Therefore, when a model is imported from Rational Rose into Rational Software Architect. all properties and stereotypes that are in the Rational Rose model but not available in Rational Software Architect are imported as UML profiles.

Subunits and fragments

Rational Rose can use one or more files to divide and store models. If a model has been divided into separate files, the files other than the main (.mdl) file are called subunits.

Similarly, Rational Software Architect can also use one or more files to divide and store models, but if a model has been divided into separate files, the files other than the main (.emx) file are called fragments.

Subunits in a Rational Rose model can be imported into Rational Software Architect as fragments. Breaking a model into subunits or fragments allows a project team to work on and develop a model in parallel.

Model closures

Rational Rose cannot define multiple models with cross-model references that can be opened simultaneously. It uses the concept of subunits to support multiple models.

A model can be further divided into subunits that can be stored and saved independently, but the base model will contain the references to it. These subunits can be loaded and unloaded independently. A Rational Rose model in which all subunits are resolved and loaded and all framework library models are resolved and loaded, as well, is called a closure. A model that fails to resolve and load subunits or the framework library that it references does not qualify as a closure. For error-free import, make sure that the full closure of the Rational Rose model is available.

Model organization

In Rational Software Architect, the imported model will have the same logical containment structure as the original Rational Rose model (based on the IBM® Rational Unified Process®, or RUP®, 4+1 Views). However, Rational Software Architect does not enforce that structure as Rational Rose does; therefore, you can refactor the model into a different structure after import if you prefer.

Similarly, Rational Rose cannot define multiple models containing cross-model references, but newer Rational software can. Rational Rose Model Importer provides options to convert subunits to models. After importing the model, you can also refactor the imported model into multiple models by using Rational Software Architect.

7 steps for migrating Rational Rose files to Rational Software Architect

Follow these steps to import Rational Rose UML models into Rational Software Architect.

Step 1. Launch the Rational Rose Model Importer wizard and set choices

  1. From the Rational Software Architect menu, select File > Import (see Figure 1) to launch the Import window in the Model Importer.
Figure 1. Open the Import menu
screen capture
  1. Click Other, and then select Rational Rose model, as Figure 2 shows.
Figure 2. Select the Rational Rose model option
screen capture
  1. Click Next to open the Rational Rose Model Import wizard, and the first page to open is Import a Rose Model, as shown below (see Figure 3).
  2. Select the source Rose model and destination model projects.
Figure 3. Import a Rose Model wizard page
screen capture
  1. The wizard will prompt you to provide input that will affect the behaviors and outcomes of the import process. Provide this input:
    • Model: Use the Browse button to select the Rose model (the .mdl file) that you want to import into other Rational software. Reminder: Be sure that you have validated the integrity of the model before proceeding with the import action.
    • Registry File: Specify a registry file to be used during the import process. Important: A value is required in this field only if you are not performing the import on the machine where Rational Rose is installed. When it is installed on the same machine, the Model Importer can directly read the location of installed Rose property files from the operating system (OS) registry. However, if Rational Rose is not installed on the same machine, the Model Importer must read a registry file that you specify here to locate any properties, custom property sets, and stereotypes used in the Rational Rose model that you are going to import. If Rational Rose is not installed on the same machine and no registry file is specified, no Rose properties or stereotypes will be imported.
    • Existing Project: Use this option if you want to import the Rose model into an existing modeling project in the Rational Software Architect workspace. Use the Browse button to select the existing Rational software modeling project.
    • New Project: Provide the new project name if you want to import the model into new modeling project. The new project will be created at the path specified in the Location field. You can select the path by using the Browse button. If the Use Default check box is checked, the location of new modeling project will be within the current workspace.
  2. Click Next. (The Next button will be enabled only when the source to be imported and the destination of the imported model are specified properly.)

Step 2. Resolve subunits and path maps

This next wizard page is titled Resolve Subunits and Path map symbols (see Figure 4). It lists of all the subunits that are referenced by the model that you are importing, as well as which subunits are resolved and which are not.

Important:
If there are no subunits in the Rational Rose UML model that you are importing, then the Next button will be automatically enabled. In that case, you can skip Options A and B, which follow, and proceed directly to Step 3.

Figure 4. Resolve subunits and path map symbols
screen capture

The example in Figure 4 shows that there are four subunits (.cat files) referenced by the Rose model (.mdl) file. The red X warning markers indicate that the corresponding subunit cannot be found at the specified path, which means that subunit is unresolved. When subunits are unresolved, you have two options:

  • Option A: Check the Ignore unresolved subunits check box.
    By doing this, you are asking the Rational Rose Model Importer to ignore the unresolved condition and not to import these subunits into the other Rational software. If you check this box, the Next button becomes enabled, as shown in Figure 5. The result of importing a model with unresolved references is that the model in the newer Rational software will also have unresolved semantic references and will not be a valid model. For example, relationships such as associations and dependencies may be unresolved. attributes and parameters may have type specifications that cannot be resolved, and so on.
Figure 5. Option checked to ignore unresolved subunits
screen capture
  • Option B:
    Specify a value for the Path Map Symbol that corresponds to an actual path map that will resolve to the location where the subunits are actually located. To do this, use the Browse button (which is labeled only with ellipses, or three dots) in each row of the Value column in the unresolved path map symbol table, and then click Refresh. By doing this, all the subunit locations will become resolved and the Next button will become enabled, as Figure 6 shows.
Figure 6. Path map symbols resolved
screen capture

Step 3. Specify how subunits should be converted

  1. After completing Step 2, if necessary, click Next to go to the Rational Rose Model Subunit Conversion page (Figure 7).

Note:
If there are no subunits in the UML model that you are importing, the Next button will be enabled automatically on the Subunit Conversion page. In that case, click Next again to proceed to Step 4: Specify how property sets should be migrated.

Figure 7. Rational Rose Model Subunit Conversion wizard
screen capture
  1. Configure how you want the subunits to be converted. In doing this, you are making a very important choice. Depending upon how you configure this page of the wizard, your Rational Rose model will be imported in one of two ways:
    1. If you select the box labeled Convert subunits to models or fragments, you have two more options:
      1. You can then select Convert all subunits to models. If you do this, each Rose subunit will be imported as a separate logical model in Rational Software Architect. You can then make a further choice:
        • By default, if you take no further action in the wizard, each Rational Rose subunit will become a fragment within a single Rational Software Architect logical model (.emx file) that corresponds to the source model (.mdl file).
        • Or, instead, you can specify within the wizard that some of the subunits will become fragments within the Rational Software Architect logical model that results from the .mdl source model file, while others become separate logical models.
    2. If you do not select the box labeled Convert subunits to models or fragments, then, by default, the entire Rational Rose model, including all of its subunits, will become a single nonfragmented logical model in Rational Software Architect. The effect is the same as if the Rational Rose model had absorbed all of the subunits before you imported it into Rational Software Architect. If you do select that box, the other control groups in that page of the wizard become enabled (Model creation options and Create models). These are advanced controls that are discussed in Part 2 of this series of articles.

Step 4. Specify how Rational Rose property sets should be migrated

  1. Click Next> to open the Map Property Sets wizard shown in Figure 8.
Figure 8. Map Property Sets wizard
screen capture
  1. If your Rational Rose model uses custom property sets and you want to import them, check the Import property sets as UML profiles option. Those properties are imported into newer Rational software as UML profiles. It is best to check this option because, otherwise, you will lose all such properties that were applied to the Rational Rose model. When you check this box you must provide the following input:
  • Property Sets Control: Select Only Used Property Sets option when you want to import the properties that are actually applied and used in the Rational Rose model. This option is provided because Rational Rose defined large property sets that are associated with its programming language round-trip engineering support, and most Rational Rose models do not use all of them. For example, in the example shown if Figure 8, the model being imported uses only Java properties. Therefore, only Java is listed in the Property Sets. If you select Both used and defined property sets, instead, it will show all properties defined by Rational Rose for all of the programming languages that it supports (Ada, C++, CORBA, and so forth).
  • Property Set Mapping Options: This panel provides the options for how to import the Rational Rose property sets. You must select one of the options. There are three options, as shown in Figure 8:
    • Ignore this property set: When this option is selected for a particular property set (as selected in the Property sets control) then that property set will not be imported.
    • Reference an existing profile: This option can selected when the same property set has already been imported into the workspace previously. (This would be the case if you have multiple Rational Rose models to import, and you have already finished importing one or more of them.) When this option is selected for a particular property set (as selected in the Property sets table) then that property set will not be imported, but the existing Rational Software Architect profile that was created from prior import of the property set will be applied to the Rational Rose model that is now being imported. If there are multiple versions of such a profile, then by default the latest profile available containing the same property set will be selected. You can use the Browse button to override this default and select a different profile version.
    • Convert it to a new profile: When this option is selected for a particular property set (as selected in the Property set table) then that property set will be imported as new profile with the specified name and location. If the same property set had been previously imported in connection with the import of another Rational Rose model, a new higher-numbered version of the profile will be created.
  • Restore Defaults button: With this button, you can restore the settings as they were when the Rational Rose Model Subunit Conversion wizard page first appeared.

Step 5. Specify how Rational Rose stereotypes should be migrated

  1. After you have completed the inputs on the Map Property Sets wizard page, click Next to go to the Map Stereotypes page shown in Figure 9.
Figure 9. Map Stereotypes wizard
screen capture

Rational Rose has a collection of built-in stereotypes that are defined in stereotype configuration files (.ini files). There is a stereotype configuration file that corresponds to each Rational Rose add-in, such as C++, Java, or CORBA, for example. These stereotype configuration files are imported into Rational Software Architect as UML profiles. If the Rose model being imported has elements with stereotypes applied from any of these stereotypes configurations, it is important that those stereotype configurations are imported into Rational Software Architect.

  1. If you want to import the stereotypes from Rational Rose, check the Import stereotypes as UML profiles option. It is best to check this option because, during the migration, you will lose the stereotypes applied to the model otherwise.
  2. If you choose that option, you must provide the following input on the Map Stereotypes page:
  • Stereotypes table: This table lists all of the stereotype configurations available in Rational Rose. You can select each stereotype configuration from the table, and then define the mapping options for each of them individually.
  • Stereotype configuration mapping options: This panel provides the options for how to import the Rational Rose stereotype configurations. By default, one of the options will be selected for each of the stereotype configurations. If the UML profile for that stereotype configuration is already available in the workspace, then the Reference an existing profile option will be selected. If the UML profile for that stereotype configuration is not available in the workspace, then the Convert it to a new profile option will be selected. There are three options:
    • Ignore this stereotype configuration: When this option is selected for a particular stereotype configuration from the listed stereotype configurations in the stereotypes table, that stereotype configuration will not be imported.
    • Reference an existing profile: This option can selected when the same stereotype configuration has already been imported into the Rational Software Architect workspace (this would be the case if you have multiple models to import, and you have already finished importing one or more of them). When this option is selected for a particular stereotype configuration, that stereotype configuration will not be imported. Instead, as the new Rational Software Architect model is being created, it will reference the corresponding stereotype configuration in the previously imported profile. If there are multiple versions of such a profile, then, by default, the latest profile available containing the same stereotype configuration will be selected. You can use the Browse button to override this default and select a different profile version
    • Convert it to a new profile: When this option is selected for a particular stereotype configuration from the listed stereotypes configuration in the stereotypes table, that stereotype configuration will be imported as part of a new profile with the specified name and under the specified location.

Step 6. Specify Semantic Mapping and Appearance preferences

  1. After you have completed the Map Stereotypes wizard, click Next to proceed to the Rational Rose Model Import Preferences page that Figure 10 shows.
Figure 10. Rational Rose Model Import Preferences wizard
screen capture
  1. This wizard lets you declare preferences for how the Rational Rose model will be the imported into Rational Software Architect. For example, you can adjust how Rose UML 1.4 properties will map to Rational software UML 2 properties. There are also several settings related to diagram appearance. Context-sensitive Help (F1 key) is available for each setting to explain its effects.

Step 7. Migrate your model

  1. After you have declared your preferences, click Finish.

The import of the Rational Rose model will start, and a progress bar will show you the status of the migration. After the import is finished, the new Rational Software Architect model (or models), possibly containing new projects and new profiles, will be created in the workspace, as shown in Figure 11.

  1. The new Rational Software Architect model will have the same logical containment structure (based on the RUP 4+1 Views) as the original Rose model. However, Rational Software Architect does not enforce that structure as Rose does, so you can refactor the model into a different structure if you prefer.
Figure 11. Rational Software Architect workspace with an imported Rational Rose model (RSDModel.mdl file)
screen capture

Troubleshooting

  • If the import fails and you get an out-of-memory error, increase the Rational Software Architect runtime memory. The runtime memory used is specified in the eclipse.ini file by using the -Xmx option
  • If the imports fail because of errors, then check the problem details in the Error Log window and address the problem indicated there.

About Part 2

This article covered how to use Rational Rose Model Importer efficiently for importing models into Rational Software Architect. Part 2 covers the advanced features of this tool and provides important tips.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=283989
ArticleTitle=How to use IBM Rational Rose Model Importer: Part 1. How to migrate UML models to Rational Software Architect
publish-date=01292008