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

Содержание

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

Слайд 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Шаблоны требований






Глобально
До Q
После Q
Между Q и R
После Q до R
Последовательность состояний
Q

R Q R Q









Ограничения


Слайд 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))

e1

z1


e1

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


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика