Meta-Object Facility

Meta-Object Facility
Иллюстрация MetaObject Facility

Meta-Object Facility (MOF) стандарт Object Management Group (OMG) для model-driven engineering — методологии разработки, основанной на моделях. Официальное описание стандарта может быть найдено на сейте OMG.[1]

Содержание

Обзор

MOF появился в результате работы над Unified Modeling Language (UML). OMG нуждалась в архитектуре метаданных для описания UML. Архитектура MOF содержит 4 уровня. На верхнем уровне M3 предоставляется мета-модель. M3-модель является языком, используемым MOF для построения мета-моделей уровня M2, называемыми M2-моделями. Наиболее ярким примером уровня M2 модели MOF является UML мета-модель, которая описывает сам UML. M2-модели описывают элементы слоя M1, и, таким образом сами M1-модели. Это могут быть, например, модели описанные с использованием UML. Последний слой M0 или слой данных используется для описания объектов реального мира.

Поверх M3-модели, MOF описывает средства для создания и редактирования модели и метамодели, определяя CORBA интерфейсы, которые описывают эти операции. Из-за сходства между MOF M3-моделями и моделями UML, MOF метамодели, как правило, моделируются в виде диаграмм UML классов. Поддерживаемый MOF стандарт XMI определяет XML-формат обмена моделями на M3-M2-или М1-уровне.

Архитектура метамоделирования

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

As of May 2006, the OMG has defined two variants of 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.

A very important new standard is QVT which introduces means to query, view and transform MOF-based models (cf. the sections on Model Transformation Languages for further information).

Международный стандарт

MOF is an international standard:

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.[2]

См. также

  • Common Warehouse Metamodel
  • Domain-specific language
  • KM3
  • Kermeta
  • Meta-Modeling
  • Metadata
  • Model-driven architecture
  • OGML
  • QVT
  • Platform-independent model
  • Platform-specific model
  • SPEM
  • XML Metadata Interchange

Справка

Дополнительные материалы

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Meta-Object Facility" в других словарях:

  • Meta-object facility — Le Meta Object Facility (MOF) est un standard de l OMG s intéressant à la représentation des métamodèles et leur manipulation. Le langage MOF s auto définit. Le standard MOF est situé au sommet d une architecture de modélisation en 4 couches: M3 …   Wikipédia en Français

  • Meta-Object Facility — Illustration of the Meta Object Facility. The Meta Object Facility (MOF) is an Object Management Group (OMG) standard for model driven engineering. The official reference page may be found at OMG s website.[1] Contents …   Wikipedia

  • Meta Object Facility — Der Begriff Meta Object Facility (MOF) wurde von der Object Management Group (OMG) eingeführt und beschreibt eine spezielle Metadaten Architektur. Kernbestandteil ist ein Meta Meta Modell. Des Weiteren enthalten die MOF Spezifikation und… …   Deutsch Wikipedia

  • Meta-Object Facility — Der Begriff Meta Object Facility (MOF) wurde von der Object Management Group (OMG) eingeführt und beschreibt eine spezielle Metadaten Architektur. Des Weiteren enthält die MOF Spezifikation das XMI Format (XML Metadata Interchange) für den… …   Deutsch Wikipedia

  • Meta-Object Facility — Le Meta Object Facility (MOF) est un standard de l OMG s intéressant à la représentation des métamodèles et leur manipulation. Le langage MOF s auto définit. Le standard MOF est situé au sommet d une architecture de modélisation en quatre… …   Wikipédia en Français

  • Object Management Group — Formation 1989 Headquarters Needham, Massachusetts Website …   Wikipedia

  • Object-oriented analysis and design — (OOAD) is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state (data elements), and its… …   Wikipedia

  • Object Constraint Language — The Object Constraint Language (OCL) is a declarative language for describing rules that apply to Unified Modeling Language (UML) models developed at IBM and now part of the UML standard. Initially, OCL was only a formal specification language… …   Wikipedia

  • Meta-process modeling — Abstraction level for processes.[1] Meta process modeling is a type of metamodeling used in software engineering and systems engineering for the analysis and construction of models applicable and useful to some predefined problems. Meta process… …   Wikipedia

  • Object Management Group — Die Object Management Group (OMG) ist ein 1989 gegründetes Konsortium, das sich mit der Entwicklung von Standards für die herstellerunabhängige systemübergreifende Objektorientierte Programmierung beschäftigt. Der OMG gehörten zur Gründung elf… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»