Перейти к содержимому

MOF

Мета-объектное средство (MOF, Meta-Object Facility) — стандарт моделеориентированной инженерии, разработанный Object Management Group (OMG).

MOF использует два метода описания (viewpoints):

  1. Моделирование (Modeling viewpoint): метод описания для проектировщика системы, смотрящего сверху вниз по уровням MOF. Этот метод описания используется для того, чтобы определить информационную модель для конкретной предметной области (domain of interest). Это определение используется для последующего проектирования программного обеспечения и/или его реализации.
  2. Данные (Data viewpoint): метод описания для программиста системы, смотрящего на конкретный уровень MOF и, возможно, вверх по уровням MOF. Этот метод описания используется для того, чтобы применить распределенную парадигму OMA (Object Management Architecture) для управления информацией в соответствии с информационной моделью.

MOF возникло из UML. OMG нуждался в архитектуре метамоделирования для определения UML. MOF реализовано как четырехслойная архитектура:

УровеньОписаниеОпределение OMGПример
М3Верхний уровень, ядро всего проекта. Определяется язык, используемый MOF для создания метамоделей М2Meta-metamodelMOF
М2Определяется метамодель языкаMetamodel, meta-metadataМетамодель UML, Метамодель CWM
М1Модели, написанные на языке, определенном в M2Model, metadataМодель UML Метаданные хранилища/BI
М0Используется для описания объектов реального мираObject, dataМоделируемая система, Данные хранилища

MOF призван служить мостом между разными метамоделями, поскольку представляет собой мощную основу для их описания. Если две разные метамодели конформны MOF (то есть могут быть описаны средствами M3), то все конкретные модели (M1), базирующиеся на них, могут хранится в общем репозитории и совместно обрабатываться средствами модельных трансформаций.

В рамках M3-модели MOF описывает средства для создания и редактирования моделей и метамоделей путём определения CORBA-интерфейсов, которые описывают эти операции.