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

Метамодель в информатике — модель, описывающая другую модель; транзитивное отношение между двумя моделям (например: если модель M1 описывает язык L0, в котором формулируется модель M0, то M1 является метамоделью М0; если же модель M2 описывает язык L1, в котором была сформулирована модель М1, то М2 — это метамодель M1, а M2 является тогда для M0 мета-метамоделью).[источник не указан 3587 дней]

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

Определение метамоделей

править

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

Международные стандарты

править

Международная организация по стандартизации ISO опубликовала стандартную метамодель ISO/IEC 24744.[2]

Для предприятий, особенно в индустрии, разработан международный стандарт ISA-95, позволяющий единообразно представлять структуру и функциональность предприятий для разработчиков управляющих систем.

Типы метамоделей

править

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

  • Метамоделирование данных
  • Метамоделирование процессов
  • Исполняемое метамоделирование (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 Архивная копия от 9 мая 2013 на Wayback Machine Digital Mapping Techniques '01 — Workshop Proceedings U.S. Geological Survey Open-File Report 01-223.
  2. International Organization for Standardization / International Electrotechnical Commission, 2014 (ISO/IEC 24744:2014) Архивная копия от 2 февраля 2017 на Wayback Machine. "Software Engineering — Metamodel for Development Methodologies"