- Meta Object Facility
-
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
Die MOF stuft 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.
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
- JMI – 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.
Weblinks
Wikimedia Foundation.