Метамодель в информатике — модель, описывающая другую модель; транзитивное отношение между двумя моделям (например: если модель M1 описывает язык L0, в котором формулируется модель M0, то M1 является метамоделью М0; если же модель M2 описывает язык L1, в котором была сформулирована модель М1, то М2 — это метамодель M1, а M2 является тогда для M0 мета-метамоделью).[источник не указан 3655 дней]
В информатике использование моделей считается все более рекомендованным. Этот подход резко отличается от классической кодо-базированной технологии разработки программного обеспечения. Модель всегда ссылается на единственную метамодель. Все шире применяется подход MDA, предложенный OMG. Этот подход базируется на языке написания метамоделей, называемом Meta-Object Facility или MOF. Типичные метамодели, рекомендуемые OMG это: UML, SysML, SPEM или CWM.
Международные стандарты
Международная организация по стандартизации ISO опубликовала стандартную метамодель ISO/IEC 24744.[2]
Для предприятий, особенно в индустрии, разработан международный стандарт ISA-95, позволяющий единообразно представлять структуру и функциональность предприятий для разработчиков управляющих систем.
Типы метамоделей
В информатике различаются несколько типов метамоделей и соответствующих им процессов моделирования:
Метамоделирование данных
Метамоделирование процессов
Исполняемое метамоделирование (Executable Meta-Modeling) — сочетание обоих вышеприведенных и много больше, как это сделано в многоцелевом средстве разработки «Kermeta».
↑International Organization for Standardization / International Electrotechnical Commission, 2014 (ISO/IEC 24744:2014)Архивная копия от 2 февраля 2017 на Wayback Machine. "Software Engineering — Metamodel for Development Methodologies"