Мета-объектный объект - Meta-Object Facility

Иллюстрация метаобъектного объекта.

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

Обзор

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

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
  • CMOF для полного MOF

В июне 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.

Смотрите также

Рекомендации

дальнейшее чтение

внешние ссылки