Главная » Просмотр файлов » Диссертация

Диссертация (1148272), страница 19

Файл №1148272 Диссертация (Методы и средства разработки графических предметно-ориентированных языков) 19 страницаДиссертация (1148272) страница 192019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 19)

После того, какприложение отлажено, в DSM-решении рисуется модель, по которой оно могло бы быть сгенерировано.ii. Когда модельное приложение готово, его части, которые не будутменяться от модели к модели, имеет смысл вынести в отдельнуюбиблиотеку, написанную вручную. Такая библиотека называетсябиблиотекой времени выполнения (runtime) и нужна для того,чтобы упростить написание генератора. Она может быть довольносложной (вплоть до того, что представлять из себя полноценноеприложение, которое лишь конфигурируется результатом генерации), её может вообще не быть (если генерируются достаточно общие приложения, которым хватает возможностей целевой93платформы).

Подробнее соображения по разработке предметноориентированной библиотеки и балансе функциональности междуней и генератором см. в [36].iii. Разработка собственно генератора, как правило, заключается в«шаблонизации» готового модельного приложения — места, параметризуемые информацией из модели, размечаются директивами, руководствуясь которыми генератор формирует целевой код.Конкретный способ задания правил генерации зависит от возможностей DSM-платформы: как правило, используется текстовыйязык описания правил генерации либо генератор пишется вручную. В проекте QReal также используется текстовый предметноориентированный язык или рукописные генераторы, велись работы и по созданию визуального языка для этой цели. В процессеразработки генератора часто приходится править модельное приложение, чтобы сделать его структуру более пригодной для генерации, после чего корректировать библиотеку времени выполнения,поэтому процесс разработки генератора итеративен.5.

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

Тестирование и апробация созданных инструментов проводятся сначаларазработчиком, затем экспертами предметной области, для которых создаётся язык. Для начальных итераций обычно достаточно наличия одного эксперта, который бы попробовал воспользоваться созданным DSMрешением и высказал замечания, для более поздних итераций требуетсярасширять базу пользователей и давать им возможность решать реальныепрактические задачи. Чем раньше это будет сделано, тем быстрее будетполучена обратная связь и тем быстрее можно будет внести коррективы всоздаваемый инструментарий или выявить нужную пользователям функци-94ональность, которая пока не была реализована. На этом этапе потребуетсясборка инсталляционного пакета для DSM-решения, написание документации, исправление большого количества мелких ошибок, демонстрацияинструмента пользователям, наблюдение за их действиями в инструменте,сбор обратной связи.

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

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

Устаревшее DSM-решение может быть заменено более новым, можетбыть произведён реинжиниринг, оно может быть просто снято с сопровождения.При этом в любом случае пользователей следует заранее оповестить о прекращении поддержки и запланировать дальнейшие действия.3.4. Метамоделирование на лету«Метамоделирование на лету» — новая методика, разработанная в рамкахданной диссертационной работы и призванная оптимизировать начальные этапы95«классической» методики с целью максимально возможно сократить время отпринятия решения о реализации DSM-решения до получения первого работающего прототипа редактора визуального языка, и максимально вовлечь конечногопользователя в процесс разработки.

Основной принцип данной методики состоитв том, что создание визуального языка проходит непосредственно в процессерисования диаграммы, без использования метаредактора. Для этого требуетсяспециальная поддержка со стороны DSM-платформы, реализация которой в QRealбудет описана в главе 4:• интерпретация метамодели, когда редактор не генерируется по метамоделиязыка, а имеется настраиваемый редактор, который использует внутреннеепредставление метамодели в памяти для получения информации о языке;• пользовательский интерфейс над интерпретатором метамодели, дающийвозможность добавлять элементы, удалять элементы, добавлять, редактировать и удалять свойства элементов, менять графическое представлениеэлементов прямо во время работы.Основной этап предлагаемой методики — прототипирование языка — начинается сразу после этапа анализа применимости, и идейно близок к методике,изложенной в работе [69].

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

Через некоторое время пользователь может сам добавлять и редактировать типы элементов, и работа полностью передаётся ему,разработчик языка лишь следит за процессом и консультирует при необходимостипользователя. Работа заканчивается, когда модельное приложение полностьюнарисовано, после чего текущая интерпретируемая метамодель сохраняетсяв виде, пригодном для дальнейшего редактирования в метаредакторе. Послеэтой фазы идут итерации «классической» методики по доработке созданного96прототипа, дополнению его ограничениями, рефакторингами, интерпретатороми генератором, подготовки инсталляционного пакета, развертывания и сбораобратной связи. На этих этапах пользователи, как и в «классической» модели,непосредственно в разработке не участвуют, поскольку этапы гораздо болеепродолжительны во времени и прямо при пользователе выполнены быть не могут.Модель жизненного цикла языка, использующая «метамоделирование налету», представлена на рисунке 3.3.Рис.

3.3: методика «метамоделирования на лету».Здесь не проводится формального или даже неформального анализа предметной области в общепринятом понимании, знания о предметной области извлекаются из эксперта прямо в процессе прототипирования языка. Также отсутствуетфаза доказательства осуществимости (proof of concept), поскольку редактор создаётся прямо на глазах пользователя, и пользователь может сразу сказать, то ли это,что он хочет. Разумеется, генератор, предметно-ориентированную библиотеку ит.д. придётся писать потом, так что на самом деле proof of concept просто смещённа первую итерацию разработки, но по окончании прототипирования по крайнеймере у одного будущего пользователя DSM-решения есть уверенность в егополезности и применимости (причём, довольно сильная, потому что фактическион сам это решение создал).97Все остальные этапы жизненного цикла и деятельности на этих этапах совпадают с аналогичными этапами в «классической» методике (поскольку результатом прототипирования будет обычная метамодель).

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

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

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

Характеристики

Список файлов диссертации

Методы и средства разработки графических предметно-ориентированных языков
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее