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