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

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

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

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

Что здесь понимается под«небольшими и средними проектами»: в [42] упоминаются языки, состоящиеболее чем из 500 сущностей, авторы сравнивают это с UML, где по их данным 286сущностей в метамодели. Сейчас самый большой язык, созданный с помощьюQReal, имеет 43 сущности в метамодели, разработка соответствующего DSMрешения велась в течение двух лет командой в среднем из 3-4 человек, этоDSM-решение описано в разделе A.1 данной работы. Будем называть средними проектами проекты примерно такого масштаба (не более 50 сущностейв метамодели). О применимости предложенных методик к более масштабнымпроектам нет сведений, экспериментальное подтверждение или опровержениеих применимости к таким проектам является интересной темой дальнейшихисследований.Большинство авторов обращают особое внимание на итеративность процессаразработки визуального языка.

Итерации необходимы, чтобы последовательно88уточнять понимание предметной области и получать обратную связь от пользователей тогда, когда вносить изменение в проект ещё не поздно. Кроме того,следуя [36], будем выделять отдельно первую итерацию — доказательство осуществимости (proof of concept). Она особенно важна, поскольку часто к самомуDSM-подходу, как и ко всему новому, относятся с некоторым подозрением.Доказательство осуществимости заключается в выделении какого-то небольшогофрагмента предметной области и быстрой реализации инструментария толькодля него — с языком, редактором, генератором и т.д., чтобы результатом этойитерации уже можно было пользоваться и было видно, что он уже улучшаетпроизводительность труда. В отличие от [36], мы не будем выделять отдельнопилотный проект.

Опыт разработки решений в рамках проекта QReal показывает,что у небольших проектов нельзя выделить время, когда решение готово и можетбыть использовано для пилотного внедрения. Внедрение обычно начинаетсяпрямо с готовности первого прототипа, пользователей желательно вовлекатьпрямо в процесс разработки.В остальном, модель жизненного цикла, используемого в «классической»методике, похожа на предлагаемую в [116], её общая схема представлена нарисунке 3.1.Деятельность на фазе анализа применимости была описана в разделе 3.2.1данной работы, её результатом является решение о том, имеет ли смысл применять предметно-ориентированный подход для данной ситуации. Этот этап неимеет инструментальной поддержки и требует опыта экспертов в предметноориентированном подходе.Анализ предметной области в предлагаемой методике проводится неформально, согласно рекомендациям из 3.2.2 данной работы.

Специальной инструментальной поддержки этого этапа в данном случае не предполагается, впрочем, длянебольших проектов, она и не требуется. Этап анализа предметной области можетперекрываться с этапом анализа применимости, поскольку для принятия решенияо применении DSM-подхода могут требоваться знания о предметной области.Этот этап также может перекрываться с первой итерацией разработки, посколькудля записи знаний о предметной области может использоваться метаредактор(это рекомендуемая практика, набросок метамодели полезен как для понимания89Рис. 3.1: «Классическая» методика разработки визуальногопредметно-ориентированного языка.взаимосвязи основных концепций предметной области, так и как то, из чего можетбыть получен первый прототип редактора языка).Следующий этап, доказательство осуществимости (proof of concept) являетсяпервым этапом разработки и имеет внутреннюю структуру такую же, как однаиз итераций следующего этапа, итерации разработки и внедрения.

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

На основании результатов этогоэтапа может быть принято решение отказаться от продолжения проекта.Разработка и внедрение состоит из нескольких итераций, порядок действийдля каждой из которых представлен на рисунке 3.2. Начинается разработка с опре-90деления метамодели языка с помощью визуального метаязыка, либо внесенияизменений в уже существующую метамодель. Как только абстрактный синтаксисзадан, следующие действия можно выполнять параллельно.Рис. 3.2: Итерация проектирования и разработки языка.1. Определение графического представления символов языка.

Это должноделаться либо в графическом редакторе формы фигур, либо с помощью декларативного текстового языка описания формы, DSM-платформа должнаминимизировать ручное кодирование. Связано это с тем, что разработкупредполагается вести короткими итерациями, и тратить время на кодирование и отладку весьма нежелательно.2.

Задание ограничений на модели. Здесь речь идёт не про ограниченияна состояние создаваемой с помощью DSM-решения системы во времявыполнения, а про ограничения на модели, создаваемые при помощи DSMрешения, которые проверяются при рисовании моделей. Ограничения могутбыть заданы различными способами, насколько это позволяет выбраннаядля реализации DSM-платформа. В проекте QReal ограничения задаются с91помощью визуального языка, при этом модель ограничений отделена от метамодели и не обязательна для создания редактора.

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

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

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

Подходы к заданию этихдвух видов описания семантики совершенно разные.(a) Семантика интерпретации, как правило, задаётся в виде правил преобразования графа модели, сродни рефакторингам. Интерпретаторприменяет эти правила до тех пор, пока существует хотя бы одно92правило, которое он может применить. Правила преобразования могутиметь побочные эффекты, с помощью которых может быть реализовано взаимодействие с внешними компонентами или устройствами,вычисление выражений на текстовом языке, встроенном в визуальный,и даже генерация. Семантика интерпретации должна задаваться навизуальном языке (наиболее удобный формализм для этого — графовые грамматики), побочные эффекты могут записываться на текстовомязыке.(b) Разработка генератора в текстовый язык обычно несколько сложнее.Процесс разработки состоит из трёх шагов, как правило, выполняемыхитеративно.i.

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

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

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

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