Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Иллюстрация метаобъектного объекта.

Facility Meta-Object ( MOF ) представляет собой стандарт Object Management Group (OMG) стандарт на основе моделей техники . Его цель - предоставить систему типов для сущностей в архитектуре CORBA и набор интерфейсов, с помощью которых можно создавать эти типы и управлять ими. Официальную справочную страницу можно найти на веб-сайте OMG. [1]

Обзор [ править ]

MOF был разработан, чтобы предоставить систему типов для использования в архитектуре CORBA , набор схем, с помощью которых можно было определять структуру, значение и поведение объектов, и набор интерфейсов CORBA, с помощью которых эти схемы можно было создавать, хранить и управлять ими. . [2]

MOF представляет собой четырехуровневую архитектуру. Он предоставляет мета-метамодель на верхнем уровне, называемом слоем M3. Эта M3-модель - это язык, используемый MOF для построения метамоделей, называемых M2-моделями. Наиболее ярким примером модели MOF уровня 2 является метамодель UML, модель, которая описывает сам UML. Эти M2-модели описывают элементы M1-слоя и, следовательно, M1-модели. Это могут быть, например, модели, написанные на UML. Последний слой - это M0-слой или уровень данных. Он используется для описания объектов реального мира.

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

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

MOF - это закрытая архитектура метамоделирования; он определяет M3-модель, которая соответствует самой себе. MOF допускает строгую архитектуру мета-моделирования; каждый элемент модели на каждом слое строго соответствует элементу модели слоя выше. MOF предоставляет только средства для определения структуры или абстрактного синтаксиса языка или данных. Для определения метамоделей MOF играет именно ту роль, которую EBNF играет для определения грамматик языков программирования. MOF - это язык, специфичный для домена (DSL), используемый для определения метамоделей, точно так же, как EBNF - это DSL для определения грамматик. Подобно EBNF, MOF может быть определен в MOF.

Короче говоря, MOF использует понятие MOF :: Classes (не путать с UML :: Classes ), известное из объектной ориентации , для определения концепций (элементов модели) на металлическом слое. MOF может использоваться для определения объектно-ориентированных метамоделей (например, UML ), а также не объектно-ориентированных метамоделей (таких как сеть Петри или метамодель веб-службы ).

По состоянию на май 2006 года OMG определила две точки соответствия для Минфина:

  • EMOF для Essential MOF [3]
  • CMOF для полного MOF [3]

В июне 2006 года OMG выпустила запрос предложений для третьего варианта, SMOF (Semantic MOF).

Вариант ECore , который был определен в Eclipse Modeling Framework , более или менее согласован с OMG EMOF.

Другой родственный стандарт - OCL , который описывает формальный язык, который можно использовать для определения ограничений модели в терминах логики предикатов .

QVT , который предоставляет средства для запроса, просмотра и преобразования моделей на основе MOF, является очень важным стандартом, одобренным в 2008 году. См. « Язык преобразования моделей» для получения дополнительной информации.

Международный стандарт [ править ]

MOF - это международный стандарт:

MOF 2.4.2
ISO / IEC 19508: 2014 Информационные технологии - Ядро средства метаобъекта (MOF) группы управления объектами
MOF 1.4
ISO / IEC 19502: 2005 Информационные технологии - средство метаобъектов (MOF)

MOF можно рассматривать как стандарт для написания метамоделей , например, для моделирования абстрактного синтаксиса языков, специфичных для предметной области . Kermeta - это расширение MOF, позволяющее присоединять исполняемые действия к метамоделям EMOF, что дает возможность также моделировать операционную семантику DSL и легко получать для нее интерпретатор.

JMI определяет Java API для управления моделями MOF.

MOF OMG не следует путать с форматом управляемых объектов (MOF), определенным Целевой группой по распределенному управлению (DMTF) в разделе 6 Спецификации инфраструктуры общей информационной модели (CIM), версия 2.5.0. [4]

См. Также [ править ]

  • Метамодель Common Warehouse
  • Доменный язык
  • Kermeta
  • КМ3
  • Метамоделирование
  • Метаданные
  • Модельно-управляемая архитектура
  • OGML
  • Платформенно-независимая модель
  • Платформенная модель
  • QVT
  • SPEM
  • Обмен метаданными XML

Ссылки [ править ]

  1. ^ Механизм метаобъектов OMG
  2. ^ «Общие средства RFP-5: средство метаобъекта» (PDF) . Группа управления объектами. 2 мая 1996 . Проверено 14 января 2014 года .
  3. ^ a b «Основная спецификация OMG Meta-Object Facility (MOF), версия 2.4.1» . Группа управления объектами . п. 1 . Проверено 17 февраля 2014 года .
  4. ^ Структура интерфейса модели общего интерфейса (CIM), версия 2.5.0

Дальнейшее чтение [ править ]

  • Официальная спецификация MOF от OMG
  • Ральф Собек, Министерство финансов, спецификация документов
  • Йоханнес Эрнст, Что такое метамоделирование?
  • Вуди Пидкок, В чем разница между словарем, таксономией, тезаурусом, онтологией и метамоделью?
  • Анна Гербер и Керри Рэймонд, MOF to EMF и Back Again.
  • Встраивание исполняемости в объектно-ориентированные метаязыки
  • Поддержка MOF для семантических структур RFP Запрос предложения по SMOF

Внешние ссылки [ править ]

  • Группа управления объектами
  • Объект OMG MetaObject
  • M3Actions: операционная семантика MOF