1 / 25

Автоматный подход к определению операционной семантики языков предметной области

Ульяна Тихонова Научный руководитель: Фёдор Александрович Новиков Научный консультант: Mark van den Brand (TU/e, Нидерланды ). Автоматный подход к определению операционной семантики языков предметной области. Кафедра «Прикладная математика» СПБГПУ. План диссертации.

Download Presentation

Автоматный подход к определению операционной семантики языков предметной области

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ульяна Тихонова Научный руководитель: Фёдор Александрович Новиков Научный консультант: MarkvandenBrand (TU/e, Нидерланды) Автоматный подход к определению операционной семантикиязыков предметной области Кафедра «Прикладная математика» СПБГПУ

  2. План диссертации • Глава 1. Определение и реализация языков предметной области • 1.1. Составляющие языка предметной области • 1.2. Разработка управляемая моделями (Model Driven Engineering) • 1.3. Автоматный подход к спецификации поведения • 1.4. Инструменты для создания языков предметной области • Глава 2. Описание языков предметной области с помощью диаграмм классов и автоматов UML • 2.1. Определение метамодели языка • 2.2. Расширение синтаксиса и семантики диаграмм автомата UML • 2.3. Определение конкретного синтаксиса системой распознающих автоматов • 2.4. Определение операционной семантики системой интерпретирующих автоматов • Глава 3. Язык AutoLanD • 3.1. Метамодель языка AutoLanD • 3.2. Семантика языка AutoLanD • 3.3. Реализация метамодели языка AutoLanD в среде Eclipse • 3.4. Реализация семантики языка AutoLanD с помощью генерации исходного кода • Глава 4. Применение языка AutoLanD для определения языка AutoLanD • 4.1. Модель взаимодействующих автоматов • 4.2. Автоматы операционной семантики языка AutoLanD • 4.3. Компиляция автоматов языка AutoLanD • 4.4. Результаты самоприменения      Ульяна Тихонова 

  3. Язык предметной области (1) • Язык программирования • Исполняемый язык спецификаций • Сущности • Структура • Операции • Язык предметной области • Domain specific language (DSL) Предметная область понятия операции отношения между понятиями Ульяна Тихонова

  4. Язык предметной области (2) • Language Oriented Programming • Разработка в терминах DSL • Разработка DSL • Язык предметной области • Проектирование • Реализация • Сопровождение • Отделение абстрактного синтаксиса и конкретного синтаксиса языка • Model Driven Engineering (MDE) Ульяна Тихонова

  5. Разработка языка программирования: традиционный подход • Контекстно-свободная грамматика • Атрибутная грамматика транслятор языка loop do { while ( a[i] < p ) i++; while ( a[j] > p ) j--; if (i <= j) { temp = a[i]; a[i] = a[j]; a[j] = temp; i++; j--; } } while ( i<=j ); do { body } while ( expr ) stm ; stm i j <= … while ( expr ) stm Ульяна Тихонова

  6. Разработка управляемая моделями (MDE) • Метамодель • Сущности (понятия, конструкции) языка • Отношения между сущностями • Программа – экземпляр метамодели • Реализация языка • Трансформациимодели • Генерация кода • Семантика модель исходный код Ульяна Тихонова

  7. Идеи • Явное описание семантики языка • Операционная семантика языка = интерпретатор • Описание  Реализация языка • Исполняемая спецификация операционной семантики • Нотация • Унифицированный язык моделирования UML • Поведение: диаграммы автоматов (state machine) • AutoLanD DSL: исполняемые диаграммы автомата UML  Реализация Ульяна Тихонова

  8. Схема предлагаемого подхода метамодель операционная семантика «instanceOf» программа выполняются интерпретирует Ульяна Тихонова

  9. Пример: мини язык множеств Ульяна Тихонова

  10. Диаграммы автомата UML • Состояния • Переходы между состояниями • Событие [ Условие ] / Действия • Локальные переменные • Интерфейсы взаимодействия • Предоставляемые • Требуемые

  11. Семантика мини языка множеств: итератор множества Ульяна Тихонова

  12. Пересечение двух упорядоченных множеств Ульяна Тихонова

  13. Компиляция в систему взаимодействующих автоматов • Автоматы выполняются параллельно и независимо друг от друга • Автоматы взаимодействуют через предоставляемые и требуемые интерфейсы система взаимодействующих автоматов модель (программа) b, c  a, b, c b, c, d Ульяна Тихонова

  14. Реализация идеи Определяется разработчикомDSL Взаимосвязи между автоматами и классами метамодели метамодель семантика linker M1 input M0 программа Создаются компоновщиком (linker) execute интерпретирует Задаётся пользователем DSL

  15. Реализация языка AutoLanD • Генерация Java-кода • описание автоматов • Структурная операционная семантика (SOS) • Применение языка AutoLanD к самому себе (bootstrapping, раскрутка) •  их программная реализация Ульяна Тихонова

  16. Результаты наблюдения • Генерация кода = программирование • быстрая реализация + • тестирование • Structural Operational Semantics (SOS) • понимание семантики языка + • пересмотр его метамодели AutoLanD • Исполняемость Чёткое определение всех нюансов • Проектированиеvs.программирование ∑ Ульяна Тихонова

  17. Нерешенные задачи • Язык для описания взаимосвязей между автоматами и классами метамодели  Спецификация компоновщика (linker) • Применение автоматного подхода для определения «настоящего» DSL Ульяна Тихонова

  18. Выводы • Автоматный подход к разработке языков предметной области • Полное определение языка с помощью нотации UML • Автоматическая реализация языка из его определения • Текстовый язык автоматного программирования • Оригинальная модель взаимодействия автоматов Ульяна Тихонова

  19. Публикации по теме диссертации • Тихонова У. Н. Новый метод определения проблемно-ориентированных языков // XIII молодежная научная конференция «Наукоемкие информационные технологии»/ Под ред. С. М. Абрамов, С. В. Знаменский; УГП им. А. К. Айламазяна. г. Переславль-Залесский: Университет города Переславля, 2009.—апрель. С. 183–194. • Новиков Ф. А., Тихонова У. Н. Автоматный метод определения проблемно-ориентированных языков // Информационно-управляющие системы. В трёх частях: №6 (2009) С. 34–40, №2 (2010) С. 31–37, №3 (2010) С. 29–37. • Tikhonova U. Automata Based Method for Domain-Specific Languages Definition// 1st Doctoral Symposium of the International Conference on SoftwareLanguage Engineering (SLE) / Ed. by E. van Wyk, S. Zschaler. Eindhoven,The Netherlands: Computer Science Reports, 2010.—September. Pp. 21–25. • Tikhonova U. Automaton-Based Approach for Defining Dynamic Semantics ofDSLs // GTTSE/SLE Students’ workshop / Ed. by J. Visser, E. V. Wyk; 4thSummer School on Generative and Transformational Techniques in SoftwareEngineering. Braga, Portugal: 2011.—July. Pp. 12–14. Ульяна Тихонова

  20. Реализация 1 : генерация Java-кода Взаимосвязи между автоматами и классами метамодели Описания автоматов метамодель DSL EMFText + Xpand EMF Java-классы метамодели Java-классы автоматов Java-класс Linker M1 M0 running Java

  21. Реализация 2 : раскрутка (bootstrapping) Метамодель AutoLanD Взаимосвязи между автоматами и классами метамодели Семантика AutoLanD Структура автомата Экземпляр автомата linker M1 «instanceOf» «instanceOf» «instanceOf» M0 программа AutoLanD input Система взаимодейст-вующих автоматов execute Генерация на основе входа программы linker’

  22. Метамодель AutoLanD

  23. Метамодель экземпляра автомата

  24. Семантика AutoLanD: AutoInstance SM Автоматный подход к определению DSL

  25. Семантика AutoLanD: Scheduler SM

More Related