Автореферат (1148271), страница 2
Текст из файла (страница 2)
DSM-платформаQReal использовалась для реализации ряда предметно-ориентированных решений,применявшихся в проектах компаний «Кибернетические Технологии» и «ЛАНИТТерком».Среда программирования роботов QReal:Robots — наиболее зрелая предметноориентированная технология, созданная с помощью среды QReal. На данныймомент эта среда получила дальнейшее развитие в виде продукта TRIK Studioи используется как основное средство программирования кибернетического кон-7структора ТРИК, а также в ряде школ, домов творчества и робототехническихкружков в России и за рубежом.Степень достоверности и апробация результатов подтверждается следующим.• Результаты данной работы были представлены на второй научно-техническойконференции молодых специалистов «Старт в будущее» [12]. Доклад былотмечен наградой.• Результаты работы были представлены на международной конференции«8th International Conference on Evaluation of Novel Approaches to SoftwareEngineering» (ENASE-2013) [4].• Результаты, связанные с применением разработанной технологии при создании среды QReal:Robots, были доложены на VII Международной научнопрактической конференции «Современные информационные технологии и ИТобразование» [14] и на конференции «Central & Eastern European SoftwareEngineering Conference in Russia — 2013» (CEE-SECR’13) [7].• Результаты, связанные с применением разработанной технологии для разработки предметно-ориентированного языка для платформы Ubiq, были доложены на международной конференции «10th Conference of Open InnovationsAssociation FRUCT» [5].• Результаты, связанные с использованием предлагаемой технологии, представлялись сообществу в виде научных публикаций [1–3], [8, 15] и докладов наконференциях [6, 9–11, 13, 16].• Проект поддержан грантом Санкт-Петербургского государственного университета №6.39.1054.2012.Публикации.
Результаты диссертации отражены в пяти научных работах и одиннадцати тезисах докладов, основные результаты изложены в журналах, входящих вперечень ведущих рецензируемых научных журналов и изданий, в которых должны быть опубликованы основные научные результаты диссертаций на соисканиеученых степеней доктора и кандидата наук, утвержденный решением ПрезидиумаВысшей аттестационной комиссии Минобрнауки России [1–3], а также [8, 15] — вжурнале, входящем в РИНЦ.
Работы в сборниках из перечня ВАК [2] и [3] написаныв соавторстве. В работе [2] автору данной диссертации принадлежит проектирование и разработка средств метамоделирования, Т.А. Брыксину — архитектураи реализация основных компонент платформы, А.С. Кузенковой — реализациянекоторых частей метаредактора, А.О. Дерипаска — реализация редактора формфигур системы QReal, А.В. Подкопаеву — реализация средств задания правил8генерации кода, К.С. Тарану — реализация средств эволюции визуальных языков.В работе [3] автору данной диссертации принадлежит идея и реализация средствметамоделирования, А.Н. Терехову принадлежит постановка задачи, Т.А. Брыксину— разработка архитектуры и реализация основных модулей платформы QReal.Личный вклад автора.
Результаты, представленные в диссертационной работе,получены соискателем либо самостоятельно, либо при его непосредственном участии.Проект QReal в силу своей трудоёмкости разрабатывается большой группойстудентов, аспирантов и преподавателей кафедры системного программированияСПбГУ, соискатель претендует лишь на результаты, явно перечисленные в спискеположений, выносимых на защиту. Особо следует отметить, что соискатель заявляеткак свой результат среду QReal:Robots, её дальнейшее развитие TRIK Studioприводится здесь лишь как апробация и внедрение предлагаемых результатов.Структура и объём работы.
Диссертация состоит из введения, четырёх глав,заключения, списка сокращений и условных обозначений, списка литературы (146наименований) и трёх приложений. Объем основной части работы — 146 страниц с16 рисунками и 4 таблицами, общий объём работы составляет 215 страниц.Положения, выносимые на защиту1. Разработана методика для создания предметно-ориентированных визуальныхязыков с помощью графического языка метамоделирования и сопутствующихвизуальных языков.2. Предложен новый метод метамоделирования: «метамоделирование на лету»,позволяющий создавать визуальный язык в процессе его использования.3. Предложенные методики реализованы в виде технологии на базе системыQReal.4.
Проведена апробация разработанных методик и технологии при созданииредактора, генератора, средств проверки ограничений среды QReal:Robots идругих предметно-ориентированных решений.Содержание работыВо введении обосновывается актуальность исследований, проводимых в рамкахданной диссертационной работы, формулируется цель работы, научная новизна ипрактическая значимость, приводятся сведения об апробации работы.9В главе 1 приводятся основные понятия, используемые в предметноориентированном визуальном моделировании. Обсуждается структура визуальногоязыка: синтаксис (абстрактный, конкретный и синтаксис сериализации), уровниабстракции (предметная область, модель, метамодель, метаметамодель), вводитсяклассификация формальных языков по важным для дальнейшего изложениясвойствам.По форме представления информации языки делятся на следующие группы:текстовые языки — используют в основном текст для представления информации,графические или визуальные языки, использующие визуальные символы, и текстографические языки, активно использующие и текст, и графику для представленияпрограммы.
Графические языки, в свою очередь, делятся на графовые (в которыхдиаграмма представляет собой помеченный мультиграф, либо сводится к нему) инеграфовые (не сводящиеся к помеченному мультиграфу).По используемой модели вычислений языки делятся на статические (задающиеструктуру разрабатываемой системы) и динамические (описывающие поведение),которые, в свою очередь, делятся на языки, модель вычислений которых основанана сетях Петри (с простыми токенами — ориентированные на поток управления, илис токенами, содержащими в себе существенную информацию — ориентированныена поток данных), и языки, в основе которых лежат диаграммы конечных автоматов.В качестве математического формализма для визуальных языков были выбраныпомеченные ориентированные мультиграфы: G = (V, A, e, L, M ), где V —конечное множество вершин, A — конечное множество дуг, e : A → V × V —функция, ставящая в соответствие дуге из множества A пару вершин (v, w), где v— начало дуги, w — конец дуги.
L — это множество меток, M : V ∪ A → L— функция разметки, ставящая в соответствие вершинам и дугам мультиграфаих метки из L. Метамодель и модель рассматриваются как два помеченныхмультиграфа, соответствие модели метамодели определяется как отображение надметками мультиграфа модели.Глава 2 содержит обзор существующих подходов к созданию DSMрешений.
Рассматриваются существующие методики разработки предметноориентированных языков, обсуждаются возможности, достоинства и недостаткисуществующих DSM-платформ, включая зрелые системы и академическиеразработки. Результаты анализа существующих DSM-платформ с точки зренияналичия в них визуальных средств задания функциональности создаваемыхDSM-решений сведены в таблицу 1.
В ячейках таблицы стоит «Да», есливизуальный язык, реализующий указанную функциональность, присутствует,«Нет», если функциональность можно реализовать на данной платформе как-либо10ещё (не прибегая к модификации самой платформы или написанию стороннихприложений), прочерк — если специализированные средства для реализациифункциональности на платформе отсутствуют, «?», если средства присутствуют, нопо имеющимся источником нельзя установить их тип.Таблица 1: Наличие визуальных языков для задания инструментальных средствНазваниеМетаредакторКонкретныйОграничениясинтаксисТрансфор-Интерпре-мациитацияMetaEdit+ДаДаНет——EclipseДаДаНетНетНетДаНетНетДа—EnvironmentPSL/PSAНет————AToM3ДаДа—ДаДаMicrosoftДаНетНет——PounamuДаДа—Нет—DOMEДаНет—Нет—MetaLanguageДа???—QRealДаДаДаДаДаModelingProjectGenericModelingModeling SDKДелаются выводы о том, что существующие среды не автоматизируют весьжизненный цикл создания предметно-ориентированного решения, особенно егоначальные этапы — если автор DSM-решения имеет ясное представление о предметной области, то к его услугам множество существующих инструментов.
Ноесли требуется вести разработку предметно-ориентированного решения «с нуля»(начиная с оценки осуществимости и анализа предметной области), очень многоепридётся делать без какой-либо инструментальной поддержки и методическихрекомендаций. Таким образом, имеется пробел в существующих исследованиях,который данная работа призвана помочь заполнить.Глава 3 содержит описание предлагаемого подхода к разработке DSM-решений.Приводятся этапы жизненного цикла DSM-решения, обсуждается возможная степень автоматизации каждого этапа, формулируются требования к средствам автоматизации, приводится описание предлагаемой технологии.
Предлагается два варианта методик разработки — «Классическая» методика и методика «Метамоделиро-11вания на лету», которая является вариантом классической и служит для упрощенияпервых этапов жизненного цикла DSM-решения. Схематически «Классическая»методика изображена на рисунке 1.Фаза разработки и внедрения состоит из нескольких итераций, порядок действий для каждой из которых представлен на рисунке 2.Такая методика называется классической, поскольку примерно такой схемы придерживаетсябольшинство существующих DSM-платформ и большинство авторов, описывающих процесс созданияпредметно-ориентированных языков и дающих рекомендации по этому процессу.
Вклад данного исследования состоит в структуризации этапов жизненного цикла, описании действий на каждом этапежизненного цикла и предложения технологии автоматизации каждого этапа. Основная идея, предлагаемая здесь — использование визуальных языков накаждом этапе жизненного цикла, вплоть до описаниягенераторов.С методологической точки зрения научную новизну имеет предлагаемый здесь подход «Метамоделирования на лету». Ключевой принцип даннойметодики состоит в том, что создание визуальногоязыка проходит непосредственно в процессе рисования диаграммы, без использования метаредактора.Рис. 1: «Классическая» методикаОсновной этап предлагаемой методики — проторазработки.типирование языка — начинается сразу после этапаанализа применимости.
Разработчик языка и будущий пользователь работаютза одним рабочим местом. При запуске DSM-платформы они видят канву длярисования и пустую палитру. Пользователь объясняет, что он примерно хотелбы нарисовать, разработчик языка добавляет на палитру новые элементы, определяет для них графическое представление, пользователь рисует. Пользовательможет сказать, что такой-то элемент должен содержать такую-то дополнительнуюинформацию, тогда разработчик добавляет элементу новое свойство, задаёт еготип, пользователь продолжает рисовать диаграмму, используя новое свойство.Через некоторое время пользователь может сам добавлять и редактировать типыэлементов, работа полностью передаётся ему, а разработчик языка лишь следит12Рис. 2: Итерация проектирования и разработки языка.за процессом и консультирует при необходимости пользователя.