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.
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.
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.