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

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

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

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

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

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

Блоки языка включали в себя объявления и изменения значенийпеременных и списков, команды отрисовки, условные операторы, подпрограммы.Также был реализован язык, позволяющий описывать пользовательский интерфейс генерируемого приложения и правила переходов между экранами, примертакой диаграммы показан на рисунке A.8.Результатом реализации модельного примера (в качестве которого былавыбрана игра «Крестики-нолики») стало то, что диаграммы переходов междуформами оказались полезны сами по себе, поскольку хорошо визуализируютпереходы, которые могут быть неочевидны в коде.

Кроме того, по ним простосгенерировать скелет приложения, а если сложная логика не требуется (например,приложение-визитка), то и приложение целиком. Однако задание сложной логикибез кода на целевом языке привело к ещё более громоздким диаграммам, которые185хоть и проще для понимания, чем диаграммы из прототипа, полученного напервом этапе работы, но всё же менее удобны, чем ручное кодирование.A.2.6. ЗаключениеПервый этап проекта разрабатывался для мастер-класса в рамках конференции FRUCT 20114 , где был успешно продемонстрирован, а на самой конференциибыл сделан доклад [8]. На мастер-классе демонстрировалась разработка приложения для отображения данных с веб-камеры, аудитории был показан процесссоздания и генерации логики клиентской части.

Технология показалась весьмапривлекательной авторам Ubiq Mobile, поэтому работа над ней была продолженаи после выступления.С точки зрения исследования визуальных языков результаты проекта оказались менее однозначными: конечного ответа на вопрос «возможно ли эффективноиспользовать визуальные языки вместо текстовых при решении достаточнообщих задач» получено не было. С одной стороны, визуальная технологиядала очевидный выигрыш в том, что уменьшила объём необходимых для программирования знаний, с другой стороны, для некоторых задач, возникающихпри разработке мобильного приложения, использование текстовых языков покаэффективнее.Работа над этим проектом поставила новые вопросы, требующие исследования.1.

Полноценная реализация редактора пользовательского интерфейса с визуализацией переходов между формами (или экранами) средствами DSMплатформы. Для этого различные элементы пользовательского интерфейса,такие как поля ввода, кнопки, выпадающие списки и т.д. должны бытьполноправными частями формы элемента языка.2. Поддержка работы с семействами визуальных языков, каждый из которыхможет уточнять более общий язык под конкретную задачу. Таким образомможет быть реализована схема с настраиваемыми элементами из раздела A.2.5 — создать общий язык разработки мобильных приложений, от него4Программа FRUCT 2011, URL: http://fruct.org/node/5016 (дата обращения 08.02.2015)186породить язык задания игр с полем, от него — язык, содержащий специфические блоки для игры «Морской бой».

Это не снимает всех проблем,перечисленных в разделе A.2.5 касательно этой схемы, но представляетсялогичным развитием идей DSM-подхода.A.3. Среда разработки аппаратуры QReal:HaSCoLA.3.1. ВведениеТехнология QReal:HaSCoL была исторически первой технологией, разработанной автором на платформе QReal, и именно опыт её разработки во многомопределил направления дальнейших исследований и, в итоге, полученные вданной диссертации результаты. В частности, в ходе этой работы возниклапотребность в визуальном метаредакторе. Данная технология не используетмногих описанных в этой работе возможностей платформы QReal, посколькуна момент работы над ней эти возможности ещё не были реализованы, кроме того, сведения, приведённые в обзоре аналогичных подходов, могли устареть. Это не представляется критичным недостатком, поскольку основная цельдальнейшего изложения — продемонстрировать пример разработки предметноориентированного визуального языка, причём для данной работы более важныметодологические аспекты, чем специфика предметной области или особенностиреализации конкретной DSM-платформы.

В этом плане предлагаемый примеринтересен тем, что язык создавался и был строго формализован как расширениеметамодели языка UML 2.0, поэтому данный опыт может быть использован длясравнения с более «легковесными» подходами, применявшимися в примерах изразделов A.1 и A.2.A.3.2. Постановка задачиРазличные встроенные устройства играют большую роль в нашей жизни,однако задача их разработки всё ещё остаётся сложной и трудоёмкой. В 80-х годахдвадцатого века появились языки Verilog [97] и VHDL [94], которые и по сей деньостаются фактическим стандартом в деле разработки аппаратного обеспечения.Эти языки позволяют описать устройство аналогично коду обычной программы,187их синтаксис похож на синтаксис традиционных языков программирования.

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

Ещё одним важным требованием, накладываемым на такое средство,является исполнимость модели. Средство должно иметь возможность синтезировать описание устройства в виде, пригодном для использования промышленнымоборудованием при производстве, и генерировать эмулятор устройства, позволяющий вести отладку, тестирование и оценку производительности, не прибегая ксозданию дорогостоящего прототипа. Все эти сложности затрудняют разработкуновых визуальных технологий.На кафедре системного программирования математико-механического факультета СПбГУ разрабатывается текстовый язык разработки аппаратных системHaSCoL (Hardware-Software Codesign Language) [7] гораздо более высокогоуровня, чем VHDL или Verilog. Перед автором данной диссертации была поставлена задача разработать визуальную технологию, которая бы использовалаязык HaSCoL как целевой язык для генерации и позволяла бы проектироватьаппаратуру в высокоуровневых терминах этого языка.

Это дало бы возможностьиспользовать инструментальные средства HaSCoL для создания как спецификации устройства для конфигурации FPGA5 или производства, так и для генерациипрограммного эмулятора. С другой стороны, визуальная технология должна былаповысить удобство программирования на языке HaSCoL, а поскольку этот языкновый, это могло бы позитивно сказаться на эффективности его внедрения. Крометого, использование высокоуровневого языка в качестве целевого для генерациисвело бы к минимуму затраты на анализ предметной области при разработке5Field-Programmable Gate Array188DSM-решения, поскольку большая часть этой работы уже была выполнена приразработке текстового языка.Язык HaSCoL описывает систему в терминах исполняемых параллельнообработчиков сигналов. Обработчики объединены в процессы — сущности,инкапсулирующие в себе ресурсы (данные), обработчики сигналов и другиепроцессы, и имеющие входы и выходы.

Обработчик представляет из себя последовательность однотактовых шагов, выполняющихся, если некоторые условия(получение сообщения, состояние ресурсов процесса) истинны. Обработчикимогут начинать своё исполнение на каждом такте, на котором выполнены условияего старта, вне зависимости от того, выполняются они уже или нет. Примерописания процесса (из неопубликованного описания языка HaSCoL 2008 года)приведён в листинге A.2.Процесс имеет два входа (one, two) с двумя параметрами и выход res, возвращающий значение типа uint(8).

Конструкцией group три обработчика объединеныв группу, перед фигурными скобками записано условие, при истинности которогообработчик начнёт работу, внутри фигурных скобок — тело обработчика. Вусловиях могут участвовать проверки наличия данных на входах, логические выражения с участием входных данных и локальных данных процесса. Конструкцияsend в теле обработчика — посылка сигнала на указанный выход. Входы и выходымогут также иметь несколько портов, каждый порт может быть связан с очередьюсообщений.

Например,in InputData (int(16))[A[1], B];определяет вход с одним параметром и двумя портами, при этом размер очередипорта A — 1, размер очереди порта B — 0.Для поддержки структурной декомпозиции процессов в язык был введёнструктурный уровень. Структурные конструкции позволяют отображать входыобъемлющего процесса на порты входов вложенного, и выходы вложенногопроцесса на выходы объемлющего или входы вложенного, позволяя такимобразом структурно декомпозировать процессы на наборы взаимодействующихвложенных подпроцессов.Каждый процесс имеет свой тип, задаваемый явно или неявно. Тип процесса— перечень его входов и выходов с указанием типов их аргументов. Над типами189process DynamicArbiter =beginin one(uint(2), uint(8));in two(uint(2), uint(8));out res(uint(8));group {-- что делать, если пришли оба сигнала:-- условия на принимаемые сигналы определяют готовность-- принятия данных из каждого входа в отдельностиone(prio1, data1) and prio1 >= prio2,two(prio2, data2) and prio1 < prio2{send res (if prio1 >= prio2 then data1 else data2 fi)}-- если пришел только один сигнал --- случай попроще-- подчеркивание вместо имени параметра означает, что-- нас данный параметр не интересует и пользоваться им-- мы не будемone(_, ddata) {send res (ddata)}two(_, ddata) {send res (ddata)}}endЛистинг A.2: Пример описания процесса на языке HaSCoL.190process Wrapper (P: Proc) =beginprocess X = P;process Y = P;...endЛистинг A.3: Пример описания функтора на языке HaSCoL.процессов определено отношение структурного сабтайпинга — неформальноговоря, процесс A имеет тип, являющийся подтипом типа процесса B, если Aможно везде использовать вместо B.

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