Автоматное программирование А. А. Шалыто Санкт-Петербургский государственный университет информационных технологий, механик

Содержание

Слайд 2

А.А. Шалыто 1.1. Автоматное программирование Автоматизированный объект управления Машина Тьюринга

А.А. Шалыто

1.1. Автоматное программирование

Автоматизированный объект управления

Машина Тьюринга

Слайд 3

А.А. Шалыто 1.2. Автоматное программирование Система управления – система вложенных автоматов.

А.А. Шалыто

1.2. Автоматное программирование

Система управления – система вложенных автоматов.
Объект управления –

произвольный физический объект (клапан) или математическая функция (выдержка времени).
Основные понятия: состояния, переходы, события, входные переменные и выходные воздействия, автоматы, гибридные автоматы.
Состояния: управляющие в СУ и вычислительные в ОУ.
Слайд 4

А.А. Шалыто 2.1. Пример. Управление дизель-генератором

А.А. Шалыто

2.1. Пример. Управление дизель-генератором

Слайд 5

А.А. Шалыто 2.2. Пример. Управление дизель-генератором

А.А. Шалыто

2.2. Пример. Управление дизель-генератором

Слайд 6

А.А. Шалыто 2.3. Пример. Управление дизель-генератором

А.А. Шалыто

2.3. Пример. Управление дизель-генератором

Слайд 7

А.А. Шалыто 2.4. Пример

А.А. Шалыто

2.4. Пример

Слайд 8

А.А. Шалыто 3.1. Парадигма автоматного программирования злоупотребление логикой злоупотребление семантикой Тьюрингово

А.А. Шалыто

3.1. Парадигма автоматного программирования

злоупотребление
логикой

злоупотребление
семантикой

Тьюрингово программирование

Традиционное программирование

Автоматное программирование

НАХОЖДЕНИЕ КОМПРОМИССА МЕЖДУ СЛОЖНОСТЬЮ

АВТОМАТА И СЛОЖНОСТЬЮ ОПЕРАЦИЙ ОБЪЕКТА УПРАВЛЕНИЯ, ПРИМЕРЕНИЕ ТЬЮРИНГОВА ПРОГРАММИРОВАНИЯ С ТРАДИЦИОННЫМ И ЕСТЬ «МИССИЯ» АВТОМАТНОГО ПОДХОДА В МИРЕ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Слайд 9

А.А. Шалыто 3.2. Парадигма автоматного программирования ПАРАДИГМА АВТОМАТНОГО ПРОГРАММИРОВАНИЯ СОСТОИТ В

А.А. Шалыто

3.2. Парадигма автоматного программирования

ПАРАДИГМА АВТОМАТНОГО ПРОГРАММИРОВАНИЯ СОСТОИТ В ПРЕДСТАВЛЕНИИ СУЩНОСТЕЙ

СО СЛОЖНЫМ ПОВЕДЕНИЕМ В ВИДЕ АВТОМАТИЗИРОВАННЫХ ОБЪЕКТОВ УПРАВЛЕНИЯ
Слайд 10

А.А. Шалыто 4. Достоинства автоматного программирования Обладает наибольшей эффективностью для систем

А.А. Шалыто

4. Достоинства автоматного программирования

Обладает наибольшей эффективностью для систем со сложным

поведением
Формальное и понятное описание поведения
Проверка формальных свойств диаграмм
Автоматическая генерация кода по диаграммам переходов
Возможность тестирования в терминах автоматов
Повышение уровня автоматизации верификации программ методом Model Checking по сравнению с другими классами программ
Проектная документация
Слайд 11

А.А. Шалыто 5. Реализация автоматных программ Вне зависимости от используемого языка

А.А. Шалыто

5. Реализация автоматных программ

Вне зависимости от используемого языка программирования реализация

автоматных программ осуществляется по графам переходов формально и изоморфно – текст программы «внешне похож» на граф переходов.
Переход от графа переходов к тексту программы может осуществляться как вручную, так и автоматически с помощью соответствующих инструментальных средств.
Например, для создания программ на языке Java в СПбГУ ИТМО создано инструментальное средство UniMod.
Слайд 12

А.А. Шалыто 6.1. Инструментальное средство UniMod Семь автоматов Вручную Автоматическая генерация Вручную

А.А. Шалыто

6.1. Инструментальное средство UniMod

Семь автоматов
Вручную Автоматическая генерация Вручную

Слайд 13

А.А. Шалыто 6.2. Инструментальное средство UniMod Один из автоматов – AL

А.А. Шалыто

6.2. Инструментальное средство UniMod

Один из автоматов – AL

Слайд 14

А.А. Шалыто 7. Верификация автоматных программ При использовании метода Model Checking

А.А. Шалыто

7. Верификация автоматных программ

При использовании метода Model Checking при верификации

программ предлагается по программе строить ее модель. Построение адекватной модели автоматически практически невозможно.
При использовании автоматного программирования первичной является модель поведения, по которой строится программа. Поэтому уровень процесса верификации автоматных программ увеличивается.
Слайд 15

А.А. Шалыто 8. Генерация автоматов и генетическое программирование Основная сложность в

А.А. Шалыто

8. Генерация автоматов и генетическое программирование

Основная сложность в автоматном программировании

– построение автоматов
В большинстве случаев автоматы проектируются вручную
Однако эвристическое построение автоматов часто затруднено или невозможно
Решение – автоматическое построение конечных автоматов с помощью генетического программирования
Это позволит повысить уровень автоматизации построения программ рассматриваемого класса
Материалы – на сайте http://is.ifmo.ru (раздел «Генетические алгоритмы»)
Слайд 16

В.О. Клебан, А.А. Шалыто, И.В. Широков Применение автоматного программирования во встраиваемых

В.О. Клебан, А.А. Шалыто, И.В. Широков
Применение автоматного программирования во встраиваемых системах

9.1.

Беспилотный вертолет

Содержит контроллер на базе ядра ARM7 с частотой 60МГц.
Интегрированную систему радиосвязи радиусом действия 1.5км (скорость 115200 кбит/с)
Трехосевой акселерометр.
Трехосевой гироскоп.
Магнитный компас
Услилительно-преобразовательные устройства управления двигателями.

Слайд 17

Верификация автоматных программ

Верификация автоматных программ

Слайд 18

В.О. Клебан, А.А. Шалыто, И.В. Широков Применение автоматного программирования во встраиваемых системах 9.3. Беспилотный вертолет http://www.youtube.com/watch?v=-LuVLH4cV0U

В.О. Клебан, А.А. Шалыто, И.В. Широков
Применение автоматного программирования во встраиваемых системах

9.3.

Беспилотный вертолет

http://www.youtube.com/watch?v=-LuVLH4cV0U