UML kann sich mit seinen eigenen Sprachbestandteilen selbst beschreiben. Der MOF-Standard - geschaffen von der Object Management Group (OMG) - beschreibt UML 2 in vier Schichten
M3: MOF (Klasse)
M2: UML (Generalisierung, Klasse, Attribut)
M1: Benutzermodell
M0: Laufzeitinstanzen