Введение

Концепция разработки программного обеспечения

Метамодель — это модель модели, а метамоделирование — процесс создания таких метамоделей. Таким образом, метамоделирование — это анализ, построение и разработка фреймворков, правил, ограничений, моделей и теорий, применимых и полезных для моделирования предопределенного класса задач. Как следует из названия, эта концепция применяет понятия "мета" и моделирования в разработке программного обеспечения и системной инженерии. Метамодели бывают различных типов и имеют разнообразные применения.

Определение

В разработке программного обеспечения использование моделей является альтернативой более распространенным техникам разработки, основанным на коде. Модель всегда соответствует единственной метамодели. Одно из наиболее активно развивающихся направлений в области разработки, управляемой моделями, – это архитектура, управляемая моделями, предложенная OMG. Этот подход реализован в спецификации Meta Object Facility (MOF). Типичными спецификациями метамоделирования, предложенными OMG, являются UML, SysML, SPEM или CWM. ISO также опубликовала стандартную метамодель ISO/IEC 24744. Все языки, представленные ниже, могут быть определены как метамодели MOF.

Моделирование метаданных

Моделирование метаданных — это разновидность метамоделирования, применяемая в разработке программного обеспечения и системной инженерии для анализа и создания моделей, релевантных и полезных для заранее определенных классов задач. (см. также: моделирование данных).

Преобразования модели

Одним из важных направлений в разработке на основе моделей является систематическое использование языков преобразования моделей. OMG предложил стандарт для этого, называемый QVT (Queries/Views/Transformations) – Язык запросов, представлений и преобразований. QVT базируется на метаобъектной модели (MOF). Среди множества других языков преобразования моделей (MTL) примерами реализаций этого стандарта являются AndroMDA, VIATRA, Tefkat, MT, ManyDesigns Portofino.

Зоопарки метамоделей

Библиотека подобных метамоделей называется зоопарком метамоделей. Существуют различные типы зоопарков метамоделей. Некоторые из них представлены в ECore. Другие записаны на MOF 1.4 – XMI 1.2. Метамодели, выраженные в UML XMI 1.2, можно загрузить в Poseidon для UML, CASE-инструмент для UML.