Incremental migration of controlled units from Rational Rose RealTime to Rational Software Architect RealTime Edition

You can use an incremental approach to migrate specific sections of Rational Rose® RealTime models and shared packages into Rational® Software Architect RealTime Edition.

An incremental migration approach provides flexibility, because you can gradually move components of a large system to Rational Software Architect RealTime Edition while you continue to develop the components that are not ready to migrate in Rational Rose RealTime.

For example, this approach is helpful if different products depend on a common component, and one product is ready to migrate and the other is not. In this scenario, you cannot migrate the common component and it must remain as a shadow package, which is a type of controlled unit that is mastered in Rational Rose RealTime but is referenced by other models that were imported into Rational Software Architect RealTime Edition.

When you import a Rational Rose RealTime model with controlled units, you must decide how each controlled unit migrates. Rational Rose RealTime uses controlled units to store model content in a separate file; Rational Systems Developer Extension for RealTime has a similar mechanism known as fragments. In Rational Rose RealTime, you can share controlled units; however, in Rational Software Architect RealTime Edition, you can only share at the model level. This fact is important, because you might have to import certain controlled units as separate models to achieve the proper amount of granularity.

Two steps are important in incremental migration:
  1. You should migrate models that contain base, or common, components as shadow packages.
  2. After all work is complete in Rational Rose RealTime and all dependent models have been migrated, you can migrate all remaining shadow packages and the references will be replaced to the real migrated package. Element imports to the real package will be in the location where the shadow package was before the migration.
Shadow packages are very similar to owned fragments; however, they are read-only. When you import a shadow package, a RoseRTLink reference is created in the Project Explorer view that contains the Rational Rose RealTime as well as other shadow packages.
Note: If the Rational Rose RealTime model changes and you refresh the workspace, a warning is displayed that prompts you to reimport the model to retrieve the latest changes. You can manually synchronize the shadow package through the context menu.

After you complete all development for a Rational Rose RealTime controlled unit and you are ready to continue only in Rational Software Architect RealTime Edition, you must import the model that owns the controlled unit, which the shadow package represents. However, when you import the controlled unit, a warning message is displayed that indicates that a shadow package and a duplicate, real package exist in your model. When you migrate a shadow package, all references to the shadow package and it's contents are replaced by references to the real migrated package that the shadow package represents.

Incremental migration example

You currently work on two Rational Rose RealTime models: Model A, which owns and shares the controlled unit, and Model B, which only shares the controlled unit. Each model shares, or inherits, the same common component that resides inside a package, or controlled unit.

When you import Model A into Rational Software Architect RealTime Edition, the import wizard assumes that you want to import the unit as an owned fragment because Model A owned the package in Rational Rose RealTime. Instead of importing the controlled unit as an owned fragment, you can import the controlled unit as a separate model that you can reference, or as an absorbed element that merges the original controlled unit content into the imported model, which eliminates the need for the fragment file.

In this example, model A and B share a common package that they both inherit from a specific capsule. When you import Model B into the same workspace that you used to import Model A, the import wizard detects that the controlled unit was imported already, and that another model owns it. Therefore, the import wizard suggests that the controlled unit imports as a shortcut. Because Model B only shared the controlled unit in Rational Rose RealTime, the controlled unit imports as a shortcut, or a cross-model reference, to the actual controlled unit in Model A.


Feedback