Previous | UML Classes | Table of Contents | UML Packages | Next |
The stratification of language units is used as the foundation for defining compliance in UML. Namely, the set of modeling
concepts of UML is partitioned into horizontal layers of increasing capability called compliance levels. Compliance levels
cut across the various language units, although some language units are only present in the upper levels. As their name suggests,
each compliance level is a distinct compliance point.
For ease of model interchange, there are just four compliance levels defined for the whole of UML:
• Level 0 (L0). This compliance level is formally defined in the UML Infrastructure. It contains a single language unit that provides for modeling the kinds of class-based structures encountered in most popular object-oriented programming languages. As such, it provides an entry-level modeling capability. More importantly, it represents a low-cost common denominator that can serve as a basis for interoperability between different categories of modeling tools.
• Level 1 (L1). This level adds new language units and extends the capabilities provided by Level 0. Specifically, it adds language units for use cases, interactions, structures, actions, and activities.
• Level 2 (L2). This level extends the language units already provided in Level 1and adds language units for deployment, state machine modeling, and profiles.
• Level 3 (L3). This level represents the complete UML. It extends the language units provided by Level 2 and adds new language units for modeling information flows, templates, and model packaging.
The contents of language units are defined by corresponding top-tier packages of the UML metamodel, while the contents of
their various increments are defined by second-tier packages within language unit packages. Therefore, the contents of a compliance
level are defined by the set of metamodel packages that belong to that level.
As noted, compliance levels build on supporting compliance levels. The principal mechanism used in this specification for
achieving this is package merge (see PackageMerge (from Kernel ) on page 113). Package merge allows modeling concepts defined
at one level to be extended with new features. Most importantly, this is achieved in the context of the same namespace,
which enables interchange of models at different levels of compliance as described in
Meaning and Types of Compliance
on
page 5.
Issue 9182 - clarify that UMLis a model package; also replace ‘UML’ with ‘L0’
For this reason, all compliance levels are ultimately merged into a single core UML model package that defines the common
namespace shared by all the compliance levels. Level 0 is defined by the top-level metamodel shown in Figure 2.1. In this
model, L0 is originally an empty package that simply merges in the contents of the Basic package from the UML Infrastructure.
This package is then merged into the UML model. Package L0 contains elementary concepts such as Class, Package, DataType ,
Operation, etc. merged in from Basic and Primitive Types (see the UML 2.0 Infrastructure specification for the complete list
of contents of these two packages).
Issue 9180 - replace with new L0 diagram
Issue 9182 -remove reference to UML package
At the next level (Level 1), the packages merged into Level 0 and their contents, are extended with additional packages as
shown in Figure 2.2 on page 3. Note that each of the four packages shown in the figure merges in additional packages that
are not shown in the diagram. They are defined in the corresponding package diagrams in this specification. Consequently,
the set of language units that results from this model is more than is indicated by the top-level model in the diagram. The
specific packages included at this level are listed in Table 2.3 on page 7.
Issue 9182 - replace with new L1 diagram
Issue 9182 -remove reference to UML package
Level 2 adds further language units and extensions to those provided by the Level 1. The actual language units and packages
included at this level of compliance are listed in Table 2.4 on page 8.
Issue 9182 - replace with new L2 diagram
Finally, Level3, incorporating the full UML definition, is shown in Figure 2.4 on page 5. Its contents are described in Table
2.5 on page 8.
Issue 9182 - replace with new L3 diagram