Слайд 2Инструментальное средство UniMod
Слайд 5Графический язык программирования
Достоинства средства UniMod
Диаграммы более выразительны, чем текст
UML-нотация — общепринята
Недостатки средства
UniMod
Вводить диаграммы неудобно
Программисты предпочитают текстовый код
Слайд 6Текстовый язык автоматного программирования
Проблемно-ориентированный автоматный язык
Автомат описывается в терминах автоматного программирования
Диаграммы генерируются
по мере ввода текста программы
Слайд 7Разработка текстового языка программирования
Транслятор
Лексический анализатор
Синтаксический анализатор
Семантический анализатор
Генератор кода
Интегрированная среда разработки
«Подсветка» ошибок
Автоматическое завершение
ввода
Навигация по коду
Слайд 8Система метапрограммирования MPS
Принимает на вход
абстрактный синтаксис
конкретный синтаксис
систему типов
кодогенератор
Автоматически строит интегрированную среду разработки
Слайд 9Виды проблемно-ориентированных языков
Проблемно-ориентированные расширения существующих языков
Например,
язык доступа к базе данных,
язык описания
регулярных выражений и т.д.
Независимые языки
Например,
язык планировщика задач операционной системы
Слайд 10Автоматное расширение языка Java
Позволяет описывать поведение Java-класс в виде автомата
Отправка событий —
вызов специальных методов класса
Состояние храниться в переменной объекта
Автомат описывается в терминах автоманого программирования
Слайд 11Независимый автоматный язык
Все приложение описывается в терминах автоманого программирования
Возможно использовать для генерации
не Java-кода
Соответствует понятию запускаемых спецификаций
Слайд 13Результаты
Разработанное средство позволяет
разрабатывать автоматные программы
описывать поведение Java-классов в виде автоматов
использовать преимущества текстового
ввода программ и представления автоматов в виде диаграмм