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

Содержание

Слайд 2

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

Виды верификации

Динамическая
Тестирование
Статическая
Доказательная
Верификация на модели

Верификация автоматных программ Виды верификации Динамическая Тестирование Статическая Доказательная Верификация на модели

Слайд 3

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

Верификация модели программы

Построение модели Крипке
Соответствие модели программе
Построение формальных требований
Формулировка требований

Верификация автоматных программ Верификация модели программы Построение модели Крипке Соответствие модели программе
в терминах модели Крипке
Формальная верификация
Большая размерность пространства состояний
Отображение контрпримеров
Преобразования контрпримеров в термины исходной программы

Слайд 4

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

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

Формальное построение модели Крипке
Возможность автоматизации
Формулировка требований
В терминах

Верификация автоматных программ Верификация автоматной модели программы Формальное построение модели Крипке Возможность
автоматов
Формальная верификация
Рассмотрение управляющих состояний
Формальное восстановление контрпримеров
В терминах исходной модели

Слайд 5

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

Верификация с применением SPIN

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

Слайд 6

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

Построение описания автомата на языке Promela

Переменная состояния
Инициализируется начальным состоянием
Автоматная процедура
Switch

Верификация автоматных программ Построение описания автомата на языке Promela Переменная состояния Инициализируется
по номеру текущего состояния
Недетерминированный переход в следующее состояние

Слайд 7

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

Обработка событий

Описание потока событий в терминах темпоральной логики
Извлечение события из

Верификация автоматных программ Обработка событий Описание потока событий в терминах темпоральной логики
очереди при переходе

Слайд 8

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

Спецификация системы взаимодействующих автоматов

Переменная состояния для каждого автомата
Автоматная процедура для

Верификация автоматных программ Спецификация системы взаимодействующих автоматов Переменная состояния для каждого автомата
каждого автомата
Изменяет переменную состояния своего автомата
Читает переменные состояния других автоматов

Слайд 9

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

Состояния объектов управления

Объекты управления не имеют состояния
Объекты управления имеют состояния
Описание

Верификация автоматных программ Состояния объектов управления Объекты управления не имеют состояния Объекты
изменения состояния в терминах темпоральной логики

Слайд 10

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

Управление дверьми лифта

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

Слайд 11

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

Фрагмент описания на языке Promela

int stateA1 = CLOSED;
inline A1() {

Верификация автоматных программ Фрагмент описания на языке Promela int stateA1 = CLOSED;
do
::stateA1 == CLOSING ->
if
::stateA1 = CLOSED;
event = e4;
::stateA1 = OPENING;
event = e5;
fi;
...
od;
}

Слайд 12

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

Верифицируемые утверждения

Двери открываются бесконечное число раз
LTL: G F Opened
Promela: -

Верификация автоматных программ Верифицируемые утверждения Двери открываются бесконечное число раз LTL: G
[] <> Opened
Двери закрываются бесконечное число раз
LTL: G F Closed
Promela: - [] <> Closed

Слайд 13

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

Верификация утверждений

Утверждение 1 выполняется
Утверждение 2 не выполняется:
A1 [stateA1 = CLOSED]
A1

Верификация автоматных программ Верификация утверждений Утверждение 1 выполняется Утверждение 2 не выполняется:
[stateA1 = OPENING]
A1 [stateA1 = OPENED]
A1 [stateA1 = CLOSING]
A1 [stateA1 = OPENED]

Слайд 14

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

Верификация с применением Bogor

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

Слайд 15

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

Применяемые методы

Симуляция
Двойной поиск в глубину
Увеличение «масштаба» переходов

Верификация автоматных программ Применяемые методы Симуляция Двойной поиск в глубину Увеличение «масштаба» переходов

Слайд 16

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

Структура описания автоматов

Абстрактный тип данных «Автомат»
Выбор следующего перехода
«Откат» на состояние

Верификация автоматных программ Структура описания автоматов Абстрактный тип данных «Автомат» Выбор следующего
назад
Восстановление ошибочного пути
Система автоматов
Взаимодействия через номера состояний
Взаимодействие по вложенности

Слайд 17

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

Практическое использование

Ручная верификация
Верификация проектов, опубликованных на сайте http://is.ifmo.ru
Автоматизированная верификация
Основана на

Верификация автоматных программ Практическое использование Ручная верификация Верификация проектов, опубликованных на сайте
существующих верификаторах

Слайд 18

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

Повышение качество программного обеспечения

Верификация управляющих программ в NASA
Stateflow
SPIN
Верификация проектов, опубликованных

Верификация автоматных программ Повышение качество программного обеспечения Верификация управляющих программ в NASA
на сайте http://is.ifmo.ru
UniMod
SPIN или Bogor

Слайд 19

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

Выводы

Простота верификации автоматных программ
Возможность автоматизации верификации
Практическая применимость

Верификация автоматных программ Выводы Простота верификации автоматных программ Возможность автоматизации верификации Практическая применимость

Слайд 20

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

Направление дальнейших исследований

Разработка примера верификации системы со сложным поведением
Проведение экспериментальных

Верификация автоматных программ Направление дальнейших исследований Разработка примера верификации системы со сложным
исследований
Разработка предложений и рекомендаций по использованию результатов НИР

Слайд 21

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

Публикации по теме (1)

Вельдер С.Э., Шалыто А.А. О верификации простых

Верификация автоматных программ Публикации по теме (1) Вельдер С.Э., Шалыто А.А. О
автоматных программ на основе метода «Model Checking» //Информационно-управляющие системы. 2007. №3.
Корнеев Г.А., Парфенов В.Г., Шалыто А.А. Верификации автоматных программ //Тезисы докладов Международной научной конференции, посвященной памяти профессора А.М. Богомолова «Компьютерные науки и технологии». Саратов: Саратовский государственный университет. 2007.
Корнеев Г.А., Шалыто А.А. Верификация управляющих программ со сложным поведением, построенных на основе автоматного подхода /Материалы международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы» (МВУС`2007). Таганрог: НИИМВС. Т.1.
Гуров В.С., Шалыто А.А., Яминов Б.Р. Технология верификации автоматных моделей программ без их трансляции во входной язык верификатора / Материалы международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы» (МВУС`2007). Таганрог: НИИМВС. Т.1.

Слайд 22

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

Публикации по теме (2)

Васильева К.А., Кузьмин Е.В. Верификация автоматных программ

Верификация автоматных программ Публикации по теме (2) Васильева К.А., Кузьмин Е.В. Верификация
с и спользованием LTL //Моделирование и анализ информационных систем. Ярославль: ЯрГУ. T. 14. 2007, №1.
Кузьмин Е.В., Соколов В.А. О дисциплине специализации «Верификация проргамм» /Доклады II научно-методической конференции Ярославского гос. университета. Ярославль: ЯрГУ, 2007.
Кузьмин Е.В., Соколов В.А. О некоторых подходах к верификации автоматных программ /Сборник докладов семинара GoIT. М.: Институт системного программирования.
Виноградов Р.А., Кузьмин Е.В., Соколов В.А. Свидетельство об официальной регистрации программы для ЭВМ «Система моделирования и анализа автоматных программ» № 2007611856

Слайд 23

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

Дополнительная информация

Раздел «Генетические алгоритмы» сайта кафедры «Технологии программирования» СПбГУ ИТМО

Верификация автоматных программ Дополнительная информация Раздел «Генетические алгоритмы» сайта кафедры «Технологии программирования»
по автоматному программированию
http://is.ifmo.ru/genalg/
Имя файла: Верификацияавтоматных-программ.pptx
Количество просмотров: 154
Количество скачиваний: 0