Meta-Object Facility
The Meta-Object Facility (MOF) is an
Overview
MOF was developed to provide a
MOF is designed as a four-layered architecture. It provides a meta-meta model at the top layer, called 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 real-world objects.
Beyond the M3-model, MOF describes the means to create and manipulate models and metamodels by defining
File formats
A conversion from MOF specification models (M3-, M2-, or M1-Layer) to W3C XML and XSD are specified by the XMI (ISO/IEC 19503) specification. XMI is an XML-based exchange format for models.[1]: xi
From MOF to Java™ there is the Java Metadata Interchange (JMI) specification by Java Community Process.[1]: xi
It also provides specs to make easier automatic CORBA IDL interfaces generation.[1]: 3
Metamodeling architecture
MOF is a closed metamodeling architecture; it defines an M3-model, which conforms to itself. MOF allows a strict meta-modeling 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
In short, MOF uses the notion of MOF::Classes (not to be confused with UML::Classes), as known from
As of May 2006, the OMG has defined two compliance points for MOF:
In June 2006, a request for proposal was issued by OMG for a third variant, SMOF (Semantic 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
International standard
MOF is an international standard:
- MOF 2.4.2
- ISO/IEC 19508:2014 Information technology — Object Management Group Meta Object Facility (MOF) Core
- MOF 1.4
- ISO/IEC 19502:2005 Information technology — Meta Object Facility (MOF)
MOF can be viewed as a standard to write
JMI defines a Java API for manipulating MOF models.
OMG's MOF is not to be confused with the Managed Object Format (MOF) defined by the Distributed Management Task Force (DMTF) in section 6 of the Common Information Model (CIM) Infrastructure Specification, version 2.5.0.[3]
See also
- Common Warehouse Metamodel
- Domain-specific language
- Kermeta
- KM3
- Metamodeling
- Metadata
- Model-driven architecture
- OGML
- Platform-independent model
- Platform-specific model
- QVT
- SPEM
- XML Metadata Interchange
References
- ^ a b c d e f "OMG Meta-Object Facility (MOF) Core Specification, Version 2.4.1". Object Management Group. p. 1. Retrieved 17 February 2014.
- ^ "Common Facilities RFP-5: Meta-Object Facility" (PDF). Object Management Group. 2 May 1996. Retrieved 14 January 2014.
- ^ Common Interface Model (CIM) Interface Structure, version 2.5.0
This article needs additional citations for verification. (February 2009) |
Further reading
- Official MOF specification from OMG
- Ralph Sobek, MOF Specifications Documents
- Johannes Ernst, What is metamodeling?
- Woody Pidcock, What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model?
- Anna Gerber and Kerry Raymond, MOF to EMF and Back Again.
- Weaving Executability into Object-Oriented Meta-Languages
- MOF Support for Semantic Structures RFP Request For Proposal on SMOF