Диссертация (Методы и средства разработки графических предметно-ориентированных языков), страница 10

PDF-файл Диссертация (Методы и средства разработки графических предметно-ориентированных языков), страница 10 Технические науки (46565): Диссертация - Аспирантура и докторантураДиссертация (Методы и средства разработки графических предметно-ориентированных языков) - PDF, страница 10 (46565) - СтудИзба2019-06-29СтудИзба

Описание файла

Файл "Диссертация" внутри архива находится в папке "Методы и средства разработки графических предметно-ориентированных языков". PDF-файл из архива "Методы и средства разработки графических предметно-ориентированных языков", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве СПбГУ. Не смотря на прямую связь этого архива с СПбГУ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.

Просмотр PDF-файла онлайн

Текст 10 страницы из PDF

Описываемый в статье инструментарий позволяет удобнопереключаться между режимами использования и разработки языка, при этом,поскольку используемые языковые концепции довольно просты, вносить изменения удаётся «на лету». Для задания семантики языка требуется программированиена языке, похожем на LISP, поэтому сами пользователи создавать для себя языквсё-таки не могут.Некоторые указания по методике разработки представлены также в книге [36].Предлагаемая методология состоит из четырёх фаз: предварительная проработка,разработка, внедрение и сопровождение. При этом на фазе предварительной48проработки предлагается начать с proof of concept — реализации небольшой частиязыка для наиболее изученного фрагмента предметной области, прежде всегодля того, чтобы продемонстрировать пользу от DSM-подхода.

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

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

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

Паттерны и рекомендации по разработкепредметно-ориентированных языковНаиболее подробный свод рекомендаций по разработке предметноориентированных языков приведён в уже упоминавшейся книге [36] ибазируется на многолетнем опыте авторов по разработке визуальных языковс использованием DSM-платформы MetaEdit+, а также опыте разработкисамой этой платформы. Рассматриваются преимущества от использованияDSM, общие указания о том, когда следует применять DSM-подход (посколькуавторы редко ссылаются на другие работы и сами серьёзных исследованийпреимуществ и применимости DSM-подхода не проводили, книга производитнесколько рекламное впечатление, но тем не менее, многие указания из неёмогут быть полезны на практике и подтверждаются в работах других авторов).В качестве основных составляющих DSM-решения авторы рассматриваютвизуальный язык, генератор кода, предметно-ориентированный каркас (илибиблиотеку, или окружение).

Для задания абстрактного синтаксиса визуальногоязыка предлагается использовать метамоделирование, конкретный синтаксисзадаётся в графическом виде, либо в табличном виде, авторы обращают особоевнимание на то, что не стоит пытаться всё изобразить графически. Обращаетсявнимание на необходимость задания ограничений на модели. В качестветипичных подходов к реализации генераторов авторы выделяют генераторына языках общего назначения, получающие доступ к модели через программныйинтерфейс репозитория, генераторы, основанные на паттерне «Visitor» [112],шаблонные генераторы (использующие шаблонные файлы со вставкамиуправляющих конструкций на специальном языке, которые подставляют вшаблонный файл информацию из модели), crawler-ы (генераторы, входныефайлы для которых представляют собой набор управляющих конструкций совставками фрагментов на целевом языке, в некотором смысле обратная поотношению к шаблонным генераторам ситуация), и генераторы генераторов.Предметно-ориентированный каркас, в тех случаях, когда он нужен, пишетсявручную высококвалифицированными разработчиками, и служит, как правило,для упрощения генераторов.50Книга также содержит некоторые рекомендации, относящиеся к начальнымфазам создания DSM-решения, например, приводится опросник, который призванпомочь принять решение о целесообразности начала разработки.

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

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

К тому же, предлагаемая авторами методика довольно тяжеловесна итребует зрелой инструментальной и организационной поддержки.Некоторый набор советов, частично пересекающийся с книгой, рассмотренной выше, приводится в статье [99]. Рекомендации разбиты на три раздела:разработка предметно-ориентированного языка, интерпретация или генерация,процесс и организация. Рекомендации сформулированы в достаточно общемвиде, чтобы быть применимыми и к визуальным, и к текстовым языкам, авторобращает внимание, что не всегда визуальные нотации предпочтительны, в силу51сложности реализации редакторов для них. Касательно организации процессаавтор также настаивает на итеративном процессе разработки, начинающемся спостроения proof of concept, кроме того, автор рекомендует разрабатывать языкнепосредственно в процессе анализа предметной области.

Для этого требуетсядостаточно легковесный инструментарий, который позволял бы быстро увидетьрезультаты. Автор рекомендует не уделять серьёзного внимания опубликованнымпримерам реализации языков, поскольку предметно-ориентированные языки концептуально предназначены для узкой предметной области и настолько сильноотличаются друг от друга, что опыт создания одного языка может оказатьсянеприменимым для другой предметной области.Статья также интересна списком открытых проблем: совмещение текстовогои графического синтаксиса в языке, модульность и композиция языков, рефакторинг метамоделей, одновременный рефакторинг моделей и кода, автоматическаямиграция моделей при изменении метамодели, отладка на уровне моделей, работас большими моделями.Ещё одна работа, содержащая общие рекомендации — [42], от авторовсистемы MetaEdit+.

Данная работа сфокусирована на этапе проектированияязыка, а именно, поиске абстракций предметной области. Изложение ведётся порезультатам исследования 23 примеров DSM-решений, созданных с помощьюMetaEdit+. Было выделено четыре основных способа выделения сущностей: соображения эксперта предметной области, требуемый вывод генератора, внешнийвид создаваемой системы, различия между продуктами в линейке программныхпродуктов. При этом первый способ (эксперт) считается в этом исследовании«не совсем честным», поскольку эксперт сам должен был каким-либо образомпровести требуемый анализ. Способы упорядочены по возрастанию сложностиих применения — если есть эксперт, он представит готовые абстракции, которыедостаточно реализовать в языке, а анализ различий продуктов, напротив, сложен(как правило, требует формальных методов, но ссылки на такие методы в статьене приведены).2.2.3.

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

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