Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Meta-Object Facility

From Wikipedia, the free encyclopedia
Standard of Object Management Group
Illustration of the Meta-Object Facility.

TheMeta-Object Facility (MOF) is anObject Management Group (OMG) standard formodel-driven engineering. Its purpose is to provide atype system for entities in theCORBA architecture and a set of interfaces through which those types can be created and manipulated.MOF may be used fordomain-driven software design andobject-oriented modelling.[1]: 15 

Overview

[edit]

MOF was developed to provide atype system for use in theCORBA 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 definingCORBA 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 theXMI (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 byJava Community Process.[1]: xi 

It also provides specs to make easier automatic CORBA IDL interfaces generation.[1]: 3 

Metamodeling architecture

[edit]

MOF is aclosed metamodeling architecture; it defines an M3-model, which conforms to itself. MOF allows astrict 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, orabstract syntax of a language or of data. For defining metamodels, MOF plays exactly the role thatEBNF plays for defining programming language grammars. MOF is aDomain 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 ofMOF::Classes (not to be confused withUML::Classes), as known fromobject orientation, to define concepts (model elements) on a metalayer. MOF may be used to define object-oriented metamodels (asUML for example) as well as non object-oriented metamodels (e.g. aPetri net or aWeb Service metamodel).

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

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

In June 2006, arequest for proposal was issued by OMG for a third variant, SMOF (Semantic MOF).

The variantECore that has been defined in theEclipse Modeling Framework is more or less aligned on OMG's EMOF.

Another related standard isOCL, which describes a formal language that can be used to define model constraints in terms ofpredicate logic.

QVT, which introduces means to query, view and transform MOF-based models, is a very important standard, approved in 2008. SeeModel 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 writemetamodels, for example in order to model the abstract syntax ofDomain 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 theDistributed 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. ^abcdef"OMG Meta-Object Facility (MOF) Core Specification, Version 2.4.1".Object Management Group. p. 1. Retrieved17 February 2014.
  2. ^"Common Facilities RFP-5: Meta-Object Facility"(PDF). Object Management Group. 2 May 1996. Retrieved14 January 2014.
  3. ^Common Interface Model (CIM) Interface Structure, version 2.5.0
This articleneeds additional citations forverification. Please helpimprove this article byadding 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 message)

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]
Wikimedia Commons has media related toMeta-Object Facility.
1–9999
10000–19999
20000–29999
30000+
Retrieved from "https://en.wikipedia.org/w/index.php?title=Meta-Object_Facility&oldid=1278657672"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp