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

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

Пример метамодели для геологических карт, описывающей четыре мета-объекта и их взаимосвязи.[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 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). "Software Engineering — Metamodel for Development Methodologies"
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.