'

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

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

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


Слайд 2

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


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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


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


Слайд 11

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


Слайд 12

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


Слайд 13

14 Шаблоны требований Глобально До Q После Q Между Q и R После Q до R Последовательность состояний Q R Q R Q Ограничения


Слайд 14

15 Шаблоны требований


Слайд 15

16 Шаблон «Отсутствие»


Слайд 16

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


Слайд 17

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


Слайд 18

19 Пример организации результатов


Слайд 19

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


Слайд 20

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


Слайд 21

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


Слайд 22

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


Слайд 23

24 Адаптация шаблонов к АП


Слайд 24

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


Слайд 25

26 Грамматика (фрагмент) <требование> – стартовый нетерминальный символ


Слайд 26

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


Слайд 27

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


Слайд 28

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


Слайд 29

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


Слайд 30

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


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

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


Слайд 35

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


Слайд 36

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


×

HTML:





Ссылка: