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

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

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

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

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

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

Тип процесса по умолчанию получается изспецификации процесса, тип можно указать и явно, это используется, например,для описания свойств параметров функторов.Функтор — это процесс, параметризованный другим процессом. Примерописания функтора приведён в листинге A.3.Процесс Wrapper параметризован процессом P типа Proc. Применение функтора выглядит так:process W = Wrapper(aProc);A.3.3. Существующие средства визуального описанияаппаратных системСамый известный из существующих визуальных языков, UML 2, создавалсяс учётом необходимости описывать аппаратные средства. В версиях UML 1.xспециальных средств для описания аппаратных систем не было, поэтому приходилось создавать профили UML, например, UML-RT [72].

В UML 2 этот пробелбыл заполнен, в язык было введено понятие «структурированный классификатор», который может содержать внутри себя набор частей, соединённых междусобой соединителями. Взаимодействие структурированных классификаторов свнешним миром и внутренними частями происходит исключительно через порты.Порт — это точка взаимодействия со строго определённым интерфейсом. Одинструктурированный классификатор может иметь несколько портов, а также имеетвозможность определить, на какой из портов пришёл запрос.

Запросы, прихо-191дящие на порты, могут быть обработаны непосредственно объектом-хозяиномпорта или переданы на порт какой-либо его части. Каждый порт имеет наборпредоставляемых им интерфейсов и набор интерфейсов, требуемых от внешнейсреды. Пример нотации представлен на рисунке A.9.Для задания внутреннего поведения элементов системы в UML 2 обычноиспользуется диаграмма конечных автоматов. Каждый структурированный классификатор может иметь связанный с ним конечный автомат, который описываетреакцию на события, приходящие на его порты.Помимо «чистого» UML 2 используются и специальные профили UML,предназначенные для использования с текстовыми языками (подход, весьмаблизкий к предлагаемому). Пример такого профиля, представленный в работе [70]— профиль UML для языка SystemC. SystemC [3] — язык проектирования уровнясистемы, основанный на C++ и поддерживаемый группой крупных компаний.Система в SystemC состоит из модулей, каждый модуль может содержатьпеременные, порты для взаимодействия с окружением и процессы, реализующие функциональность модуля.

Процессы исполняются параллельно и могутреагировать на события. Связь между модулями осуществляется с помощьюпортов, которые предоставляют модулям доступ к каналам. Каналы бываютпримитивными и иерархическими: иерархический канал — тоже модуль, имеетсвои процессы и может иметь доступ к другим каналам.Профиль UML для SystemC логически разделён на 3 части.1. Структуры и коммуникации — определяет стереотипы для базовых строительных блоков SystemC. Эти стереотипы представляют модули, порты,интерфейсы и каналы и используются на различных диаграммах UML,например, на диаграммах классов и диаграммах композитных структур.2. Поведение и синхронизация — определяет стереотипы для спецификацииповедения процессов SystemC.

Эти стереотипы используются в диаграммахсостояний UML.3. Типы данных — представляет типы данных SystemC.Пример нотации профиля UML для SystemC представлен на рисунке A.10.Как видно из обзора, идея визуального моделирования аппаратного обеспечения не нова, при этом наибольшее внимание уделяется языку UML (по-видимому,192как наиболее распространённому визуальному языку). При этом, существующиеязыки пытаются целиком специфицировать систему графическими средствами,что зачастую приводит к весьма громоздким диаграммам.A.3.4.

Предлагаемый набор визуальных языковОсновные принципы, в соответствии с которыми разрабатывалась нотация,таковы.1. Модель должна быть исполняемой, то есть позволять синтезировать код наязыке системы CoolKit без необходимости ручной корректировки результатов. Пригодная для промышленного использования технология должнапозволять программисту получать готовую низкоуровневую спецификациюсистемы или эмулятор, действуя в одной среде разработки и, желательно, содним представлением системы.2. Графическими примитивами должны быть представлены только те элементы программы, которые наиболее выгодно представлять графически.Остальная необходимая для синтеза информация должна быть представленана визуальной модели в текстовой форме.

Такой подход позволяет сохранятьдиаграммы достаточно компактными, но при этом, как обсуждалось в разделе A.2, делает программы существенно более сложными для понимания.3. Нотация разрабатывалась для использования внутри среды разработки,поэтому некоторые её элементы могут быть неудобны для представленияна бумаге.Для визуализации языка CoolKit плохо подходит непосредственно UML идаже профиль для UML — целевой язык не является строго говоря объектноориентированным, к тому же обладает рядом особенностей, которые плохо илинеудобно выражаются в терминах UML. Предлагаемый графический язык, хотяи не является профилем UML, сформулирован с активным использованиемметамодели UML.

Для формализации языка используется метамоделирование наметаязыке MOF — синтаксис графических конструкций языка описан с помощьюдиаграмм UML. Метамодель языка построена на метамодели ядра и некоторыхдиаграмм UML, таким образом, язык лишь незначительно отличается от UML,193и его синтаксис и семантика интуитивно понятны специалистам, занимающимся визуальным моделированием. Кроме того, переиспользование метамоделиUML позволило сэкономить массу усилий при формализации языка. Одним изполученных результатов стало понимание того, что формализация предметноориентированных языков программирования может быть существенно упрощенаблагодаря переиспользованию некоей стандартной метамодели, например, UML.Для спецификации системы в нашем языке используется два вида диаграмм— диаграмма типов процессов и диаграмма отображения портов. Заметим, чтомы избежали необходимости использовать диаграммы автоматов для описанияповедения системы — эту роль выполняют текстовые блоки на целевом языке.Диаграмма типов процессов базируется на диаграмме классов UML, а диаграммаотображения портов — на диаграмме композитных структур.Диаграмма типов процессовДиаграмма типов процессов используется для задания основных структурныхсвойств и отношений процессов, составляющих пакет или приложение.

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

Часть метамодели диаграммы представлена нарисунке A.11.Пример изображения вложенных процессов представлен на рисунке A.12. Каквидно из примера, нотация перечисляет ресурсы, входы и выходы процессов в таком виде, в каком они были в языке системы CoolKit. По-настоящему графическиздесь изображаются только отношения использования одного процесса внутридругого или вложенности процессов (т.е. когда один процесс описан непосредственно внутри другого). Заметим, что вложенный процесс может не иметь имени— тогда оно просто не отображается на диаграмме. Поскольку вложенные илииспользуемые процессы являются деталями реализации объемлющего процесса,они могут не рисоваться на диаграмме.194Существенную выгоду от использования этого типа диаграммы можно получить при использовании в программе функторов.

Пример нотации объявленияфункторов приведён на рисунке A.13.В частности, из-за особенности нотации, которую можно видеть на примере,было принято решение не использовать диаграммы классов UML. Нотация отражает возможность языка системы CoolKit описывать тип процесса — формальный параметр функтора прямо в месте описания формального параметра. Вынесение типов параметров в отдельные графические сущности позволяет сделатьотношения между процессами — формальными или фактическими параметрамифункторов гораздо более наглядными. Применение функтора изображается так,как показано на рисунке A.14.Для того, чтобы проиллюстрировать применение диаграммы типов процессов, рассмотрим содержательный пример — задачу об арбитре динамическихприоритетов 4 в 1 из неопубликованного описания языка HaSCoL.

Задача формулируется следующим образом: на один из четырёх входов поступают данные,первый параметр пришедших данных — приоритет. Если в одном такте данныепоступили на несколько входов, на выход выдаются данные с наибольшимприоритетом, остальные входы объявляются неготовыми. Если приходит толькоодно сообщение, оно отправляется на выход.Следуя оригинальному решению поступим следующим образом — сначаланапишем арбитр динамических приоритетов 2 в 1 (с двумя входами и однимвыходом), затем создадим арбитр-функтор 4 в 1, использующий 3 арбитра 2 в 1,который и решит задачу (см. рисунок A.15).В комментарии — код процесса DynamicArbiter на языке системы CoolKit,описывающий реализацию арбитра 2 к 1.

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