МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОУ ВПО Пермский государственный университет УТВЕРЖДАЮ Ректор ГОУ ВПО ПГУ _____________ /И.Ю. Макарихин/ «___»_____________2010 г. м.п. РЕКЛАМНО-ТЕХНИЧЕСКОЕ ОПИСАНИЕ Обучающий видео-курс по работе с языковым инструментарием Eclipse Graphical Modeling Framework .02069071.00244-01 99 01 Листов 7 Разработчики: ______________________/Сухов А.О./ ______________________/ Анисимов А.О./ ______________________/ Рябинин К.В./ ______________________/ Шарыбин С.И./ 23.11.2010> Пермь 2010 2 .02069071.00244-01 99 01 1. Функциональное назначение программы, область ее применения, ее ограничения 1.1. Назначение программы Обучающий видеоролик по системе Eclipse Graphical Modeling Framework (Eclipse GMF) предназначен для описания процесса создания визуальных предметно-ориентированных языков моделирования. Языки моделирования, описанные с помощью Eclipse GMF позволяют разработчикам в терминах предметной области создавать графические модели разрабатываемых приложений. 1.2. Область применения программы Представленный видеоролик может быть использован студентами и преподавателями высших учебных заведений в курсах "Моделирование информационных систем", "Проектирование информационных систем", "Инструментальные средства анализа и проектирования предметных областей" и др., а также всеми, кому интересны вопросы разработки языков моделирования и предметно-ориентированных языков (DSL). 1.3. Ограничения использования программы Для просмотра видеоролика необходимо установить декодер для просмотра видео "ffdshow video decoder" и декодер для воспроизведения звука "ffdshow audio decoder". Кроме того, необходимо наличие какого-либо видеоплеера. 2. Техническое описание программы Среда Eclipse – это многоплатформенная среда разработки программного обеспечения с открытыми исходными кодами. В середине 2006 года вышла первая версия технологии Graphical Modeling Framework (GMF) [2] интегрирующая в себе две другие технологии: Graphical Editing Framework (GEF); Eclipse Modeling Framework (EMF). Технология GMF предназначена для создания визуальных DSL, интегрируемых в Eclipse (см. рис. 1). Она является Open Source разработкой и развивается, в основном, специалистами компаний IBM и Borland. 3 .02069071.00244-01 99 01 Рис. 1. Главное окно среды Eclipse GMF Архитектура DSL, созданного с применением GMF, строится на основе MVC-шаблона (Model-View-Controller) [1]. Для создания уровней представления и контроллеров используется технология GEF, для создания моделей – технология EMF. 2.1. Особенности технологии GEF Библиотека GEF состоит из двух частей: модуля OED (org.eclipse.draw2d), встроенного в Eclipse, и самой базовой библиотеки GEF. Модуль OED предоставляет средства программного создания и обработки графических объектов: менеджеры размещения графических объектов, палитра стандартных объектов, средства создания собственных графических объектов, средства создания связей между графическими объектами, средства работы со слоями изображений и пр. Графический редактор, созданный с помощью OED, визуализирует экземпляры Java-классов, которые описывают объекты предметной области. Для синхронизации классов и визуальных диаграмм между ними должна существовать «прослойка», которая создается с помощью библиотеки GEF. Изменение модели производится не напрямую, а с помощью определенного набора команд, которые вносят изменения одновременно и в классы, и в 4 .02069071.00244-01 99 01 визуальные диаграммы. Это позволяет поддерживать систему в синхронизированном состоянии и отменять все произведенные изменения. Визуальные DSL с помощью GEF можно создавать на базе любых моделей, однако наибольшей эффективности можно достичь, интегрируя технологию GEF с EMF. 2.2. Описание технологии EMF Технология EMF предназначена для проектирования приложений, использующих модели БП, имеющих сложную структуру. Создание таких приложений производится с помощью средств генерации EMF по созданной или импортированной модели. При этом разработчику предоставлена возможность расширять функциональность «вручную». Внесенные изменения будут сохранены и при последующих генерациях кода. Технологии GEF и EMF создавались независимо друг от друга, поэтому существует несогласованность их интерфейсов. Кроме того, каждая из них предназначена для решения более широкого класса задач, чем поддержка создания DSL. Для преодоления этих проблем на основе двух технологий был реализован проект GMF. 2.3. Создание DSL с помощью GMF Процесс создания DSL с помощью технологии GMF изображен на рис. 2. Как видно из рисунка, построение предметно-ориентированного языка состоит из следующих этапов: 1. Описание метамодели предметной области, для которой предназначается создаваемый DSL. В случае разработки UMLредактора элементами доменной модели будут «класс», «наследование», «ассоциация» и т.д. Метамодель разрабатывается с помощью графического редактора GMF Ecore. 2. Разработка графической модели – описания графической нотации создаваемого языка. Например, для UML-редактора и элемента «класс» элементом графической модели будет прямоугольник с секциями для имени, свойств и методов класса. 3. Разработка модели инструментов – описание элементов панели инструментов будущего редактора: палитры графических объектов, списка действий, меню графических объектов и т.д. 4. Разработка модели соответствия. Все предыдущие модели являются независимыми, никак не связанными друг с другом, каждая из них располагается в одном или нескольких файлах. В них хранятся объекты, которые могут использоваться при построении графического редактора, а как именно они будут использоваться, определяется в модели соответствия. Для элементов метамодели задаются связи с графическим представлением, а также соответствующими инструментами. Например, для UML-класса будет указано, что для его отображения используется прямоугольник, который создается с помощью кнопки с именем «Класс». Не 5 .02069071.00244-01 99 01 обязательно все элементы из метамодели используются в модели соответствия. Создание/модификация метамодели Создание/модификация взаимосвязи метамодели и графического редактора Создание проекта Создание/модификация графического редактора Создание/модификация генератора Отладка Рис. 2. Процесс создания DSL с помощью технологии GMF 5. Создание модели генератора, по которой производится генерация графического редактора для DSL. Данная модель является промежуточным представлением будущего редактора. Она автоматически генерируется по модели соответствия и дополняется разработчиками «вручную». 6. Генерация кода создаваемого языка. 2.4. Используемые технические средства и требования к аппаратуре Требования к аппаратуре определяются требованиями, соблюдение которых необходимо для установки используемого программного обеспечения. Минимальные требования: процессор Pentium IV, 2048 Мб ОЗУ. 3. Специальные условия применения и требования организационного, технического и технологического характера Для работы с видеороликом нет необходимости создания специальных условий применения и выполнения особых требований организационного, технического и технологического характера. Условия применения и требования определяются требованиями к применяемому программному и аппаратному обеспечению, перечисленными выше, а также выполнением лицензионных соглашений при использовании необходимого для работы программ программного обеспечения. 6 .02069071.00244-01 99 01 4. Условия передачи программной документации или ее продажи Продажа и передача видеоролика для его использования в каких-либо целях осуществляется с письменного согласия авторов, связаться с которыми можно по адресу sukhov_psu@mail.ru. Библиографический список 1. Гамма Э., Хелм Р., Джонсон Р. Приемы объектно-ориентированного проектирования – паттерны проектирования: пер. с англ. СПб.: Питер, 2001. - 368 с. 2. Graphical Modeling Framework: [Электронный документ] (http://www.eclipse.org/gmf). Проверено 12.06.2010. 7 .02069071.00244-01 99 01 СОДЕРЖАНИЕ 1. ФУНКЦИОНАЛЬНОЕ НАЗНАЧЕНИЕ ПРОГРАММЫ, ОБЛАСТЬ ЕЕ ПРИМЕНЕНИЯ, ЕЕ ОГРАНИЧЕНИЯ ........................................................................................................... 2 1.1. Назначение программы ................................................................................. 2 1.2. Область применения программы ................................................................ 2 1.3. Ограничения использования программы .................................................... 2 2. ТЕХНИЧЕСКОЕ ОПИСАНИЕ ПРОГРАММЫ .................................................................. 2 2.1. Особенности технологии GEF.................................................................... 3 2.2. Описание технологии EMF .......................................................................... 4 2.3. Создание DSL с помощью GMF .................................................................. 4 2.4. Используемые технические средства и требования к аппаратуре ....... 5 3. СПЕЦИАЛЬНЫЕ УСЛОВИЯ ПРИМЕНЕНИЯ И ТРЕБОВАНИЯ ОРГАНИЗАЦИОННОГО, ТЕХНИЧЕСКОГО И ТЕХНОЛОГИЧЕСКОГО ХАРАКТЕРА .............................................. 5 4. УСЛОВИЯ ПЕРЕДАЧИ ПРОГРАММНОЙ ДОКУМЕНТАЦИИ ИЛИ ЕЕ ПРОДАЖИ ............ 6 БИБЛИОГРАФИЧЕСКИЙ СПИСОК ..................................................................................... 6