Слайд 2
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Автоматное программирование (1) Автоматизированный объект управления Машина Тьюринга
Слайд 3
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Автоматное программирование (2) Система управления – система вложенных автоматов. Объект управления
– произвольный физический объект (клапан) или математическая функция (выдержка времени). Основные понятия: состояния, переходы, события, входные переменные и выходные воздействия, автоматы, гибридные автоматы. Состояния: управляющие в СУ и вычислительные в ОУ.
Слайд 4
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Пример. Управление дизель-генератором (1)
Слайд 5
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Пример. Управление дизель-генератором (2)
Слайд 6
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Пример. Управление дизель-генератором (3)
Слайд 7
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Автоматное программирование ПАРАДИГМА АВТОМАТНОГО ПРОГРАММИРОВАНИЯ СОСТОИТ В ПРЕДСТАВЛЕНИИ СУЩНОСТЕЙ СО
СЛОЖНЫМ ПОВЕДЕНИЕМ В ВИДЕ АВТОМАТИЗИРОВАННЫХ ОБЪЕКТОВ УПРАВЛЕНИЯ
Слайд 8
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Преимущества Обладает наибольшей эффективностью для систем со сложным поведением Формальное и
понятное описание поведения Проверка формальных свойств диаграмм Автоматическая генерация кода по диаграммам переходов Возможность тестирования в терминах автоматов Возможность верификации программ методом Model Checking Проектная документация
Слайд 9
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Реализация автоматных программ Вне зависимости от используемого языка программирования реализация
автоматных программ осуществляется по графам переходов формально и изоморфно – текст программы «внешне похож» на граф переходов. Переход от графа переходов к тексту программы может осуществляться как вручную, так и автоматически с помощью соответствующих инструментальных средств. Например, для создания программ на языке Java в СПбГУ ИТМО создано инструментальное средство UniMod.
Слайд 10
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Инструментальное средство UniMod (1) Семь автоматов
Вручную Автоматическая генерация Вручную
Слайд 11
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Инструментальное средство UniMod (2) Один из автоматов – AL
Слайд 12
А.А. Шалыто Автоматное программирование Верификация автоматных программ При использовании метода Model
Checking при верификации программ предлагается по программе строить ее
модель. Построение адекватной модели автоматически практически невозможно. При использовании автоматного программирования первичной является модель поведения, по которой строится программа. Поэтому уровень процесса верификации автоматных программ увеличивается.
Слайд 13
В.О. Клебан, А.А. Шалыто Применение автоматного программирования во встраиваемых
системах Генерация автоматов и генетическое программирование Основная сложность в автоматном программировании
– построение автоматов В большинстве случаев автоматы проектируются вручную Однако эвристическое построение автоматов часто затруднено или невозможно Решение – автоматическое построение конечных автоматов с помощью генетического программирования Это позволит повысить уровень автоматизации построения программ рассматриваемого класса Материалы – на сайте http://is.ifmo.ru (раздел «Генетические алгоритмы»)