The Unified Modeling Language (UML) Specification

The Object Management Group (OMG)

The Specification

 

Meta-Models

A model is an instance of a meta-model.

A meta-model is a model.

This naturally leads to a hierarchy of meta-meta-models (meta2-models), meta3-models, etc.

Example

The UML specification employs four levels of meta-models: M0, M1, M2, and M3.

An object diagram can be viewed as a level 0 model (M0) that instantiates a class diagram.

A class diagram can be viewed as a level 1 meta-model (M1) that instantiates a level 2 meta2-model.

The level 2 meta2 model (M2) is the UML specification. M2 instantiates OMG's Meta-Object Facility (MOF), which is a level 3 meta3-model (M3).