ArticleslgStudy

science

Meta-Object Facility

Meta-Object Facility is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Meta-Object Facility rather than just read about it. In short: 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.

Meta-Object Facility — main illustration
Meta-Object Facility — illustration

Key takeaways

  • Meta-Object Facility belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Meta-Object Facility to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Meta-Object Facility from memory before moving on to harder problems.

Reference excerpt

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.

Overview 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. 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 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. From MOF to Java there is the Java Metadata Interchange (JMI) specification by Java Community Process. It also provides specs to make easier automatic CORBA IDL interfaces generation.

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 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 CMOF for Complete 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 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 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.

See also

References

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

External links

OMG's MetaObject Facility

Illustrations

Meta-Object Facility: Illustration of the Meta-Object Facility.
Illustration of the Meta-Object Facility.

Worked examples

Example 1 — a first encounter with Meta-Object Facility

Start with the simplest possible case. Write down what Meta-Object Facility claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Meta-Object Facility before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Meta-Object Facility ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Meta-Object Facility

In research
Meta-Object Facility appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Meta-Object Facility in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Meta-Object Facility is common in secondary-school and first-year university syllabi. It links to neighbouring topics Data modeling, ISO standards, Specification languages, so understanding it makes those chapters shorter.
In everyday life
Look for Meta-Object Facility outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Meta-Object Facility in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Meta-Object Facility means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Meta-Object Facility out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Meta-Object Facility in simple terms?

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.

Why does Meta-Object Facility matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Meta-Object Facility?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Meta-Object Facility.

Tags

  • Data modeling
  • ISO standards
  • Specification languages
  • Unified Modeling Language

Keep exploring