Система управления – система вложенных автоматов. Система управления – система вложенных автоматов. Объект управления – произвольный физический объект (клапан) или математическая функция (выдержка времени). Основные понятия: состояния, переходы, события, входные переменные и выходные воздействия, автоматы, гибридные автоматы. Состояния: управляющие в СУ и вычислительные в ОУ.
Обладает наибольшей эффективностью для систем со сложным поведением Обладает наибольшей эффективностью для систем со сложным поведением Формальное и понятное описание поведения Проверка формальных свойств диаграмм Автоматическая генерация кода по диаграммам переходов Возможность тестирования в терминах автоматов Повышение уровня автоматизации верификации программ методом Model Checking по сравнению с другими классами программ Проектная документация
Вне зависимости от используемого языка программирования реализация автоматных программ осуществляется по графам переходов формально и изоморфно – текст программы «внешне похож» на граф переходов. Вне зависимости от используемого языка программирования реализация автоматных программ осуществляется по графам переходов формально и изоморфно – текст программы «внешне похож» на граф переходов. Переход от графа переходов к тексту программы может осуществляться как вручную, так и автоматически с помощью соответствующих инструментальных средств. Например, для создания программ на языке Java в СПбГУ ИТМО создано инструментальное средство UniMod.
Семь автоматов Семь автоматов Вручную Автоматическая генерация Вручную
Один из автоматов – AL Один из автоматов – AL
При использовании метода Model Checking при верификации программ предлагается по программе строить ее модель. Построение адекватной модели автоматически практически невозможно. При использовании метода Model Checking при верификации программ предлагается по программе строить ее модель. Построение адекватной модели автоматически практически невозможно. При использовании автоматного программирования первичной является модель поведения, по которой строится программа. Поэтому уровень процесса верификации автоматных программ увеличивается.
Основная сложность в автоматном программировании – построение автоматов Основная сложность в автоматном программировании – построение автоматов В большинстве случаев автоматы проектируются вручную Однако эвристическое построение автоматов часто затруднено или невозможно Решение – автоматическое построение конечных автоматов с помощью генетического программирования Это позволит повысить уровень автоматизации построения программ рассматриваемого класса Материалы – на сайте http://is.ifmo.ru (раздел «Генетические алгоритмы»)
Спасибо за внимание! Спасибо за внимание! http://is.ifmo.ru http://blog.savethebest.ru http://www.savethebest.ru [email protected]