Мета-объектная возможность
Meta -Object Facility ( MOF ) — это стандарт группы управления объектами (OMG) для проектирования на основе моделей . Его цель — предоставить систему типов для сущностей в архитектуре CORBA и набор интерфейсов, с помощью которых эти типы можно создавать и манипулировать ими.MOF может использоваться для разработки предметно-ориентированного программного обеспечения и объектно-ориентированного моделирования . [1] : 15
Обзор
[ редактировать ]MOF был разработан, чтобы предоставить систему типов для использования в архитектуре CORBA , набор схем, с помощью которых можно определить структуру, значение и поведение объектов, а также набор интерфейсов CORBA, с помощью которых эти схемы можно создавать, хранить и манипулировать ими. . [2]
MOF спроектирован как четырехуровневая архитектура. Он предоставляет мета-метамодель на верхнем уровне, называемом слоем M3. Эта модель M3 представляет собой язык, используемый MOF для построения метамоделей, называемых моделями M2. Наиболее ярким примером модели MOF уровня 2 является метамодель UML, модель, описывающая сам UML. Эти M2-модели описывают элементы M1-слоя и, следовательно, M1-модели. Это могут быть, например, модели, написанные на UML. Последний уровень — это уровень M0 или уровень данных. Он используется для описания объектов реального мира.
Помимо модели M3, MOF описывает средства создания моделей и метамоделей и управления ими путем определения интерфейсов CORBA , описывающих эти операции. Из-за сходства между моделью MOF M3 и структурными моделями UML метамодели MOF обычно моделируются как диаграммы классов UML.
Форматы файлов
[ редактировать ]Преобразование моделей спецификации MOF (M3-, M2- или M1-Layer) в W3C XML и XSD определяется спецификацией XMI (ISO/IEC 19503). XMI — это формат обмена моделями на основе XML. [1] : xi
От MOF до Java™ существует спецификация Java Metadata Interchange (JMI), разработанная Java Community Process . [1] : xi
Он также предоставляет спецификации, упрощающие автоматическую генерацию интерфейсов CORBA IDL. [1] : 3
Метамоделирование архитектуры
[ редактировать ]MOF — это закрытая архитектура метамоделирования; он определяет модель M3, которая соответствует самой себе. MOF допускает строгую архитектуру метамоделирования; каждый элемент модели на каждом слое строго соответствует элементу модели слоя выше. MOF предоставляет только средства для определения структуры или абстрактного синтаксиса языка или данных. При определении метамоделей MOF играет именно ту роль, которую EBNF играет при определении грамматик языков программирования. MOF — это предметно-ориентированный язык (DSL), используемый для определения метамоделей, точно так же, как EBNF — это DSL для определения грамматик. Подобно EBNF, MOF может быть определен в MOF.
Короче говоря, MOF использует понятие MOF::Classes (не путать с UML::Classes ), известное из объектной ориентации , для определения понятий (элементов модели) на метаслое. MOF может использоваться для определения объектно-ориентированных метамоделей (например, UML ), а также необъектно-ориентированных метамоделей (например, сети Петри или метамодели веб-сервиса ).
По состоянию на май 2006 года OMG определило для Министерства финансов две точки соответствия:
В июне 2006 года запрос предложений OMG опубликовала на третий вариант, SMOF (Semantic MOF).
Вариант ECore , определенный в Eclipse Modeling Framework, более или менее соответствует EMOF OMG.
Другим родственным стандартом является OCL , который описывает формальный язык, который можно использовать для определения ограничений модели с точки зрения логики предикатов .
QVT , который представляет средства для запроса, просмотра и преобразования моделей на основе MOF, является очень важным стандартом, утвержденным в 2008 году. см. в разделе «Язык преобразования моделей» Дополнительную информацию .
Международный стандарт
[ редактировать ]MOF – это международный стандарт:
- МФ 2.4.2
- ISO / IEC 19508:2014 Информационные технологии. Ядро метаобъектной службы группы управления объектами (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. [3]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж «Основная спецификация OMG Meta-Object Facility (MOF), версия 2.4.1» . Группа управления объектами . п. 1 . Проверено 17 февраля 2014 г.
- ^ «Общие средства RFP-5: Средство метаобъектов» (PDF) . Группа управления объектами. 2 мая 1996 года . Проверено 14 января 2014 г.
- ^ Структура интерфейса модели общего интерфейса (CIM), версия 2.5.0
Эта статья нуждается в дополнительных цитатах для проверки . ( февраль 2009 г. ) |
Дальнейшее чтение
[ редактировать ]- Официальная спецификация MOF от OMG
- Ральф Собек, Министерство финансов. Технические характеристики
- Йоханнес Эрнст, Что такое метамоделирование?
- Вуди Пидкок, Каковы различия между словарем, таксономией, тезаурусом, онтологией и метамоделью?
- Анна Гербер и Керри Рэймонд, от Министерства финансов до ЭМП и обратно.
- Объединение исполняемости в объектно-ориентированные метаязыки
- Поддержка MOF семантических структур. Запрос предложений по SMOF.