UML (Unified Modeling Language) — это стандартизированный язык для визуализации, специфицирования, конструирования и документирования артефактов программных систем.
- Диаграмма — графическое представление частей UML-модели. Отображает набор элементов модели и отношения между ними с определенной перспективы или цели.
- Нотация — набор графических элементов (символы, линии, фигуры) и правил их использования для построения диаграмм. Определяет, как будут выглядеть элементы модели на диаграмме.
- Метамодель — формальное описание самого UML. Определяет абстрактную синтаксическую и семантическую структуру UML. По сути, это "модель моделей": она описывает, какие элементы могут существовать в UML-модели, как они могут быть связаны и их смысл.
Метамодель UML имеет многоуровневую структуру, часто описываемую как M0, M1, M2, M3, где:
- M0 — Реальные объекты или данные во время выполнения.
- M1 — Модель конкретной системы, описанная на языке UML. Это уровень пользовательской модели.
- M2 — Сама метамодель UML. Описывает синтаксис и семантику языка UML (например, классы, атрибуты, ассоциации как элементы языка).
- M3 — Метаметамодель. Язык, на котором описана метамодель UML (например, сам MOF - Meta-Object Facility).