fbpx
Wikipedia

Meta-Object Facility

The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be created and manipulated. MOF may be used for domain-driven software design and object-oriented modelling.[1]: 15 

Illustration of the Meta-Object Facility.

Overview edit

MOF was developed to provide a type system for use in the CORBA architecture, a set of schemas by which the structure, meaning and behaviour of objects could be defined, and a set of CORBA interfaces through which these schemas could be created, stored and manipulated.[2]

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 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.

File formats edit

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 edit

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 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, just as 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 (e.g. a Petri net or a Web Service metamodel).

As of May 2006, the OMG has defined two compliance points for MOF:

  • EMOF for Essential MOF[1]
  • CMOF for Complete MOF[1]

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 OCL, which describes a formal language that can be used to define model constraints in terms of predicate logic.

QVT, which introduces means to query, view and transform MOF-based models, is a very important standard, approved in 2008. See Model Transformation Language for further information.

International standard edit

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 metamodels, for example in order to model the abstract syntax of Domain Specific Languages. Kermeta is an extension to MOF allowing executable actions to be attached to EMOF meta-models, hence making it possible to also model a DSL operational semantics and readily obtain an interpreter for it.

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 edit

References edit

  1. ^ 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.
  2. ^ "Common Facilities RFP-5: Meta-Object Facility" (PDF). Object Management Group. 2 May 1996. Retrieved 14 January 2014.
  3. ^ Common Interface Model (CIM) Interface Structure, version 2.5.0

Further reading edit

  • 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

External links edit

  • OMG's MetaObject Facility

meta, object, facility, object, management, group, standard, model, driven, engineering, purpose, provide, type, system, entities, corba, architecture, interfaces, through, which, those, types, created, manipulated, used, domain, driven, software, design, obje. The Meta Object Facility MOF is an Object Management Group OMG standard for model driven engineering Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be created and manipulated MOF may be used for domain driven software design and object oriented modelling 1 15 Illustration of the Meta Object Facility Contents 1 Overview 1 1 File formats 2 Metamodeling architecture 3 International standard 4 See also 5 References 6 Further reading 7 External linksOverview editMOF was developed to provide a type system for use in the CORBA architecture a set of schemas by which the structure meaning and behaviour of objects could be defined and a set of CORBA interfaces through which these schemas could be created stored and manipulated 2 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 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 File formats edit 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 editMOF 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 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 just as 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 e g a Petri net or a Web Service metamodel As of May 2006 the OMG has defined two compliance points for MOF EMOF for Essential MOF 1 CMOF for Complete MOF 1 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 OCL which describes a formal language that can be used to define model constraints in terms of predicate logic QVT which introduces means to query view and transform MOF based models is a very important standard approved in 2008 See Model Transformation Language for further information International standard editMOF 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 metamodels for example in order to model the abstract syntax of Domain Specific Languages Kermeta is an extension to MOF allowing executable actions to be attached to EMOF meta models hence making it possible to also model a DSL operational semantics and readily obtain an interpreter for it 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 editCommon Warehouse Metamodel Domain specific language Kermeta KM3 Metamodeling Metadata Model driven architecture OGML Platform independent model Platform specific model QVT SPEM XML Metadata InterchangeReferences edit 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 Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Meta Object Facility news newspapers books scholar JSTOR February 2009 Learn how and when to remove this template message Further reading editOfficial 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 SMOFExternal links edit nbsp Wikimedia Commons has media related to Meta Object Facility OMG s MetaObject Facility Retrieved from https en wikipedia org w index php title Meta Object Facility amp oldid 1183363268, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.