UML-Modelling
UML-Modelling
The Object Management Group (OMG) has developed a metamodeling architecture to define the
UML, called the Meta-Object F acility (MOF. ).
MOF is designed as a four-layered architecture, as shown in the image at right. It provides a
meta-meta model at the top, called the M3 layer. This M3-model is the language used by Meta-
Object F acility to build metamodels, called M2-models.
The most prominent example of a Layer 2 Meta-Object F acility model is the UML metamodel,
which describes the UML itself. These M2-models describe elements of the M1-layer, and thus
M1-models. These would be, for example, models written in UML. The last layer is the M0-layer
or data layer. It is used to describe runtime instances of the system.
The meta-model can be extended using a mechanism called stereotyping. This has been criticized
as being insufficient/untenable by Brian H enderson-Sellers and Cesar Gonzalez-Perez in “ Uses
and Abuses of the Stereotype Mechanism in UML 1.x and 2.0".