Subunits and fragments

In the IBM® Rational® UML modeling products, you use fragments to logically divide models into multiple levels and sections. In Rational Rose®, you use a similar concept called subunits to refine and break up a model. When you import Rose models, you can import subunits independent models, fragments, or packages.

In order to share parts of a model with multiple users, or to simply reduce the size of a single model, you can break up a model into individual chunks, commonly referred to as fragments. Fragments help you manage a model by using smaller, more manageable sections. Fragments also offer performance benefits because they are only loaded on demand when their content is needed; this is particularly helpful when loading large models. It is very common for software development teams to work in parallel by sharing out and controlling fragments in a configuration management system such as IBM Rational ClearCase®.

When you import a Rose model that references subunits, you have several options to consider: You can choose to have subunits such as packages (CAT) and component packages (SUB) import as separate models, or you can choose to have all subunit content import as fragments inside the imported model. You can also take a mixed approach by importing some subunits as models, some as root packages and other subunits as fragments. During the Rational Rose model import process, mapping subunits to models, fragments and packages is helpful when you have several Rose models that refer to and share common subunits. When you create independent models or root packages from subunit files, on subsequent import sessions you can map Rose subunit files to existing model files that were originally Rose subunits.

For example, when you create a fragment from a package in an existing model, its contents are moved from the model file and stored in the new file (a EFX file). The new file contains the following information:

The original file no longer holds the contents of the package. Instead, the original model file only references the fragment.