Der Begriff Meta Object Facility (MOF) wurde von der Object Management Group (OMG) eingeführt und beschreibt eine spezielle Metadaten-Architektur. Kernbestandteil ist ein Meta-Meta-Modell. Des Weiteren enthalten die MOF-Spezifikation und assoziierte Standards Wege zur Modellverarbeitung, gewissermaßen einen Werkzeugkasten. Vor allem zu nennen ist das XMI-Format (XML Metadata Interchange) für den Austausch von Metadaten.
MOF überbrückt die Lücke zwischen unterschiedlichen Metamodellen, indem eine allgemeine Grundlage für Metamodelle geschaffen wird. Wenn zwei verschiedene Metamodelle MOF-konform sind, dann können Modelle, die auf ihnen basieren, im gleichen Modelldepot (Repository) ansässig sein. Dies erlaubt dann auch die gemeinsame Verarbeitung, etwa durch Modelltransformation.
Ebenen Laut Spezifikation benötigt MOF mindestens zwei Ebenen, um von Klassifikation zu Instanz und zurück navigieren zu können. Obergrenzen gibt es keine.
Beispiele für eine verschiedene Anzahl der Ebenen sind: zwei Ebenen generische, reflexive Systeme (Class - Object) drei Ebenen relationale Datenbanksysteme (SysTable - Table - Row) vier Ebenen UML 2 Infrastruktur oder MOF 1.4 Spezifikation (MOF - UML - User Model - User Object)
mini|400px|Hierarchie der Metamodellierung Die Einstufung von Daten in vier Meta-Ebenen: M0-Ebene Konkret. Ausgeprägte Daten. M1-Ebene Modelle, zum Beispiel physikalische oder logische Daten- oder Prozessmodelle oder konkrete Ausprägungen von UML- bzw. Objekt-Modellen, welche die Daten der M0-Ebene definieren. M2-Ebene Meta-Modelle, definieren, wie die Modelle aufgebaut und strukturiert sind. Zum Beispiel definieren Sprachelemente wie Klassen, Assoziationen und Attribute der UML 2.0, wie konkrete UML-Modelle aufgebaut sein können. M3-Ebene Meta-Meta-Modelle (bzw. MOF-Ebene). Abstrakte Ebene, die zur Definition der M2-Ebene herangezogen wird. Die Definition der M3-Ebene erfolgt mit den Mitteln der M3-Ebene selbst, dies stellt den Abschluss einer sonst unendlichen Metaisierung dar.mini|300px|none|Das Diagramm zeigt eine vereinfachte Sicht auf die M3-Ebene nach MOF.
Verwandte Standards Weitere OMG-Standards mit engem Bezug zur MOF sind unter anderem: MOF QVT – eine Transformationssprache MOF Versioning MOF Model to Text Transformation Language Java Metadata Interface zum programmatischen Zugriff auf Modelldepots in Java MOF to IDL Mapping – Abbildung auf CORBA IDL zum programmatischen Zugriff auf Modelldepots in beliebigen Sprachen und verteilten Systemen
EMOF (Essential MOF) ist eine Untermenge von MOF 2.0. Sie dient dazu, einfache Metamodelle auf einfache Weise – d. h. ohne die gesamte MOF verstehen zu müssen – erstellen zu können. EMOF ist auch weitestgehend kompatibel zum verbreiteten Metamodell Ecore, das im Eclipse Modeling Framework eingesetzt wird. CMOF (Complete MOF) umfasst dagegen den ganzen Sprachumfang.
Einzelnachweise
Weblinks
Spezifikation und Einordnung der MOF bei OMG Paper zu Metamodellierungsplattformen, DEXA 2002 (PDF; 153 kB) M3Actions: Erweiterung von MOF um operationale Ausführungssemantik von Modellen
Kategorie:Datenformat Kategorie:Object Management Group