Применение шаблонов требований для формальной спецификации и верификации автоматных программ презентация

Содержание


Презентации» Шаблоны, фоны презентаций» Применение шаблонов требований для формальной спецификации и верификации автоматных программ
Применение шаблонов требований для формальной спецификации и верификации автоматных программ 
План
 Введение
 Шаблоны требований (ШТ)
 Применимость к автоматному программированию (АП)
 ЗаписьПроблема
 К АП хорошо применима верификация на модели
 Однако работать сПример проблемы
 «Between the time an elevator is called at aСуществующее решение
 Графические нотации
 Облегчают восприятие, но не помогают при спецификации
Существующее решение (АП)
 Контракты:
 + Проще и понятней, чем темпоральные формулы
Предлагаемое решение
 Записывать верифицируемые требования на подмножестве естественного языкаДетали
 Требования выводятся из грамматики
 Нет необходимости в обработке естественного языкаАктуальность ШТ в контексте АП
 	Васильева К.А., Кузьмин Е.В. Верификация автоматныхПлан
 Введение
 Шаблоны требований
 Применимость к АП
 Запись требований
 ЗаключениеШаблоны требований
 ШТ – обобщенное описание (на формальном и естественном языках)Шаблоны требований
 Требование = ШТ + ОграничениеШаблоны требований
 Ограничение – та часть пути исполнения, на которой должноШаблоны требованийШаблоны требованийШаблон «Отсутствие»План
 Введение
 Шаблоны требований
 Применимость ШТ к АП
 Запись требований
 ЗаключениеАнализ применимости
 	Шаблоны были получены из требований к обычным программам
 СтоитПример организации результатовАнализ применимости
 118 требований к 15+ программам из ~20 источников
 85%Оставшиеся 15%
 Ограниченность системы шаблонов
 Проблема в самой модели
 Особенности алгоритмаОставшиеся 15% (Пример 1)
 Проблема в самой модели?
 	
 ШТ «Отсутствие»:[](QОставшиеся 15% (Пример 2)
 Особенности алгоритма преобразования?
 	
 ШТ «Ответ» (наАдаптация шаблонов к АППлан
 Введение
 Шаблоны требований
 Применимость к АП
 Запись требований
 ЗаключениеГрамматика (фрагмент)Методика вывода
 Неформальный алгоритм:
 Выделить свойство (требование)
 Выбрать шаблон и ограничение
Пример вывода (Оригинальное требование)
 	
 «Система управления кофеваркой никогда не попадетПример вывода (Шаг №1)
 	«Система управления кофеваркой никогда не попадет вПример вывода (Шаг №2)
 	Наречие «никогда» подсказывает, что должен быть использованПример вывода (Шаг №3)
 	<требование> → <ограничение> <шаблон> → Для любогоПример вывода (Шаг №4)
 
 Для любого состояния верно, что никогдаПлан
 Введение
 Шаблоны требований
 Применимость к АП
 Запись требований
 ЗаключениеРезультаты
 Исследован вопрос применимости ШТ к спецификации АП
 Проведена адаптация шаблонов
Дальнейшие исследования
 Теоретическая сторона:
 Анализ требований, которые не удалось выразить (нетКонференции
 VII Межвузовская Конференция Молодых Ученых, СПбГУ ИТМО, 20-23.04.2010
 	Диплом заСпасибо!
 Вопросы?
 Клебанов Андрей, 6538



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Применение шаблонов требований для формальной спецификации и верификации автоматных программ Клебанов Андрей, 6538 Науч. рук. Степанов Олег, к.т.н, СПбГУ ИТМО и JetBrains


Слайд 2
Описание слайда:
План Введение Шаблоны требований (ШТ) Применимость к автоматному программированию (АП) Запись требований Заключение

Слайд 3
Описание слайда:
Проблема К АП хорошо применима верификация на модели Однако работать с требованиями в виде формул темпоральной логики трудоемко: Сложно понять Еще сложнее специфицировать корректно

Слайд 4
Описание слайда:
Пример проблемы «Between the time an elevator is called at a floor and the time it opens its doors at that floor, the elevator can arrive at that floor at most twice» []((call & <>open) -> ((!atfloor & !open) U (open | ((atfloor & !open) U (open | ((!atfloor & !open) U (open | ((atfloor & !open) U (open | (!atfloor U open)))))))))) Dwyer M. B., Avrunin G. S., Corbett J. C. Patterns in Property Specifications for Finite-state Verification / Proceedings of the 21st International Conference on Software Engineering. 1999

Слайд 5
Описание слайда:
Существующее решение Графические нотации Облегчают восприятие, но не помогают при спецификации Естественный язык

Слайд 6
Описание слайда:
Существующее решение (АП) Контракты: + Проще и понятней, чем темпоральные формулы - Ограничены в выразительных возможностях - Трудоемко для нескольких состояний Степанов О. Г. Методы реализации автоматных объектно-ориентированных программ. Диссертация на соискание ученой степени кандидата технических наук. СПбГУ ИТМО, 2009.

Слайд 7
Описание слайда:
Предлагаемое решение Записывать верифицируемые требования на подмножестве естественного языка

Слайд 8
Описание слайда:
Детали Требования выводятся из грамматики Нет необходимости в обработке естественного языка (NLP) Гибкость для разных предметных областей Грамматика основывается на шаблонах требований (ШТ) Для каждого требования существует формальная запись

Слайд 9
Описание слайда:
Актуальность ШТ в контексте АП Васильева К.А., Кузьмин Е.В. Верификация автоматных программ с использованием LTL // Моделирование и анализ информационных систем. Ярославль: ЯрГУ. 2007. Т. 14, № 1, с. 3–14. «… важным является вопрос о шаблонах (структуре) темпоральных свойств, наиболее применимых и адекватных для верификации автоматных программ. Наличие таких шаблонов позволяло бы говорить о классах темпоральных свойств автоматных моделей, что, несомненно, облегчало бы построение технологической схемы проверки автоматных программ на корректность относительно спецификации»

Слайд 10
Описание слайда:
План Введение Шаблоны требований Применимость к АП Запись требований Заключение

Слайд 11
Описание слайда:
Шаблоны требований ШТ – обобщенное описание (на формальном и естественном языках) часто встречающихся ограничений на допустимые последовательности состояний в модели системы с конечным числом состояний Формально описывают некий аспект поведения системы Dwyer M. B., Avrunin G. S., Corbett J. C. Patterns in Property Specifications for Finite-state Verification / Proceedings of the 21st International Conference on Software Engineering. 1999

Слайд 12
Описание слайда:
Шаблоны требований Требование = ШТ + Ограничение

Слайд 13
Описание слайда:
Шаблоны требований Ограничение – та часть пути исполнения, на которой должно выполняться требование

Слайд 14
Описание слайда:
Шаблоны требований

Слайд 15
Описание слайда:
Шаблоны требований

Слайд 16
Описание слайда:
Шаблон «Отсутствие»

Слайд 17
Описание слайда:
План Введение Шаблоны требований Применимость ШТ к АП Запись требований Заключение

Слайд 18
Описание слайда:
Анализ применимости Шаблоны были получены из требований к обычным программам Стоит ли использовать шаблоны для специфицирования АП? Т.е. можем ли выразить требования к АП, используя шаблоны, или у АП есть особенности?

Слайд 19
Описание слайда:
Пример организации результатов

Слайд 20
Описание слайда:
Анализ применимости 118 требований к 15+ программам из ~20 источников 85% покрывается 5 (из 8) шаблонами

Слайд 21
Описание слайда:
Оставшиеся 15% Ограниченность системы шаблонов Проблема в самой модели Особенности алгоритма преобразования исходной модели в модель, пригодную для верификации

Слайд 22
Описание слайда:
Оставшиеся 15% (Пример 1) Проблема в самой модели? ШТ «Отсутствие»:[](Q & !R -> (!P W R)) Q: Ресурс заняли P: Ресурс свободен R: Ресурс освободили

Слайд 23
Описание слайда:
Оставшиеся 15% (Пример 2) Особенности алгоритма преобразования? ШТ «Ответ» (на след. шаге): [](e1 -> X(z1))

Слайд 24
Описание слайда:
Адаптация шаблонов к АП

Слайд 25
Описание слайда:
План Введение Шаблоны требований Применимость к АП Запись требований Заключение

Слайд 26
Описание слайда:
Грамматика (фрагмент)

Слайд 27
Описание слайда:
Методика вывода Неформальный алгоритм: Выделить свойство (требование) Выбрать шаблон и ограничение Выполнить порождение Использую данные шагов №1 и №2 получить формальную запись для верификации

Слайд 28
Описание слайда:
Пример вывода (Оригинальное требование) «Система управления кофеваркой никогда не попадет в такое состояние, в котором она не реагирует ни на события системного таймера, ни на нажатие кнопок «ОК» и «C» Кузьмин Е. В., Соколов В. А. Моделирование, спецификация и верификация «автоматных» программ // Программирование. 2008. № 1, c. 38–60.

Слайд 29
Описание слайда:
Пример вывода (Шаг №1) «Система управления кофеваркой никогда не попадет в такое состояние, в котором она не реагирует ни на события системного таймера, ни на нажатие кнопок «ОК» и «C» act = end

Слайд 30
Описание слайда:
Пример вывода (Шаг №2) Наречие «никогда» подсказывает, что должен быть использован шаблон «Отсутствие» с ограничением «Глобально»

Слайд 31
Описание слайда:
Пример вывода (Шаг №3) <требование> → <ограничение> <шаблон> → Для любого состояния верно, что <шаблон> → Для любого состояния верно, что <отсутствие> → Для любого состояния верно, что никогда не выполняется P

Слайд 32
Описание слайда:
Пример вывода (Шаг №4) Для любого состояния верно, что никогда не выполняется act = end Формальный эквивалент для верификации: AG!(act = end) и []!(act = end)

Слайд 33
Описание слайда:
План Введение Шаблоны требований Применимость к АП Запись требований Заключение

Слайд 34
Описание слайда:
Результаты Исследован вопрос применимости ШТ к спецификации АП Проведена адаптация шаблонов Разработаны грамматики для записи требований на подмножестве русского и английского языков Разработана методика записи верифицируемых требований

Слайд 35
Описание слайда:
Дальнейшие исследования Теоретическая сторона: Анализ требований, которые не удалось выразить (нет и в оригинальной работе!) Выделение новых шаблонов Практическая сторона: Wizard для формализации требования Интеграция с инструментальным средством

Слайд 36
Описание слайда:
Конференции VII Межвузовская Конференция Молодых Ученых, СПбГУ ИТМО, 20-23.04.2010 Диплом за лучший доклад на секции «Автоматное программирование» Подана статья в «Научно-технический вестник СПбГУ ИТМО» Spring/Summer Young Researchers' Colloquium on Software Engineering (SYRCoSE 2010), Нижний Новгород, 1-2.06.2010 Workshop on Program Semantics, Specification and Verification: Theory and Applications (PSSV 2010) в рамках Computer Science Symposium in Russia (CSR 2010), Казань, 14-15.06.2010

Слайд 37
Описание слайда:
Спасибо! Вопросы? Клебанов Андрей, 6538


Скачать презентацию на тему Применение шаблонов требований для формальной спецификации и верификации автоматных программ можно ниже:

Похожие презентации