- Tech know how online

meta object facility (MDA) (MOF)

Meta Object Facility(MOF) is a specification of the Object Management Group(OMG) - an industry consortium for the standardization of vendor- as well as platform-independent specifications to optimize the interoperability and portability ofsoftware systems. Besides MOF, Model Driven Architecture( MDA), CORBA, UML or XMI are well-known results of OMG activities.

MOF specifies an abstract language for describing the abstract syntax of further modeling languages.

MOF is closely related to the OMG metamodeling approach, which specifies 4 levels [M3, M2, M1, M0] for metamodeling - as shown in the figure. In the context of Model Driven Architecture (MDA), MOF enables a metamodel-oriented approach to transform models. MOF differentiates between Complete-MOF (CMOF) and Essential-MOF (EMOF). In this context, CMOF forms the complete basis for a complete MOF model. Their complex language constructs for metamodels such as associations, PackageMerge as well as PackageImport are the basis of the metamodels of all OMG modeling.

OMG 4-level architecture

OMG 4-level architecture

EMOF, on the other hand, is an essential core of the MOF model with a limited number of model elements for declaring simple metamodels. EMOF essentially conforms to the specification of the Eclipse Modeling Framework( EMF) - a tool for modeling and code generation. Due to its complexity, EMF does not implement MOF but EMOF. MOF metamodels are independent of specific informationformatting technologies such as XML Schema or XML DTD, as well as specific programming languages. The full specification of MOF is available at the links below.

Meta Object Facility as meta model for different modeling languages

Meta Object Facility (MOF) is a specification of the OMG and specifies a common so-called metamodel for all OMG modeling languages. First approaches of the MOF arose already in 1997. MOF is among other things a central core of the framework of the Model Driven Architecture (MDA) specified likewise by the OMG, since thereby the conditions for the definition and extension of the languages used within MDA are given in particular regarding the automated metamodel-oriented transformation. The most important MOF-compliant modeling languages of the OMG are the Unified Modeling Language (UML) and the Common Warehouse Metamodel (CWM). While the UML with its various diagram types such as class diagrams, activity diagrams, etc. is actually a summary of modeling languages, the CWM is used to describe data structures and as a reference model fordata warehousemetadata.

MOF is modular and its model elements are grouped into packages, so that mechanisms such as PackageImport and PackageMerge are also realized. Like the UML metamodel, the MOF model is based on a class-based language core, which supports the reuse of a common core of language constructs. The most important classes are

  • Class, Association, Exception,
  • Attribute, Constant as well as Constraint

Furthermore, additional functionalities for elements of the MOF model are provided under the name MOF Capabilities, which are explained below:

Reflection Extends the MOF model with mechanisms for self-description. This involves providing information about the model element via its metamodel element, for example, through getMetaClass(). This function is similar to the possibilities of reflective programming languages such as Java's getClass().

Identifiers A unique identifier is assigned to each model element. The possibility is comparable with the identity of objects in Java. The mechanism is used for tracing an object after several transformations.

Extension Serves the information enrichment of elements by annotations in the form of so-called tags. A tag associates an identifier with a value.

MOF metamodeling is very similar to UML class modeling. Thus, UML tools can be used to create MOF metamodels. However, restrictions and special rules must be observed.

So-called MOF mappings make the models of the OMG 4- level architecture (Mx models) accessible via different interfaces or notations.

MOF mappings

MOF mappings

As the figure shows, various mappings to MOF already exist, such as MOF2CORBA, MOF2XML (XMI) as well as MOF2JAVA (JMI). The transformation code can read and interpret Mx+1 level models to understand the Mx model input. The transformation code can use the MOF reflective interface to understand the Mx input models.

Englisch: meta object facility (MDA) - MOF
Updated at: 29.10.2013
#Words: 659
Links: object management group (OMG), platform, interoperability (IOP), portability, monochrome display adapter (MDA)
Translations: DE

All rights reserved DATACOM Buchverlag GmbH © 2023