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

Laut Spezifikation benötigt MOF mindestens zwei Ebenen, um von Klassifikation zu Instanz und zurück navigieren zu können. Obergrenzen gibt es keine.[1]

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)
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.
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
  • JMIJava 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

  1. Meta Object Facility Core (PDF) Object Management Group (OMG). S. 16f. 3. April 2014. Abgerufen am 22. September 2014.

Weblinks

Commons: Meta Object Facility – Sammlung von Bildern, Videos und Audiodateien

Auf dieser Seite verwendete Medien

M0-m3.png
Hierarchie der Metamodellierung