MOF — различия между версиями

Строка 2: Строка 2:
  
 
MOF возникло из [[UML]]. OMG нуждался в архитектуре метамоделирования для определения UML. MOF реализовано как четырехслойная архитектура:
 
MOF возникло из [[UML]]. OMG нуждался в архитектуре метамоделирования для определения UML. MOF реализовано как четырехслойная архитектура:
# '''M3: метамодель'''. Верхний уровень, ядро всего проекта. Она определяет язык, используемый MOF для создания метамоделей М2.
+
{| class="wikitable"
# '''M2-модели'''. Наиболее ярким примером модели 2-го уровня MOF является метамодель UML: модель, которая описывает сам язык UML. Эти M2-модели описывают элементы M1 слоя.
+
! style="text-align: center; font-weight: bold;" | Уровень
# '''M1-модели'''. Это могут быть, например, модели, написанные на UML.
+
! style="text-align: center; font-weight: bold;" | Описание
# '''M0-слой''' или '''слой данных'''. Он используется для описания объектов реального мира.
+
! style="font-weight: bold;" | Определение OMG
 +
! style="text-align: center; font-weight: bold;" | Пример
 +
|-
 +
| style="text-align: center;" | М3
 +
| Верхний уровень, ядро всего проекта.
 +
Определяется язык, используемый MOF для создания метамоделей М2
 +
| style="text-align: center;" | Meta-metamodel
 +
| style="text-align: center;" | MOF
 +
|-
 +
| style="text-align: center;" | М2
 +
| Определяется метамодель языка
 +
| style="text-align: center;" | Metamodel,
 +
meta-metadata
 +
| style="text-align: center;" | Метамодель [[UML]],
 +
Метамодель CWM
 +
|-
 +
| style="text-align: center;" | М1
 +
| Модели, написанные на языке, определенном в M2
 +
| style="text-align: center;" | Model,
 +
metadata
 +
| style="text-align: center;" | Модель UML
 +
Метаданные [[Хранилище данных|хранилища]]/[[BI]]
 +
|-
 +
| style="text-align: center;" | М0
 +
| Используется для описания объектов реального мира
 +
| style="text-align: center;" | Object,
 +
data
 +
| style="text-align: center;" | Моделируемая система,
 +
Данные хранилища
 +
|}
  
 
MOF призван служить мостом между разными метамоделями, поскольку представляет собой мощную основу для их описания. Если две разные метамодели конформны MOF (то есть могут быть описаны средствами M3), то все конкретные модели (M1), базирующиеся на них, могут хранится в общем репозитории и совместно обрабатываться средствами модельных трансформаций.
 
MOF призван служить мостом между разными метамоделями, поскольку представляет собой мощную основу для их описания. Если две разные метамодели конформны MOF (то есть могут быть описаны средствами M3), то все конкретные модели (M1), базирующиеся на них, могут хранится в общем репозитории и совместно обрабатываться средствами модельных трансформаций.

Версия 13:11, 18 мая 2016

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

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

Уровень Описание Определение OMG Пример
М3 Верхний уровень, ядро всего проекта.

Определяется язык, используемый MOF для создания метамоделей М2

Meta-metamodel MOF
М2 Определяется метамодель языка Metamodel,

meta-metadata

Метамодель UML,

Метамодель CWM

М1 Модели, написанные на языке, определенном в M2 Model,

metadata

Модель UML

Метаданные хранилища/BI

М0 Используется для описания объектов реального мира Object,

data

Моделируемая система,

Данные хранилища

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

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