The Meta-Object Facility (MOF), is an Object Management Group (OMG) standard for Model Driven Engineering. The official reference page may be found at OMG's MetaObject Facility.MOF originated in the Unified Modeling Language (UML); the OMG was in need of a Metamodeling architecture to define the UML. MOF is designed as a four-layered architecture. It provides a meta-meta model at the top layer, aka the M3 layer. This M3-model is the language used by MOF to build metamodels, called M2-models. The most prominent example of a Layer 2 MOF model is the UML metamodel, the model that describes the UML itself. These M2-models describe elements of the M1-layer, and thus M1-models. These would be, for example, models written in UML. The last layer is the M0-layer or data layer. It is used to describe the real-world.
Beyond the M3-model, MOF describes the means to create and manipulate models and metamodels by defining CORBA interfaces that describe those operations. Because of the similarities between the MOF M3-model and UML structure models, MOF metamodels are usually modeled as UML class diagrams. A supporting standard of MOF is XMI, which defines an XML-based exchange format for models on the M3-, M2-, or M1-Layer.
MOF is a closed metamodeling architecture; it defines an M3-model, which conforms to itself. MOF allows a strict meta-modelling architecture; every model element on every layer is strictly in correspondence with a model element of the layer above. MOF only provides a means to define the structure, or abstract syntax of a language or of data. For defining metamodels, MOF plays exactly the role that EBNF plays for defining programming language grammars. MOF is a Domain Specific Language (DSL) used to define metamodels like EBNF is a DSL for defining grammars. Similarly to EBNF, MOF could be defined in MOF.
In short MOF uses the notion of MOF::Classes (not to be confused with UML::Classes), as known from object orientation, to define concepts (model elements) on a metalayer. MOF may be used to define object-oriented metamodels (as UML for example) as well as non object-oriented metamodels (as a Petri net or a Web Service metamodel).
Due to the fact that an element on the M2 layer may be considered in some cases as an "object" (some kind of "instance" of an M3 model element ) as well as a "class" (it is an M2 layer concept) the notion of a clabject has been proposed by Colin Atkinson and Thomas Kuhne to explain this situation. (This notation of clabjects has not been endorsed by OMG nor by other organizations outside the proposer's ones, but has been adopted (together with the concept of powertype) by the ISO/IEC 24744 ongoing standard project). Clabject is a contraction of Class and Object.
Presently (May 2006), the OMG has defined three variants of MOF:
The variant ECore that has been defined in the Eclipse Modeling Framework is more or less aligned on OMG's EMOF.
Another related standard is OCL, which describes a formal language that can be used to define model constraints in terms of predicate logic.
A very important new standard is QVT. This allows to transform any MOF-based model into another MOF-based model. Furthermore, the transformation program itself is considered as another MOF-based model. Current examples of Model Transformation Languages (MTLs) are VIATRA, GReAT, AndroMDA, or ATL.
MOF is now an international standard:
MOF can be viewed as a standard to write metamodels, for example in order to model the abstract syntax of Domain Specific Languages.
| * | Ralph Sobek,MOF Specifications Documents http://www.irit.fr/~Ralph.Sobek/neptune/mof_2_0.shtml |
| * | Jean Bezivin. On the Unification Power of Models. Software and System Modeling (SoSym) 4(2):171--188. http://www.sciences.univ-nantes.fr/lina/atl/www/papers/OnTheUnificationPowerOfModels.pdf |
| * | Johannes Ernst. What is meta-modeling? http://www.metamodel.com/staticpages/index.php?page=20021010231056977 . 11.10.2002 |
| * | Johannes Ernst. What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model? http://www.metamodel.com/article.php?story=20030115211223271 . 10.10.2002 |
| * | Anna Gerber and Kerry Raymond MOF to EMF and Back Again http://www.dstc.edu.au/Research/Projects/Pegamento/publications/MOF-to-EMF-There-and-Back-Again.pdf |
Software engineering | Specification languages | Data modeling | Unified Modeling Language | ISO standards
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Meta-Object Facility".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world