Диссертация (1148272), страница 24
Текст из файла (страница 24)
При невыполнении этого ограничения должно выдаваться предупреждение.• Реализовать рефакторинг — преобразование атрибута в сущность. При этомимя атрибута должно стать именем сущности, связь с сущностью-хозяиномдолжна быть удалена.В ходе реализации задачи замерялось время выполнения каждого из еёпунктов, включающее в себя работу непосредственно в редакторах, поиск необходимой информации в документации, если это было необходимо, и борьбу с возникавшими техническими проблемами.
Выбор конкретной технологии решениязадачи и ознакомление с ней в замеряемое время не входили.В эксперименте использовалась среда MetaEdit+ Workbench 5.1 (evaluationversion)2 и среда Obeo Designer 8.1 Community Edition3 . Из набора технологий,входящих в состав Eclipse Modeling Project, для решения задачи были выбраныследующие.23URL: http://www.metacase.com/download/ (дата обращения: 20.01.2016г).URL: http://www.obeodesigner.com/download (дата обращения: 20.01.2016г).121• Eclipse EMF — для описания метамодели разрабатываемого языка ибазового редактора логической модели, позволяющего редактировать еёдревовидное представление.• Eclipse Sirius — для создания визуального редактора диаграмм, соответствующего метамодели, и ограничений на модели, проверяемых в процессередактирования диаграмм.• Acceleo — для создания генератора кода на текстовом языке по модели.• Epsilon (точнее, Epsilon Wizard Language) — для описания и примененияправил рефакторингов.При этом технологии Eclipse EMF, Eclipse Sirius и Acceleo входят в поставкуObeo Designer 8.1 и готовы к работе после установки этого продукта, Epsilonоказалось необходимо устанавливать отдельно.
Obeo Designer 8.1 встроенныхсредств поддержки рефакторингов не имеет. Перечисленные технологии быливыбраны на основании анализа времени последнего обновления и наличияобучающих материалов среди подключаемых модулей Eclipse, предназначенныхдля решения перечисленных задач.Среда QReal в ходе эксперимента использовалась в двух режимах — режимевизуального метаредактора и в режиме «метамоделирования на лету», учётвремени вёлся отдельно по двум режимам.4.4.2. Результаты экспериментаРезультаты эксперимента приведены в таблице 4.1.
Выполнить все требования, перечисленные в условии эксперимента, удалось лишь в Eclipse ModelingProject и в среде QReal в режиме метаредактора. Платформа MetaEdit+ не обладает возможностями по созданию рефакторингов (за исключением прямой модификации модели через API системы, что в рамках эксперимента не рассматривалось),а средства задания ограничений оказались недостаточно выразительными —платформа позволяет задать ограничения вида «не больше заданного количествасвязей», но не позволяет задать ограничения «не меньше».
Средства метамоделирования на лету системы QReal предназначены для прототипирования языкаи предполагают разработку дополнительной функциональности на последующих122фазах, после загрузки получившейся при прототипировании метамодели в метаредактор.Таблица 4.1: Результаты эксперимента по созданию визуального языкаНазваниеРедакторГенераторОграниченияРефакторингиMetaEdit+20 минут30 минут——Eclipse2 часа50 минут17 минут40 минут15 минут15 минут10 минут15 минут5 минут15 минут——DSMплатформыModelingProjectQReal (метаредактор)QReal(метамоделирование налету)Платформа Eclipse Modeling Project показала очень большое по сравнению состальными платформами время создания редактора.
Это связано с используемыми там гибкими, но сложными механизмами задания редактора. ПодсистемаSirius требует отдельного описания метамодели языка, отдельного описаниямодели редактора, связи её с метамоделью языка и отдельного описания палитрыинструментов. При этом для описания поведения элементов палитры используется небольшой текстово-графический язык программирования, позволяющийзадавать действия в виде дерева элементарных действий, таких как созданиеэлемента, установки его атрибутов и т.д.
При этом возникала необходимость частообращаться к документации, поскольку при описании действий используетсятекстовый предметно-ориентированный язык, синтаксис которого необходимознать для создания палитры, а также много графических элементов, семантикакоторых не всегда была ясна из подсказок внутри среды. Возникали и техническиепроблемы, связанные с нестабильностью работы среды Eclipse. Высокие временасоздания остальных инструментов на платформе Eclipse связаны с необходи-123мостью работы сразу в двух запущенных экземплярах платформы, а такжерутинными действиями, такими как перегенерация редактора при изменениях вметамодели и обновление после этого всех созданных инструментов.4.4.3.
Обсуждение и выводыОбсуждение валидностиОсновная угроза валидности эксперимента связана с недостаточным количеством данных. К сожалению, эту угрозу оказалось невозможно устранить— полноценные эксперименты в области программной инженерии требуютбольшого количества ресурсов. Полностью валидный эксперимент требовалбы привлечения нескольких групп разработчиков, решающих на разных DSMплатформах задачи, приближенные к реальным, что интересно само по себе(особенно с учётом отсутствия подобных опубликованных исследований), ноявно выходит за рамки данного исследования.Важной угрозой также является предвзятость участников эксперимента —оба участника являются соавторами технологии QReal.
Устранение этой угрозыоказалось невозможно опять-таки в силу ограниченности времени и ресурсов.Участники эксперимента старались проводить его настолько непредвзято, насколько возможно. Следует отметить при этом, что и в случае реализации задачина системе QReal требовалось обращаться к документации.Следующая угроза — выбор языка и корректность результатов экспериментадля других языков. Язык диаграмм «сущность-связь» относится к графовымстатическим языкам по введённой в главе 1 классификации, к этому классуотносится довольно много практически полезных предметно-ориентированныхязыков. Размер языка намеренно взят небольшим, поскольку исследуемые методыпредназначены для небольших проектов, к тому же это позволило закончитьзадачу эксперимента за разумное время. Существенно повысить валидность позволила бы реализация ещё одного языка, из другого класса (например, редакторадля сетей Петри, с поддержкой операционной семантики), это представляетсяважной частью методики проведения более масштабного эксперимента, чтоявляется важным направлением дальнейшей работы.124ВыводыВ связи с наличием неустранимых угроз валидности эксперимента нельзяотноситься к полученным данным как к количественным характеристикам участвовавших в сравнении DSM-платформ.
Однако в ходе эксперимента выяснилось,что в некоторых случаях платформа QReal позволяет снизить трудозатраты посозданию инструментальных средств на порядок, что является показательнымдаже в свете приведённых выше угроз валидности. Можно сделать вывод, чтоплатформа QReal позволяет создать редактор визуального языка быстрее, чемлидирующие аналоги, а трудозатраты на разработку прочих инструментальныхсредств сравнимы. При этом QReal выигрывает по трудозатратам у EclipseModeling Project (связано это, как представляется, с тем, что Eclipse ModelingProject ориентирован на более масштабные проекты, его сложная и гибкаяархитектура мешала при реализации простого языка, но может существеннопомочь при реализации сложного).
Результаты, показанные QReal, сравнимы срезультатами, показанными платформой MetaEdit+ с учётом большой неточностипоставленного эксперимента, но MetaEdit+ обладает меньшими возможностямипо созданию инструментальных средств, вследствие чего на MetaEdit+ оказалосьневозможно полностью выполнить задачу.В целом можно сделать вывод, что цель, поставленная в данном диссертационном исследовании, достигнута, а также подтверждена заявленная научнаяновизна работы. Предложенная методика требует меньше времени на созданиередактора визуального языка, чем наиболее распространённые из существующиханалогов, и позволяет больше функциональности описать декларативно на визуальных языках, что снижает требования к квалификации пользователей.4.5. ЗаключениеВ данной главе были описаны инструментальные средства, реализованные наплатформе QReal для поддержки предложенных в главе 3 методик. Инструментальные средства включают в себя:• Метаредактор (редактор абстрактного синтаксиса языка);• Редактор формы фигур (редактор конкретного синтаксиса языка);125• Редактор ограничений;• Редактор правил рефакторингов;• Расширения пользовательского интерфейса редактора платформы QReal дляподдержки «метамоделирования на лету».Все исходные коды разработанных инструментальных средств являются открытыми и доступны на сервисе GitHub [114].Также был описан эксперимент по сравнению времени, требующегося наразработку редактора, генератора кода на текстовом языке, средства проверкиограничений и средства задания рефакторингов.
Эксперимент показал, что платформа QReal позволяет создать перечисленные инструменты за время меньшеелибо сравнимое с самыми распространёнными из аналогов, что является однимиз подтверждений достижения цели работы.В приложениях A.1, A.2, A.3 описаны проекты, в которых данные инструментальные средства применялись для создания предметно-ориентированных решений. Успех этих проектов является свидетельством применимости разработанныхинструментальных средств в промышленных условиях.126ЗаключениеОсновные результаты, полученные в данной диссертации, таковы.1. Разработана методика для создания предметно-ориентированных языковс помощью графического языка метамоделирования и сопутствующихвизуальных языков.2.
Предложен новый способ метамоделирования: «метамоделирование налету», позволяющий создавать визуальный язык в процессе его использования.3. Предложенные методики реализованы в виде технологии на базе системыQReal.4. Проведена апробация разработанных методик и технологии при созданииредактора, генератора, средств проверки ограничений среды QReal:Robotsи других предметно-ориентированных решений.Исходя из особенностей предлагаемых методик можно дать следующие рекомендации по применению полученных результатов.1. Предложенные методики подходят для реализации небольших и среднихпо размерам предметно-ориентированных языков (не более порядка 50языковых элементов).2.