Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РейтингМПС.docx
Скачиваний:
9
Добавлен:
02.06.2015
Размер:
2.66 Mб
Скачать

Создание конструкций метамодели

Рисунок 2 Шаг 1.

При построении метамодели в MetaEdit+ используется язык метамоделирования GOPRR, получивший свое название от основных понятий, которыми он оперирует: граф (Graph), объект (Object), свойство (Property), связь (Relation) и роль(Role). На первом шаге задаем язык метамоделирования GOPRR, определяем свойства метамодели: название и документация.

Рисунок 3 Шаг 2

На втором шаге начинаем создавать необходимые конструкции метамодели, с помощью кнопки Object, а также определяем атрибуты объектов и их тип данных. Параллельно накладывая ограничение, которое не позволяет создавать объекты более одного раза, об этом уже ранее говорилось.

Рисунок 4 Шаг 2

Создание связей между конструкциями

При создании связи между объектами возникает диалоговое окно, с помощью которого необходимо дать название связи, а также определить роль каждого объекта, для того чтобы понимать каким образом объект участвует в связи. Например, связь между датчиком тяги и микропроцессором называется «Активизирует», роль первый объект является «Активизатор», а роль второго «АктивизируемыйМП».

Рисунок 5 Шаг 3.1

Для того чтобы создать связь ассоциации необходимо воспользоваться кнопкой Binding. К сожалению, разработчики не предусмотрели связь композиции в среде MetaEdit+, поэтому для создания данной связи используем Binding, но имеем в виду, связь композиции.

Итог разработки метамодели представлен на рисунке 6.

Рисунок 6 Шаг 3.2

Генерация метамодели

После того как метамодель была определена, на четвертом шаге необходимо преобразовать ее в MXT формат (файл MetaEdit+ XML Types), который базируется на общепринятом стандарте XML. Такое преобразование необходимо выполнить, для того чтобы использовать разработанный язык для создания моделей (рис. 7). Преобразуем метамодель с помощью опции Export and Build MXT, которая создаст MXT файл метамодели и импортирует его в MetaEdit+. После данного этапа можно переходить к описанию конкретного синтаксиса языка.

Рисунок 7 Шаг 4

Разработка конкретного синтаксиса языка

На пятом шаге опишем, как будет отображаться модель. Для этого необходимо задать визуализацию объектам и связям. Для объектов определим иконки, с помощью картинок, загруженных в среду (рис. 8).

Рисунок 8 Шаг 5.1

Также для объектов необходимо задать способ его визуализации при построении модели. Для этого используем прямоугольник.

Рисунок 9 Шаг 5.2

Далее необходимо определить визуализацию для отображения ролей, так чтобы связь ассоциации, соединяющая два объекта, отображалась со стрелкой.

Рисунок 10 Шаг 5.3

Связь композиции изобразим закрашенным ромбом (рис. 11).

Рисунок 11 Шаг 5.4

Определим способ отображения названия связи с помощью ромба, в котором будет отражено название связи.

Рисунок 12 Шаг 5.5

Можно посмотреть, как будут отображаться все элементы языка.

Рисунок 13 Шаг 5.6

Разработка модели

После преобразования метамодели и задания конкретного синтаксиса языка, на шестом шаге на вкладке TypeBrowser отобразиться созданная метамодель, с помощью которой можно создать модель (рис. 14).

Рисунок 14 Шаг 6.1

Следует задать название и документацию модели и переходить уже непосредственно к ее созданию (рис 15). Как видим на рисунке 16 представлены все необходимые объекты и связи, для того чтобы создать модель.

Рисунок 15 Шаг 6.2

Рисунок 16 Шаг 6.3

Начнем создание модели с объектов и задания их атрибутов.

Рисунок 17 Шаг 6.4

При попытке создать еще один объект будет генерироваться ошибка, так как было наложено ограничение. Кстати все ограничения можно посмотреть на вкладке Constrains (рис. 18).

Рисунок 18 Ограничение

Далее создаем связи между объектами, при попытке провести связь между объектами, которые не были связаны в метамодели, генерируется ошибка.

Рисунок 19 Шаг 6.5

На рисунке 20 представлена итоговая модель со всеми связями, объектам и атрибутами.

Рисунок 20 Модель