“The UML authors of both 1.4 and 2.0 endeavored to uphold the four-layer meta-model (M0–M3) architecture, an approach that supports the distribution of concepts across many levels of abstraction. The layering supports the specification of concepts for different purposes such as object modeling (UML) and data modeling (CWM), customization for different domains, and ultimately for different implementations.
In the UML 1.4 architecture:
- The MOF provides the foundation for the UML
- The UML defines a Foundation package as well as the Behavioral and Model Management features. Together these packages define all of the essential features needed to create the modeling elements used to build UML diagrams.
In the UML 2.0 architecture:
- The new architecture defines an Infrastructure and a Superstructure
- The Infrustructure redefines the highest level of the architecture used to create the MOF and all other MDA components.
- The Superstructure is the UML portion of the architecture. The Superstructure derives all of its components from both the Infrastructure and the MOF.
- The Superstructure is organized according to the three types of diagrams defined by UML, that is structural (Class, Object, and so on), behavioral (Sequence, Timing, State Machine, and the like), and supplemental (information flows, profiles, and templates).
Diagram changes from 1.4 to 2.0:
- 2.0 replaced the Collaboration diagram with a more limited Communication diagram.
- 2.0 added two new interaction diagrams: the Interaction Overview diagram and the Timing diagram.
- 2.0 added the Protocol State Machine.
- 2.0 added the Composite Structure diagram
- 2.0 isolated the Activity diagram with its own semantics separate from the State Machine.”