Слайд 2
![1.1 Понятие моделирования и модели Моделирование = метод научного познания:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-1.jpg)
1.1 Понятие моделирования и модели
Моделирование = метод научного познания: изучение некоторого
объекта посредством его модели
Модель = объект-заменитель объекта оригинала (в определенном соответствии с оригиналом; обеспечивает изучение некоторых его свойств)
Слайд 3
![Моделирование ИС 1. зачем изучать ИС ? (разработчик должен точно знать, ЧТО требуется сделать)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-2.jpg)
Моделирование ИС
1. зачем изучать ИС ?
(разработчик должен точно знать,
ЧТО требуется сделать)
Слайд 4
![2. в чем сложность изучения? ИС еще нет => есть](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-3.jpg)
2. в чем сложность изучения?
ИС еще нет => есть 2 виртуальные
системы: заказчика и разработчика => нужны 2 модели:
“что хочет заказчик”
“что может разработчик”
Слайд 5
![Свойства модели Позволяет акцентировать наиболее важные аспекты объекта Всегда хуже оригинала = его упрощение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-4.jpg)
Свойства модели
Позволяет акцентировать наиболее важные аспекты объекта
Всегда хуже оригинала = его
упрощение
Слайд 6
![Модель = абстрактное описание на некотором формальном языке некоторых аспектов системы, важных с точки зрения моделирования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-5.jpg)
Модель
= абстрактное описание на некотором формальном языке некоторых аспектов системы, важных
с точки зрения моделирования
Слайд 7
![Цели моделирования понять ПрО проанализировать поведение системы во времени записать](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-6.jpg)
Цели моделирования
понять ПрО
проанализировать поведение системы во времени
записать принятое проектное решение
=> Различные
модели для различных целей
Слайд 8
![Принципы моделирования 1. Выбор модели оказывает определяющее влияние на подход](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-7.jpg)
Принципы моделирования
1. Выбор модели оказывает определяющее влияние на подход к решению
проблемы и на то, как будет выглядеть решение (парадигмы: логическая, функциональная, объектная...)
Слайд 9
![Принципы моделирования 2. Каждая модель может быть воплощена с разной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-8.jpg)
Принципы моделирования
2. Каждая модель может быть воплощена с разной степенью абстракции
поверхностное
описание = общение с заказчиком;
битовое представление и обработка = спецификация межсетевого интерфейса
Слайд 10
![Принципы моделирования 3. Лучшие модели = те, которые ближе к](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-9.jpg)
Принципы моделирования
3. Лучшие модели = те, которые ближе к реальности
Но детальность
модели должна соответствовать цели моделирования !
Слайд 11
![Принципы моделирования 4. Одной модели недостаточно = несколько моделей с акцентами на различные стороны системы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-10.jpg)
Принципы моделирования
4. Одной модели недостаточно
= несколько моделей с акцентами на
различные стороны системы
Слайд 12
![Классификации моделей материальные (модель авто в аэродинамической трубе) идеальные (описательные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-11.jpg)
Классификации моделей
материальные (модель авто в аэродинамической трубе)
идеальные (описательные на некотором языке)
= изучаем только идеальные
Слайд 13
![Классификации моделей По точке зрения на систему: Статические, СМ (структурные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-12.jpg)
Классификации моделей
По точке зрения на систему:
Статические, СМ (структурные свойства)
Динамические, ДМ (поведенческие
свойства)
Функциональные, ФМ (функциональные свойства)
Слайд 14
![Ортогональные взгляды на систему](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-13.jpg)
Ортогональные взгляды
на систему
Слайд 15
![Статическая модель Описывает составные части системы, их структуру, связи между](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-14.jpg)
Статическая модель
Описывает составные части системы, их структуру, связи между ними, операции
Операции:
=
события ДМ
= функции ФМ
Слайд 16
![Динамическая модель Описывает последовательность выполнения шагов в процессе функционирования системы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-15.jpg)
Динамическая модель
Описывает последовательность выполнения шагов в процессе функционирования системы
Объясняет:
= вызовы операций
СМ;
= вычисления функций ФМ
Слайд 17
![Функциональная модель Описывает преобразования, осуществляемые системой Раскрывает содержание: = операций СМ; = событий ОМ.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-16.jpg)
Функциональная модель
Описывает преобразования, осуществляемые системой
Раскрывает содержание:
= операций СМ;
= событий ОМ.
Слайд 18
![Важность моделей для ПрО Не интерактивные вычислительные задачи => ФМ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-17.jpg)
Важность моделей для ПрО
Не интерактивные вычислительные задачи => ФМ
Интерактивные ИС =>
ДМ
Системы с нетривиальными структурами данным => СМ
Слайд 19
![Классификация Г.Буча (для программных систем и ИС)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-18.jpg)
Классификация Г.Буча (для программных систем и ИС)
Слайд 20
![Модель прецедентов Прецедент = описывает наблюдаемое поведение системы (пользователи, аналитики, тестировщики)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-19.jpg)
Модель прецедентов
Прецедент = описывает наблюдаемое поведение системы (пользователи, аналитики, тестировщики)
Слайд 21
![Модель проектирования Классы, интерфейсы и кооперации = словарь задачи и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-20.jpg)
Модель проектирования
Классы, интерфейсы и кооперации = словарь задачи и ее решения
Поддерживает
функциональные требования к системе
Слайд 22
![Модель процессов Потоки и процессы, формирующие механизмы параллелизма и синхронизации в системе](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-21.jpg)
Модель процессов
Потоки и процессы, формирующие механизмы параллелизма и синхронизации в системе
Слайд 23
![Модель реализации Компоненты и файлы для сборки и выпуска конечного продукта](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-22.jpg)
Модель реализации
Компоненты и файлы для сборки и выпуска конечного продукта
Слайд 24
![Модель развертывания Узлы, формирующие топологию аппаратных средств системы, на которых она выполняется](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-23.jpg)
Модель развертывания
Узлы, формирующие топологию аппаратных средств системы, на которых она выполняется
Слайд 25
![Классификация по степени абстракции (второй принцип моделирования) Концептуальные модели (высокоуровневые,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-24.jpg)
Классификация по степени абстракции
(второй принцип моделирования)
Концептуальные модели (высокоуровневые, в терминах ПрО)
Модели
спецификации (внешний вид и внешнее поведение системы)
Модели реализации (внутреннее устройство системы, конкретный способ реализации внешнего облика и наблюдаемого поведения)
Слайд 26
![Пример трех моделей Компьютера](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-25.jpg)
Пример трех моделей Компьютера
Слайд 27
![О важности моделей Концептуальная и модель спецификации – необходима всегда](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-26.jpg)
О важности моделей
Концептуальная и модель спецификации – необходима всегда
Модель реализация трудоемкая
– имеет смысл для иллюстрации нестандартного решения
Слайд 28
![Метамоделирование Метамодель – модель модели ( Метамодель – модель языка моделирования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-27.jpg)
Метамоделирование
Метамодель –
модель модели (<= неверно !)
Метамодель – модель языка моделирования
Слайд 29
![Модель организации (вариант 1)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-28.jpg)
Модель организации
(вариант 1)
Слайд 30
![Модель организации Обозначения: - прямоугольники = экземпляры классов (объекты); имена](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-29.jpg)
Модель организации
Обозначения:
- прямоугольники = экземпляры классов (объекты);
имена этих классов записаны после
символа : (например, Департамент);
имена объектов этих классов записаны перед символом : (например, д1);
линии = связи между объектами
Слайд 31
![Модель организации (варианты 2 и 3)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-30.jpg)
Модель организации
(варианты 2 и 3)
Слайд 32
![Простые модели Модели организации (варианты 1 - 3) = простые](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-31.jpg)
Простые модели
Модели организации (варианты 1 - 3) = простые модели, они
моделируют:
- ОРГАНИЗАЦИЮ;
- друг друга (с различной степенью абстракции).
Слайд 33
![Метамодель (вариант 1) Выделяем на основе анализа простых моделей 3](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-32.jpg)
Метамодель (вариант 1)
Выделяем на основе анализа простых моделей 3 элемента: объект,
связь и слот
Рис. 2.1 - Метамодель
Слайд 34
![Метамодель (вариант 1) Каждый объект принадлежит определенному классу и характеризуется](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-33.jpg)
Метамодель (вариант 1)
Каждый объект принадлежит определенному классу и характеризуется набором свойств
(слотов)
Для идентификации должны иметь Имя:
- каждый объект;
- каждый класс;
- каждый слот.
Слот также имеет Значение
Слайд 35
![Метамодель (вариант 1) Сплошная линия обозначает ассоциацию между элементами На](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-34.jpg)
Метамодель (вариант 1)
Сплошная линия обозначает ассоциацию между элементами
На линии ассоциации размещают
символы кратности (множественности):
- числа = конкретные значения (1 или 2);
- * - произвольное количество
Слайд 36
![Метамодель (вариант 1) Ассоциация между Объектом и Слотом: “У каждого](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-35.jpg)
Метамодель (вариант 1)
Ассоциация между Объектом и Слотом:
“У каждого Объекта может быть
произвольное количество слотов”
Ассоциация между Объектом и Связью:
“Между двумя объектами может быть произвольное количество связей”
------------------------------------------------------------
Имеем язык, который можно смоделировать => на рис. 2.1 - метамодель
Слайд 37
![Метамодель (вариант 2) Выделяем на основе анализа простых моделей 3](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-36.jpg)
Метамодель (вариант 2)
Выделяем на основе анализа простых моделей 3 понятия: организация,
департамент и сотрудник
Рис. 2.2 - Метамодель
Слайд 38
![Метамодель (вариант 2) Использована нотация диаграмм классов (язык UML) Каждый](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-37.jpg)
Метамодель (вариант 2)
Использована нотация диаграмм классов (язык UML)
Каждый класс представлен прямоугольником
с тремя секциями:
- имя (обязательная);
- атрибуты;
- операции.
Слайд 39
![Метамодель (вариант 2) Использована нотация диаграмм классов (язык UML) Линии](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-38.jpg)
Метамодель (вариант 2)
Использована нотация диаграмм классов (язык UML)
Линии с ромбами на
конце обозначают частный случай ассоциации между классами (отношение “часть - целое”):
- ромб размещается у класса “часть”:
“Каждая Организация состоит из произвольного количества Департаментов”;
“Произвольное количество Сотрудников могут входить в состав Организации (Департамента)”.
Слайд 40
![Метамодель (вариант 2) Закрашенный ромб обозначает более сильную связь: “При](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-39.jpg)
Метамодель (вариант 2)
Закрашенный ромб обозначает более сильную связь:
“При уничтожении Организации
ее Департаменты прекращают существование”;
“При уничтожении Организации (Департамента) их Сотрудники продолжают существовать”.
------------------------------------------------------------
Имеем язык, который можно смоделировать => на рис. 2.2 - метамодель
Слайд 41
![Модели и метамодели Имеем 3 модели и 2 метамодели Модели](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-40.jpg)
Модели и метамодели
Имеем 3 модели и 2 метамодели
Модели похожи и отличаются
степенью детализации
Метамодели различные:
Вариант 1 описывает предметно-независимый язык;
- Вариант 2 описывает предметно-зависимый язык.
Слайд 42
![Модели и метамодели Лингвистическая метамодель = метамодель, которая описывает предметно-независимый](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-41.jpg)
Модели и метамодели
Лингвистическая метамодель = метамодель, которая описывает предметно-независимый язык моделирования.
Онтологическая
метамодель = метамодель, которая описывает предметно-зависимый язык моделирования.
Слайд 43
![Метамодели рис. 2.1 и 2.2 модели описаны на одном языке](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-42.jpg)
Метамодели рис. 2.1 и 2.2
модели описаны на одном языке (классы,
ассоциации, атрибуты) => это онтологическая метамодель
графическая нотация моделей (прямоугольники, дуги, ромбы, надписи) => это лингвистическая метамодель
Слайд 44
![Пример многоуровневого онтологического моделирования = классификация в биологии](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-43.jpg)
Пример многоуровневого онтологического моделирования = классификация в биологии
Слайд 45
![Пунктирная стрелка обозначает отношение “Класс - Экземпляр” и указывает на](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-44.jpg)
Пунктирная стрелка обозначает отношение “Класс - Экземпляр” и указывает на класс
Треугольник
на сплошной стрелке обозначает обобщение и указывает на более общее понятие
Нижний (первый) уровень – объект (конкретная собака Лесси)
Второй уровень – часть классификации
Третий уровень – основания классификации
Четвертый уровень – самый общий класс, все экземпляры которого имеют отношение к биологии
Слайд 46
![Каждый уровень определяет мини-язык Каждый нижестоящий уровень описывается в терминах](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-45.jpg)
Каждый уровень определяет мини-язык
Каждый нижестоящий уровень описывается в терминах вышестоящего уровня:
=
Колли – конкретный экземпляр Породы
= Псовые – одно из Семейств
_____________________________________
«Лесси» – это экземпляр класса «Колли»
«Колли» – это класс
«Порода» – это метакласс
«БиологическийКласс» – это
мета-метакласс
Слайд 47
![Метакласс = класс, экземплярами которого являются другие классы. Класс =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-46.jpg)
Метакласс = класс, экземплярами которого являются другие классы.
Класс = совокупность объектов,
обладающих схожей структурой, поведением и семантикой.
Семантика = смысл, суть, значение некоторого предмета или явления
Слайд 48
![Классификация ИС по уровню и составу моделей Классическая четырехуровневая иерархия моделей](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-47.jpg)
Классификация ИС по уровню и составу моделей
Классическая четырехуровневая иерархия моделей
Слайд 49
![Уровень М0 = данные, описывающие состояние предметной области Уровень М1](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-48.jpg)
Уровень М0 = данные, описывающие состояние предметной области
Уровень М1 = онтологическая
метамодель для уровня М0 и содержит модель предметной области
Уровень М2 = лингвистическая метамодель для уровней М1 и М0
(на этом уровне модель языка моделирования, с которыми работают аналитики, CASE-средства...)
Уровень М3 = язык, на котором описываются метамодели уровня М2 и который обычно описывается на самом себе
Слайд 50
![1) Традиционные информационные системы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-49.jpg)
1) Традиционные информационные системы
Слайд 51
![1) Традиционные информационные системы Данные: - находятся внутри системы; -](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-50.jpg)
1) Традиционные информационные системы
Данные:
- находятся внутри системы;
- они описывают
состояние ПрО;
- они соответствуют некоторой модели ПрО, которая может быть описана на любом языке.
Модель ПрО:
- разрабатывается аналитиками;
- разработчики реализуют ее с помощью средств программирования.
При изменении модели надо переписывать и перекомпилировать исходные коды системы
Слайд 52
![2) Традиционные CASE-технологии](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-51.jpg)
2) Традиционные CASE-технологии
Слайд 53
![2) Традиционные CASE-технологии Модель ПрО: определяется формально; находится внутри CASE–средства;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-52.jpg)
2) Традиционные CASE-технологии
Модель ПрО:
определяется формально;
находится внутри CASE–средства;
описывается в терминах метамодели, которая
может быть определена на любом языке.
Метамодель ПрО:
- разрабатывается аналитиками;
- разработчики реализуют ее с помощью средств программирования.
При изменении метамодели надо переписывать и перекомпилировать код CASE–средства
Слайд 54
![2) Традиционные CASE-технологии CASE–средство: - предоставляет инструменты для создания редактирования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-53.jpg)
2) Традиционные CASE-технологии
CASE–средство:
- предоставляет инструменты для создания редактирования моделей;
- позволяет частично
сгенерировать код ИС;
Полученная ИС:
- реализует необходимые структуры данных;
- обеспечивает доступ к БД;
- предоставляет стандартный интерфейс пользователя;
- ДМ и ФМ дописываются вручную.
Слайд 55
![2) Традиционные CASE-технологии После повторной генерации: требуется доработка кода вручную](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-54.jpg)
2) Традиционные CASE-технологии
После повторной генерации:
требуется доработка кода вручную
Достоинства:
- экономится время
на начальных этапах разработки;
- поддерживается соответствие между системой и моделью.
Слайд 56
![3) Информационные системы, управляемые метаданными](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-55.jpg)
3) Информационные системы, управляемые метаданными
Слайд 57
![3) Информационные системы, управляемые метаданными Модель ПрО: находится внутри ИС;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-56.jpg)
3) Информационные системы, управляемые метаданными
Модель ПрО:
находится внутри ИС;
выступает в роли «управляющей
программы».
ИС: выступает в роли интерпретатора;
Недостатки: нельзя дописать код вручную (снижается универсальность)
Достоинства: При изменении модели не требуется повторять кодирование и компиляцию => ИС работает с новой моделью
Пример: 1С: Предприятие
Слайд 58
![4) Технология DSM с генерацией кода DSM (Domain Specific Modeling, моделирование в терминах предметной области)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-57.jpg)
4) Технология DSM
с генерацией кода
DSM (Domain Specific Modeling, моделирование в
терминах предметной области)
Слайд 59
![4) Технология DSM с генерацией кода Для решения каждой задачи:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-58.jpg)
4) Технология DSM
с генерацией кода
Для решения каждой задачи:
- применяется свой
язык моделирования для решения каждой задачи (с понятиями и отношениями ПрО)
Слайд 60
![4) Технология DSM с генерацией кода Мета-метамодель – реализуется META-CASE-средством](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-59.jpg)
4) Технология DSM
с генерацией кода
Мета-метамодель – реализуется META-CASE-средством
Метамодель:
– описывается
META-CASE-средством;
– она определяет DSL (Domain Specific Language);
– на ее основе генерируется CASE-средство
Модель ПрО:
– описывается CASE-средством;
– на ее основе генерируется ИС.
META-CASE- и CASE-средства могут быть объединены
Слайд 61
![4) Технология DSM с генерацией кода Использование DSL позволяет упростить](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-60.jpg)
4) Технология DSM
с генерацией кода
Использование DSL позволяет упростить процесс создания
моделей ПрО, в котором могут принимать участие эксперты заказчика
Достоинства и недостатки = традиционной CASE-технологии
Слайд 62
![5) Технология DSM с интерпретацией метаданных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-61.jpg)
5) Технология DSM
с интерпретацией метаданных
Слайд 63
![5) Технология DSM с интерпретацией метаданных Комбинация подходов 3) и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/134588/slide-62.jpg)
5) Технология DSM
с интерпретацией метаданных
Комбинация подходов 3) и 4)
Внутри ИС
находятся метамодель, модель и данные
Мета-метамодель должна быть максимально выразительной
Недостаток: потеря производительности из-за интерпретации сразу двух уровней метамоделей
Достоинство: гибкость системы (при достаточной выразительности мета-метамодели).