авторефераты диссертаций БЕСПЛАТНАЯ  БИБЛИОТЕКА

АВТОРЕФЕРАТЫ КАНДИДАТСКИХ, ДОКТОРСКИХ ДИССЕРТАЦИЙ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ

Разработка инструментальных средств создания визуальных предметно-ориентированных языков

На правах рукописи

Сухов Александр Олегович

РАЗРАБОТКА ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ

СОЗДАНИЯ ВИЗУАЛЬНЫХ

ПРЕДМЕТНО-ОРИЕНТИРОВАННЫХ ЯЗЫКОВ

Специальность 05.13.11 –

Математическое и программное обеспечение

вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание ученой степени

кандидата физико-математических наук

Пермь 2013

Работа выполнена на кафедре математического обеспечения вычислительных систем федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Пермский государственный национальный исследовательский университет».

Научный руководитель: Лядова Людмила Николаевна, кандидат физико-математических наук, доцент

Официальные оппоненты: Терехов Андрей Николаевич, доктор физико-математических наук, заведующий кафедрой системного программирования федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Санкт Петербургский государственный университет»

Малышко Виктор Васильевич, кандидат физико-математических наук, доцент кафедры системного программирования федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Московский государственный университет имени М.В. Ломоносова»

Ведущая организация: Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»

Защита диссертации состоится « 5 » декабря 2013 г. в 17 часов на заседании диссертационного совета Д 002.087.01 при федеральном государственном бюджетном учреждении науки «Институт системного программирования Российской академии наук» по адресу: 109004, Москва, ул. Александра Солженицына, д. 25, конференц-зал (комната 110).

С диссертацией можно ознакомиться в библиотеке федерального государственного бюджетного учреждения науки «Институт системного программирования Российской академии наук».

Автореферат разослан « 1 » ноября 2013 г.

Ученый секретарь диссертационного совета /Прохоров С.П./ кандидат физ.-мат. наук

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Информационные системы (ИС) стали неотъемлемой частью инфраструктуры большинства организаций.

Активное участие в процессе создания и сопровождения ИС должны принимать эксперты в предметной области и конечные пользователи, поскольку именно они знают особенности работы организации и замечают ограничения уже функционирующих в ней систем. При этом использование традиционных подходов к разработке программного обеспечения становится проблематичным, поскольку эксперты, не являющиеся ИТ-специалистами, не способны понять языки программирования общего назначения, используемые при создании ИС, а программисты не обладают достаточным уровнем знаний о предметной области, чтобы учесть ее особенности при реализации системы.

В связи с этим все более востребованными становятся инструментальные средства, использующие при создании ИС модельно ориентированный подход, основная идея которого – построение моделей системы и генерация на их основе кода реализации ИС. Модель системы – это абстрактное описание на некотором формальном языке характеристик системы, важных с точки зрения цели моделирования, ее поведения.

Модельно-ориентированный подход к разработке ИС предполагает наличие хотя бы одного языка моделирования, с использованием которого производится построение моделей. При этом чаще применяются визуальные языки, поскольку графические модели обладают большей наглядностью и понятностью не только для программистов, но и для экспертов в предметной области, конечных пользователей. Визуальный язык – это совокупность формализованных наборов графических символов и правил для построения моделей. Визуальное моделирование – процесс построения моделей средствами визуальных языков.

Для привлечения к процессу разработки и сопровождения ИС экспертов в предметной области, конечных пользователей, не являющихся ИТ-специалистами, необходимо предоставить им удобные языки моделирования, оперирующие привычными для них терминами предметной области. В качестве таких языков могут выступать визуальные предметно-ориентированные языки (Domain-Specific Languages, DSL), предназначенные для решения определенного класса задач в конкретной предметной области. Однако построение нового DSL – достаточно сложная задача, поскольку помимо описания самого языка моделирования необходимо создать удобный редактор для работы с ним. Для упрощения процесса разработки и сопровождения DSL используется специальный вид программного обеспечения – языковой инструментарий, или DSM платформа [6].

Большое влияние на формирование и развитие предметно ориентированного моделирования оказали исследования М. Фаулера, Ю.-П. Толванена, С. Келли, М. Велтера, работы, ведущиеся в СПбГУ (руководитель – профессор А.Н. Терехов), в ЮФУ (руководитель – профессор Ю.И. Рогозов), в НИУ ИТМО (руководитель – профессор Ф.А. Новиков) и др.

В процессе создания и эксплуатации информационных систем могут принимать участие различные категории специалистов (программисты, бизнес-аналитики, эксперты в предметной области и др.), в этом случае появляется необходимость динамического изменения описания DSL, его настройки на потребности конкретного пользователя. Для реализации этой возможности необходимо, чтобы языковой инструментарий позволял выполнять многоуровневое моделирование, при этом должна быть построена иерархия моделей: модель, метамодель, мета-метамодель и т.д., где метамодель – модель языка, используемого для создания моделей, а мета-метамодель (метаязык) – язык, на котором описываются метамодели.



При разработке крупных ИС нельзя ограничиваться созданием только одной модели, т.к. такая модель будет громоздкой, сложной для понимания и модификации, поэтому, как правило, выполняется построение нескольких моделей, описывающих систему с различных точек зрения, с разной степенью детализации, созданных с использованием различных DSL. После построения моделей пользователь может на их основе сгенерировать исходный код реализации системы или выполнить экспорт разработанных моделей во внешние системы для их дальнейшей обработки, например, для проведения имитационного моделирования. Для этого требуется наличие средств трансформации моделей, которые позволяют производить преобразование моделей, описанных с использованием одного визуального языка, в модели, построенные в иной графической/текстовой нотации.

Причем описание правил преобразования моделей должно производиться в терминах исходного и целевого языков моделирования, понятных различным категориям специалистов.

Цель и задачи работы. Целью диссертационного исследования является разработка методов и реализующих их инструментальных средств, позволяющих создавать визуальные динамически настраиваемые предметно-ориентированные языки моделирования, производить построение моделей программных систем с использованием этих языков и выполнять вертикальные и горизонтальные трансформации созданных моделей.

Для достижения цели были поставлены следующие задачи:

1. Провести анализ методов и инструментальных средств создания визуальных DSL.

2. Построить математическую модель для реализации процесса разработки визуальных DSL.

3. На основе построенной математической модели разработать метод создания визуальных предметно-ориентированных языков моделирования, обеспечивающий:

возможность многоуровневого моделирования;

возможность динамического изменения описания языков моделирования без перегенерации исходного кода их редакторов;

единообразие средств представления, описания и использования моделей различных уровней иерархии.

4. Разработать метод описания и выполнения трансформаций моделей, позволяющий определять преобразования моделей в нотациях исходного и целевого языков моделирования.

5. На основе построенной математической модели, разработанных методов программно реализовать инструментальные средства MetaLanguage, позволяющие упростить создание визуальных DSL и выполнение трансформаций моделей. С использованием разработанного инструментария описать визуальные динамически настраиваемые DSL для некоторых предметных областей, сравнить выразительную мощность метаязыка и возможности системы MetaLanguage с другими языковыми инструментариями, проверить практическую значимость полученных в диссертационном исследовании результатов.

Методы исследования. В диссертационной работе используется понятийный аппарат теории множеств, теории графов, теории графовых грамматик;

методы и средства объектно-ориентированного программирования.

Научной новизной обладают следующие результаты диссертационного исследования:

1. Разработанная математическая модель, лежащая в основе процесса создания визуальных предметно-ориентированных языков, позволяющая унифицированным образом описывать модели различных уровней иерархии, поддерживать метамодели и модели в согласованном состоянии при внесении изменений в метаязык и/или метамодель.

2. Построенный на основе разработанной математической модели метод создания визуальных DSL, позволяющий не только производить многоуровневое моделирование, но и выполнять внесение изменений в описание предметно-ориентированных языков без повторной генерации исходного кода их редакторов.

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

Практическая значимость. Предложенные в диссертационном исследовании методы применялись автором на практике при создании предметно-ориентированных языков для различных предметных областей [4, 7, 10, 13, 17].

Система MetaLanguage используется в практике деятельности ООО «Новая платформа» при создании системы FlexBerry, предназначенной для разработки SaaS-решений.

Результаты, полученные в ходе диссертационного исследования, внедрены в учебный процесс Пермского государственного национального исследовательского университета и Пермского филиала национального исследовательского университета «Высшая школа экономики».

По теме диссертационной работы получено свидетельство о регистрации программы для ЭВМ в ФИПС РФ (Роспатент) [27], пять свидетельств о регистрации электронных ресурсов в ОФЭРНиО (ЦИТиС) [22-26].





Результаты диссертации могут быть использованы в следующих перспективных исследованиях: в области программной инженерии, при разработке основанных на методах многоуровневого моделирования инструментальных средств создания ИС;

при решении практических задач в области создания DSL для конкретных предметных областей;

в области разработки подходов к автоматизированному построению DSL на основе онтологий, полученных в результате анализа различных документов предметной области;

в области усовершенствования методов трансформации визуальных моделей.

Апробация работы и публикации. Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях:

1. Серия всероссийских научно-практических конференций «Технологии Microsoft в теории и практике программирования»

г. Новосибирск, г. Нижний Новгород в 2008 г.;

г. Томск, г. Нижний Новгород в 2009 г.;

г. Нижний Новгород в 2010 г.

2. Всероссийская научно-практическая конференция молодых ученых с международным участием «Современные проблемы математики и ее прикладные аспекты», г. Пермь, 2010 г. и 2013 г.

3. Международный конгресс по интеллектуальным системам и информационным технологиям AIS/CAD'10, пос. Дивноморское, 2010 г.

4. Международная научно-техническая конференция «Технологии разработки информационных систем», г. Геленджик, 2011-2013 гг.

5. Международная конференция «Spring/Summer Young Researchers’ Colloquium on Software Engineering (SYRCoSE)», г. Пермь в 2012 г., г. Казань в 2013 г.

6. Всероссийская научно-практическая конференция с международным участием «Актуальные проблемы механики, математики, информатики 2012», г. Пермь, 2012 г.

7. Научная школа молодых ученых «Computer Science Days in Ekaterinburg», г. Екатеринбург, 2012 г.

8. Всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности «Имитационное моделирование. Теория и практика – ИММОД-2013», г. Казань, 2013 г.

Основные результаты диссертации опубликованы в 29 работах, среди которых 21 статья, 3 из них в изданиях, включенных в перечень ведущих рецензируемых научных журналов, рекомендованных ВАК.

Работа была поддержана следующими грантами:

1. РФФИ, 2008-2009 гг., проект № 08-07-90006-Бел-а «Интеграция систем имитационного моделирования и информационных систем на основе онтологий и многоуровневых моделей предметных областей».

2. РФФИ, 2010-2011 гг., проект № 10-01-00794-а «Методы создания DSL-инструментария и моделирования предметных областей на основе многоуровневых онтологий и графовых грамматик».

3. РФФИ, 2012-2013 гг., проект № 12-07-00763-а «Методы и средства реализации трансформаций предметно-ориентированных языков моделирования сложных проблемно-ориентированных информационных систем».

4. Научный фонд НИУ «Высшая школа экономики», софинансирование гранта РФФИ, 2012-2013 гг.

Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка сокращений, списка терминов, списка литературы из 128 наименований и 8 приложений. Основная часть работы изложена на 157 страницах, содержит 41 рисунок и 1 таблицу.

СОДЕРЖАНИЕ РАБОТЫ

Во введении обосновывается актуальность темы диссертационного исследования, формулируются цели и задачи работы, ее новизна и практическая значимость, приводится краткий обзор диссертации.

В начале первой главы рассматриваются особенности модельно ориентированного подхода к разработке информационных систем.

Некоторые его реализации (например, MDA) применяют для построения моделей языки моделирования общего назначения, однако такие языки сложны для понимания не только для экспертов в конкретной предметной области, которые принимают участие в процессе создания системы, но и, в некоторых случаях, даже для ИТ-специалистов. Кроме того, иногда бывает затруднительно адекватно выразить понятия предметной области с помощью языков общего назначения.

Другие реализации модельно-ориентированного подхода используют в процессе построения ИС визуальные предметно-ориентированные языки, которые позволяют:

максимально учесть особенности предметной области при реализации системы;

сократить семантический разрыв между понятиями предметной области и понятиями, которыми оперируют средства разработки ИС;

привлечь к процессу разработки ИС экспертов в конкретной предметной области, конечных пользователей.

Основную часть первой главы составляет анализ наиболее развитых на сегодняшний день методов и инструментальных средств создания DSL (MetaEdit+, MS DSL Tools, Eclipse GMF, QReal и др.). В результате анализа были выявлены следующие основные ограничения, присущие большинству рассмотренных систем [14]:

1. Отсутствие возможности многоуровневого моделирования.

Наличие такой возможности позволило бы вносить изменения в описание метаязыка, расширять его новыми конструкциями, тем самым приближая метаязык к специфике конкретной предметной области.

2. Внесение изменений в описание DSL приводит к необходимости повторной генерации кода редактора языка: для модификации DSL необходимо сначала изменить его метамодель, перегенерировать исходный код редактора, а лишь потом можно приступить к построению моделей.

3. Наличие избыточной функциональности языкового инструментария, не используемой при создании DSL, которая затрудняет изучение инструментария пользователями, не являющимися ИТ-специалистами.

4. Отсутствие развитых средств горизонтальной трансформации моделей, которые позволяют не только создавать единое описание системы на основе моделей, построенных на различных этапах разработки ИС, но и генерировать исходный код по указанному пользователем шаблону, либо производить преобразование модели, описанной с использованием одного языка моделирования, в модель, выполненную в иной графической нотации.

Существующие ограничения методов и инструментальных средств создания визуальных DSL было решено устранить при разработке системы MetaLanguage [2], удовлетворяющей следующим требованиям:

универсальность – возможность построения визуальных языков моделирования для широкого спектра предметных областей;

наличие возможности многоуровневого моделирования;

наличие возможности динамического изменения описания языков моделирования без повторной генерации исходного кода редакторов DSL;

автоматическое поддержание в согласованном состоянии описаний метамоделей и моделей при внесении изменений в метаязык и/или метамодель;

наличие средств трансформации моделей, позволяющих выполнять преобразования моделей как между различными уровнями иерархии, так и внутри одного уровня (между различными языками моделирования);

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

удобство работы с системой для различных категорий специалистов.

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

Метаязык системы MetaLanguage обладает свойством «самоописываемости», которое предоставляет возможность:

выполнять многоуровневое моделирование;

производить объединение нескольких моделей, созданных на основе общей метамодели;

добавлять новые конструкции в метаязык и/или изменять существующие.

Одним из отличий системы MetaLanguage от других DSM-платформ является то, что, благодаря интерпретации описаний моделей различных уровней иерархии, а не генерации на их основе исходного кода, появляется возможность изменения конструкций метаязыка и создаваемых DSL в динамике, во время построения моделей.

Базовыми элементами метаязыка системы MetaLanguage являются сущность, отношение, ограничения [7, 21]. Сущность – это конструкция метаязыка, используемая для обозначения множества однотипных объектов предметной области, информация о которых должна быть учтена при построении модели. Отношение – это конструкция метаязыка, используемая для обозначения связи между сущностями. Система MetaLanguage позволяет создавать отношения трех типов: ассоциация, агрегация, наследование. Сущности и отношения могут иметь атрибуты и ограничения. Ограничения определяют правила построения модели.

Для формального описания процесса создания визуальных DSL была построена математическая модель, в которой даны формальные определения метамодели и модели, описаны операции создания графа модели и его интерпретации. В качестве аппарата для построения математической модели были выбраны ориентированные псевдо метаграфы [1]. Данный вид графов позволяет объединить в отдельные множества определенные вершины графа, так могут быть сгруппированы все атрибуты сущности/отношения, ограничения, налагаемые на сущность/отношение и др. Это позволяет сократить число дуг графа и сделать модель более структурированной, логичной. Рассмотрим построенную математическую модель процесса создания визуальных DSL подробнее [3].

Множество всех сущностей метамодели обозначим Ent = {enti}, iN, где N– множество натуральных чисел, а множество отношений метамодели – Rel = {relk}, kN. Обозначим через EAttri и EResti, i 1, Ent множество вершин, соответствующих атрибутам и ограничениям i-ой k 1, Rel сущности, а через RAttrk и RRestk, – множество вершин, соответствующих атрибутам и ограничениям k-ого отношения. Число элементов этих множеств потенциально не ограничено, но в каждый фиксированный момент времени оно конечно.

Пусть далее EEA – множество дуг, соединяющих каждую сущность метамодели с множеством принадлежащих ей атрибутов, ERA – множество дуг, соединяющих каждое отношение метамодели с множеством принадлежащих ему атрибутов, EER – множество дуг, соединяющих каждую сущность метамодели с множеством налагаемых на нее ограничений, ERR – множество дуг, соединяющих каждое отношение метамодели с множеством налагаемых на него ограничений, EERR – множество дуг, соответствующих связям между сущностями и отношениями. Число элементов всех этих множеств потенциально не ограничено, но в каждый фиксированный момент времени конечно.

Тогда граф метамодели – это ориентированный псевдо-метаграф GMM = (V, E), где V – это непустое множество вершин графа, E – это множество дуг графа, причем эти множества определяются равенствами (1) и (2):

Ent Ent Rel Rel V Ent i 1 EAttri i 1 EResti Rel k 1 RAttrk k 1 RRestk, (1) E EEA ERA EER ERR EERR. (2) На рис. 1 представлен пример графа метамодели для сущности «Прецедент» диаграммы прецедентов UML [16].

Дата Имя Описание создания EAttri eeai Прецедент (enti) Рис. 1. Граф метамодели для сущности «Прецедент»

Как видно из рисунка, граф метамодели содержит вершину enti, соответствующую сущности «Прецедент», множество вершин EAttri, соответствующих атрибутам данной сущности, а также дугу eeai, соединяющую вершину enti с множеством вершин EAttri.

Аналогичным образом определяется граф модели. Граф модели – это ориентированный псевдо-метаграф GM = (VI, EI), где VI – это непустое множество вершин графа, EI – это множество дуг графа, причем эти множества определяются равенствами (3) и (4):

Rel EAttri RAttrk Ent VI EntIi EAttrIi j RelI k RAttrI kl, (3) j 1 k 1 l 1 i EI EEAI ERAI EERRI T. (4) В определении графа модели используются следующие обозначения:

EntIi – множество экземпляров i-ой сущности;

EAttrIi j – множество значений атрибутов j-ого экземпляра i-ой сущности;

RelIk – множество экземпляров k-ого отношения;

RAttrI kl – множество значений атрибутов l-ого экземпляра k-ого отношения;

EEAI – множество дуг, соединяющих каждый экземпляр сущности с множеством принадлежащих ему атрибутов;

ERAI – множество дуг, соединяющих каждый экземпляр отношения с множеством принадлежащих ему атрибутов;

EERRI – множество дуг, соответствующих связям между экземплярами сущностей и экземплярами отношений;

T – множество дуг графа модели, соединяющих экземпляры сущностей и отношений с теми сущностями и отношениями метамодели, на основе которых они созданы.

Число элементов всех этих множеств потенциально не ограничено, но в каждый фиксированный момент времени конечно.

Далее в работе приводится формальное описание операций создания и интерпретации графов моделей, которые фактически являются алгоритмами вертикальной трансформации моделей в прямом и обратном направлении [5]. Так при построении модели пользователь, оперируя сущностями и отношениями метамодели, создает их экземпляры, при этом фактически происходит отображение графа метамодели на граф модели.

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

На основе построенной математической модели разработаны подходы к реализации программных средств создания DSL, описанные в третьей главе. В начале третьей главы приводится описание архитектуры системы MetaLanguage (см. рис. 2) [15].

Графический Репозиторий Валидатор редактор Метамодель Список Метамодель Модель Модель ошибок Модель Модель Мета Модель Браузер моделей модели Метамодель Исходная Правила Целевая модель трансформации модель Модель Модель Трансформатор Модель Рис. 2. Архитектура системы MetaLanguage Единым хранилищем описаний моделей различных уровней иерархии является репозиторий. Он содержит информацию о метамоделях, моделях, сущностях, отношениях, атрибутах, ограничениях, трансформациях и др.

Информация о метамоделях и моделях хранится единообразно, что позволяет работать с ними с помощью одного инструментария. Браузер моделей позволяет загружать/сохранять метамодели вместе с созданными на их основе моделями, выполнять над метамоделями и моделями различные операции (редактирование, проверка ограничений, трансформация и др.). Графический редактор представляет собой программные компоненты, которые предоставляют пользователю средства визуального создания метамоделей и моделей. Валидатор позволяет проверять ограничения, заданные пользователем при описании метамодели. Трансформатор – это компонент, предоставляющий возможность выполнять горизонтальные трансформации моделей в текст на целевом языке программирования либо в визуальные модели, описанные в иной графической нотации.

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

Система MetaLanguage позволяет выполнять многоуровневое моделирование: определив некоторую метамодель, пользователь может загрузить ее в систему и использовать уже в качестве метаязыка для построения других метамоделей. Благодаря этому существует возможность создать целую иерархию языков моделирования, предназначенных для решения различных задач разными категориями пользователей.

Далее в третьей главе рассматривается возможность интеграции системы MetaLanguage с различными инструментальными средствами, предназначенными как для разработки ИС на основе созданных моделей (CASE-средствами), так и для их анализа (системами имитационного моделирования).

Большая часть третьей главы посвящена рассмотрению базовых алгоритмов функционирования системы MetaLanguage:

создания/модификации/удаления сущностей, отношений, ограничений;

создания/модификации/ удаления экземпляров сущностей и отношений;

проверки ограничений, налагаемых на элементы метамоделей. Все эти алгоритмы имеют полиномиальную сложность.

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

Вертикальная трансформация – это преобразование модели, описанной на одном уровне иерархии, в модель, представленную на другом уровне. Трансформация модели вышестоящего уровня иерархии, в модель нижестоящего уровня соответствует операции создания модели, расположенной на нижестоящем уровне. Обратная трансформация позволяет производить интерпретацию модели нижестоящего уровня, определять типы ее элементов, выполнять различные операции над этой моделью.

Горизонтальные трансформации, в отличие от вертикальных, работают с моделями, расположенными на одном уровне иерархии. Анализ языков, методов и инструментальных средств описания горизонтальных трансформаций, приведенный в работе, показал, что наиболее подходящим для реализации в системе MetaLanguage является алгебраический подход с одинарным выталкиванием, основанный на графовых грамматиках [12, 18].

Горизонтальные трансформации в MetaLanguage описываются на уровне метамоделей, что позволяет задавать преобразования, которые могут быть применены ко всем моделям, построенным с использованием данных метамоделей. Для создания трансформации необходимо выбрать исходную и целевую метамодели и задать продукционные правила, описывающие преобразование. В зависимости от вида трансформации правой частью правила будет либо текстовый шаблон для генерации кода, либо фрагмент целевой метамодели.

Правила трансформации выполняются в соответствии с порядком, заданным пользователем. Сначала будут найдены все возможные вхождения в исходную модель левой части первого правила, для каждого из них система выполнит замену левой части правила на правую, затем система перейдет ко второму правилу и приступит к его применению и т.д. [9]. Таким образом, для применения продукционного правила система MetaLanguage выполняет два алгоритма: алгоритм поиска левой части правила в графе исходной модели и алгоритм замены левой части правила на правую [20].

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

Алгоритм замены левой части правила на правую зависит от вида трансформации. Трансформация вида «модель-текст» позволяет пользователю системы MetaLanguage по заданным им шаблонам генерировать на основе построенных моделей исходный код на целевом языке программирования, а также другое текстовое представление модели, например, ее описание в формате XML.

Трансформация вида «модель-модель» позволяет выполнять преобразование визуальной модели, созданной с использованием одного языка моделирования, в модель, описанную в другой графической нотации.

При описании продукционного правила трансформации этого вида также необходимо задать правила преобразования атрибутов сущностей и отношений.

Следует отметить, что в рассматриваемом подходе для описания трансформаций не создается специальный язык, а используются нотации исходной и целевой метамоделей, поэтому пользователю системы MetaLanguage не требуется знание дополнительного языка задания трансформаций.

Четвертая глава посвящена иллюстрации возможностей системы MetaLanguage и выразительной мощности метаязыка. В этой главе рассматриваются примеры создания визуальных предметно ориентированных языков для описания административных регламентов (АР) и построения моделей систем массового обслуживания (СМО).

Созданный язык описания административных регламентов ARDL позволяет снизить трудоемкость разработки и сопровождения моделей административных регламентов, сделать регламенты понятными как государственным служащим, так и обычным гражданам [7].

Разработанный многоуровневый язык описания моделей систем массового обслуживания позволяет различным категориям специалистов выполнять построение моделей СМО в привычных для них терминах. Так ИТ-специалисты имеют возможность описывать модели в нотации общецелевого языка, оперирующего терминами теории СМО, а эксперты в конкретной предметной области – в нотации предметно-ориентированного языка моделирования работы автозаправочной станции, это позволяет различным категориям специалистов работать с одной моделью на различных уровнях языка и выполнять экспорт построенных моделей в системы имитационного моделирования для проведения дальнейших исследований.

Рассмотренные в четвертой главе примеры создания DSL позволили сделать вывод о том, что выразительной мощности метаязыка системы MetaLanguage достаточно для создания визуальных предметно ориентированных языков моделирования для различных предметных областей.

В заключении формулируются основные результаты работы и описываются перспективы дальнейших исследований.

В приложении A приводится сравнительный анализ формализмов описания синтаксиса визуальных языков моделирования, который обосновывает выбор математического аппарата, используемого при построении математической модели для реализации процесса создания визуальных DSL. Приложение B содержит аналитический обзор языков и инструментальных средств трансформации визуальных моделей, анализ возможности их применения для преобразования моделей в системе MetaLanguage. Приложение C содержит примеры фрагментов моделей административных регламентов, описанных с использованием различных графических нотаций. В приложении D содержится описание трансформации, позволяющей выполнять преобразование моделей АР, созданных с использованием языка ARDL, в эквивалентные модели, выполненные в нотации Flowchart, а также пример применения данной трансформации к модели АР регистрации автомототранспортных средств.

Приложение E содержит XML-описание АР регистрации автомототранспортных средств, сгенерированное компонентом трансформации разработанной системы. В приложении F иллюстрируется сравнение системы MetaLanguage с другими DSM-платформами на примере создания предметно-ориентированного языка описания АР. Приложение G содержит копии свидетельств о регистрации электронных ресурсов по материалам диссертационного исследования. Приложение H содержит копии актов о внедрении результатов диссертационного исследования.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ Основные научные и практические результаты, выносимые на защиту:

1. Построена математическая модель, лежащая в основе процесса создания визуальных предметно-ориентированных языков, позволяющая унифицированным образом описывать модели различных уровней иерархии, поддерживать модели и метамодели в согласованном состоянии при внесении изменений в метаязык и/или метамодель.

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

3. Разработан метод трансформации моделей, предоставляющий возможность описывать и выполнять преобразования моделей как между различными уровнями иерархии, так и внутри одного уровня (между различными языками моделирования).

4. На основе разработанных методов программно реализованы инструментальные средства MetaLanguage, упрощающие создание визуальных DSL и построение с их помощью моделей программных систем, а также снимающие ограничения присущие другим языковым инструментариям. С использованием системы MetaLanguage построены предметно-ориентированные языки для ряда проектов. Разработанные методы и инструментальные средства используются в практике деятельности ООО «Новая платформа», внедрены в учебный процесс Пермского государственного национального исследовательского университета и Пермского филиала национального исследовательского университета «Высшая школа экономики».

ПУБЛИКАЦИИ АВТОРА ПО ТЕМЕ ДИССЕРТАЦИИ Публикации в журналах, включенных в перечень ВАК РФ 1. Сухов А.О. Анализ формализмов описания визуальных языков моделирования / Современные проблемы науки и образования. – 2012. – № 2. – С. 1-9.

2. Сухов А.О. Инструментальные средства создания визуальных предметно-ориентированных языков моделирования / Фундаментальные исследования. – 2013. – № 4 (ч. 4). – С. 848-852.

3. Сухов А.О. Теоретические основы разработки DSL-инструментария с использованием графовых грамматик / Информатизация и связь. – 2011.

– № 3. – С. 35-37.

Другие публикации 4. Замятина Е.Б., Лядова Л.Н., Сухов А.О. О подходе к интеграции систем моделирования и информационных систем на основе DSM-платформы MetaLanguage / Материалы IV межд. научно-технической конференции «Технологии разработки информационных систем ТРИС-2013».

Таганрог: Изд-во Технол. инст. ЮФУ, 2013. – Т. 1. – С. 61-70.

5. Лядова Л.Н., Серый А.П., Сухов А.О. Подходы к описанию вертикальных и горизонтальных трансформаций метамоделей / Математика программных систем: межвуз. сб. науч. ст. Пермь: Изд-во Перм. гос. нац. исслед. ун-та, 2012. – Вып. 9. – С. 33-49.

6. Лядова Л.Н., Сухов А.О. Визуальные языки и языковые инструментарии:

методы и средства реализации / Труды межд. научно-технической конференции «Интеллектуальные системы» (AIS’10). М.: Физматлит, 2010. – Т. 1. – С. 374-382.

7. Лядова Л.Н., Сухов А.О. Моделирование административных регламентов с использованием возможностей языкового инструментария MetaLanguage / Материалы IV межд. научно технической конференции «Технологии разработки информационных систем ТРИС-2013». Таганрог: Изд-во Технол. инст. ЮФУ, 2013. – Т. 2. – С. 45-49.

8. Лядова Л.Н., Сухов А.О. Языковой инструментарий системы MetaLanguage / Математика программных систем: межвуз. сб. науч. ст.

Пермь: Изд-во Перм. гос. ун-та, 2008. – Вып. 5. – С. 40-51.

9. Серый А.П., Лядова Л.Н., Сухов А.О. Методы и средства разработки языков описания трансформаций предметно-ориентированных языков / Материалы III межд. научно-технической конференции «Технологии разработки информационных систем ТРИС-2012». Таганрог: Изд-во Технол. инст. ЮФУ, 2012. – Т. 1. – С. 107-112.

10. Сухов А.О. Интеграция систем имитационного моделирования и предметно-ориентированных языков описания бизнес-процессов / Математика программных систем: межвуз. сб. науч. ст. Пермь: Изд-во Перм. гос. ун-та, 2009. – Вып. 6. – С. 79-84.

11. Сухов А.О. Классификация предметно-ориентированных языков и языковых инструментариев / Математика программных систем: межвуз.

сб. науч. ст. Пермь: Изд-во Перм. гос. нац. исслед. ун-та, 2012. – Вып. 9.

– С. 74-83.

12. Сухов А.О. Методы трансформации визуальных моделей / Материалы III межд. научно-технической конференции «Технологии разработки информационных систем ТРИС-2012». Таганрог: Изд-во Технол. инст.

ЮФУ, 2012. – Т. 1. – С. 120-124.

13. Сухов А.О. Моделирование приложений для сотовых телефонов с использованием предметно-ориентированных языков / Математика программных систем: межвуз. сб. науч. ст. Пермь: Изд-во Перм. гос. ун та, 2009. – Вып. 6. – С. 85-89.

14. Сухов А.О. Сравнение систем разработки визуальных предметно ориентированных языков / Математика программных систем: межвуз.

сб. науч. ст. Пермь: Изд-во Перм. гос. нац. исслед. ун-та, 2012. – Вып. 9.

– С. 84-111.

15. Сухов А.О. Среда разработки визуальных предметно-ориентированных языков моделирования / Математика программных систем: межвуз. сб.

науч. ст. Пермь: Изд-во Перм. гос. ун-та, 2008. – Вып. 5. – С. 84-94.

16. Сухов А.О. Формальное описание метаязыка системы MetaLanguage / Труды всерос. научно-практической конференции «Современные проблемы математики и ее прикладные аспекты». Пермь: Изд-во Перм.

гос. ун-та, 2010. – С. 154-159.

17. Сухов А.О., Семков Н.А. Предметно-ориентированный язык описания моделей систем типа «Умный дом» / Математика программных систем:

межвуз. сб. науч. ст. Пермь: Изд-во Перм. гос. нац. исслед. ун-та, 2013.

– Вып. 10. – С. 47-53.

18. Сухов А.О., Серый А.П. Использование графовых грамматик для трансформации моделей / Материалы конференции «CSEDays 2012».

Екатеринбург: Изд-во Урал. ун-та, 2012. – С. 48-55.

19. Sukhov A.O. Applying Graphs for Multilevel Domain Model Description / Материалы конференции «CSEDays 2012». Екатеринбург: Изд-во Урал.

ун-та, 2012. – С. 82-89.

20. Sukhov A.O., Lyadova L.N. Horizontal Transformations of Visual Models in MetaLanguage System / Proceedings of the 7th Spring/Summer Young Researchers’ Colloquium on Software Engineering. М.: Изд-во Инст. сист.

прогр. РАН, 2013. – P. 31-40.

21. Sukhov A.O., Lyadova L.N. MetaLanguage: a Tool for Creating Visual Domain-Specific Modeling Languages / Proceedings of the 6th Spring/Summer Young Researchers’ Colloquium on Software Engineering.

М.: Изд-во Инст. сист. прогр. РАН, 2012. – P. 42-53.

Свидетельства о регистрации электронных ресурсов, разработанных по материалам диссертационного исследования 22. Инструментальное средство создания визуальных динамически настраиваемых предметно-ориентированных языков моделирования MetaLanguage: свидетельство о регистрации электронного ресурса № 16573 / А.О. Сухов, Л.Н. Лядова. № 50201150032;

заявл. 24.12.2010;

опубл. 31.12.2010. Хроники объединенного фонда электронных ресурсов «Наука и Образование», № 12, 2010 г., 1 с.

23. Обучающий видео-курс по работе с инструментальным средством MetaEdit+: свидетельство о регистрации электронного ресурса № / А.О. Сухов, А.А. Кандакова, Е.С. Попова. № 50201150528;

заявл.

опубл. 30.04.2011. Хроники объединенного фонда 21.04.2011;

электронных ресурсов «Наука и Образование», № 4, 2011 г., 1 с.

24. Обучающий видео-курс по работе с языковым инструментарием Eclipse свидетельство о регистрации Graphical Modeling Framework:

электронного ресурса № 16577 / А.О. Сухов, А.О. Анисимов, К.В. Рябинин, С.И. Шарыбин. № 50201150029;

заявл. 28.12.2010;

опубл.

31.12.2010. Хроники объединенного фонда электронных ресурсов «Наука и Образование», № 12, 2010 г., 1 с.

25. Обучающий видеоролик по работе с языковым инструментарием Meta Programming System: свидетельство о регистрации электронного ресурса № 18876 / И.С. Постаногов, Е.А. Чудинов, Т.А. Галимзянова, А.О. Сухов № 50201350068;

заявл. 16.01.2013;

опубл. 31.01.2013.

Хроники объединенного фонда электронных ресурсов «Наука и Образование», № 1, 2013 г., 1 с.

26. Электронные учебно-методические материалы дисциплины «Моделирование процессов и систем»: свидетельство о регистрации электронного ресурса № 18877 / Л.Н. Лядова, А.О. Сухов № 50201350069;

заявл. 17.01.2013;

опубл. 31.01.2013. Хроники объединенного фонда электронных ресурсов «Наука и Образование», № 1, 2013 г., 1 с.

27. MetaLanguage: инструментальное средство создания визуальных предметно-ориентированных языков моделирования: свидетельство ФИПС РФ о государственной регистрации программы для ЭВМ № 2013615052 / А.О. Сухов, Л.Н. Лядова;

заявл. 29.03.2013;

опубл.

20.06.2013. Официальный бюллетень «Программы для ЭВМ, базы данных, топологии интегральных микросхем», № 2, 2013 г., 1 с.

Подписано в печать 31.10.13. Формат 6084 1/ Усл. печ. л. 1,33. Бум. офсетная. Печать офсетная.

Тираж 100 экз. Заказ № Типография Пермского государственного национального исследовательского университета 614990, г. Пермь, ул. Букирева,

 

Похожие работы:





 
2013 www.netess.ru - «Бесплатная библиотека авторефератов кандидатских и докторских диссертаций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.