Метамодель (информатика)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Пример метамодели для геологических карт, описывающей четыре мета-объекта и их взаимосвязи.[1]

Термин метамодель состоит из префикса мета (от греческого "сверх" или "около") и термином "модель", как он используется в информатике. Он определяет некоторое транзитивное отношение между двумя моделями. Например: если модель M1 описывает язык L0, в котором формулируется модель M0, то M1 является метамоделью М0. Если же модель M2 описывает язык L1, в котором была сформулирована модель М1, то М2 - это метамодель M1. M2 является тогда для M0 мета-метамоделью.

Определение метамоделей[править | править исходный текст]

В информатике, использование моделей считается все более и более рекомендованым. Этот подход резко отличается от классической кодо-базированной технологии разработки программного обеспечения. Модель всегда ссылается на единственную метамодель. Все шире применяется подход Model Driven Architecture, предложенный OMG. Этот подход базируется на языке написания метамоделей, называемом Meta-Object Facility или MOF. Типичные метамодели, рекомендуемые OMG это: UML, SysML, SPEM или CWM. ISO также опубликовала стандартную метамодель ISO/IEC 24744.[2]

Типы метамоделей[править | править исходный текст]

В информатике различаются несколько типов метамоделей и соответствующих им процессов моделирования:

  • Метамоделирование данных
  • Метамоделирование процессов
  • Исполняемое метамоделирование (Executable Meta-Modeling) - сочетание обоих вышеприведенных и много больше, как это сделано в многоцелевом средстве разработки "Kermeta".
  • Языки трансформации моделей.

Примечания[править | править исходный текст]

  1. David R. Soller et al. (2001) Progress Report on the National Geologic Map Database, Phase 3: An Online Database of Map Information Digital Mapping Techniques '01 -- Workshop Proceedings U.S. Geological Survey Open-File Report 01-223.
  2. International Organization for Standardization / International Electrotechnical Commission, 2007. ISO/IEC 24744. Software Engineering - Metamodel for Development Methodologies.