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

Slides:



Advertisements
Similar presentations
Выпускная квалификационная работа на тему: «Применение интернет-технологий как фактор повышения эффективности функционирования организации (на примере.
Advertisements

Языки описания информации Лекция ХХХ. Кафедра «ОСУ» Весенний семестр 2010/2011 уч. года Среда описания ресурсов RDF.
ЗАРЯДКА НА АНГЛИЙСКОМ ЯЗЫКЕ.  Зарядка на уроке английского языка может стать самым любимым и веселым занятием для детей, при том, что она проходит исключительно.
Астрометрические каталоги К.В.Куимов, ГАИШ МГУ. Определение астрометрического каталога Астрометрический каталог – понятие неопределённое. Например, это.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Схема распределения грантов городам-участникам программы Тасис (TCAS) Экологические гранты для муниципалитетов.
Поиск оптимального набора параметров оптимизаций компилятора Брусенцов Леонид Евгеньевич студент 4 курса ФИТ НГУ Руководители:Илья.
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
Системы с наследованием. Если систему можно представить в виде : Где - непрерывные функции, то такая система называется системой с наследованием. Математическое.
Дипломная работа Ивановой О.О., группа 545 Научный руководитель: д. ф.-м. н., профессор Терехов А.Н. Генерация кода по диаграмме активностей.
Системы отбора. Условные обозначения (1) (2) (3) (4) (5) (6) (7) Математическое моделирование процессов отбора2.
ООО «Баркод Маркет».  Инвентаризация имущества – программная система, позволяющая организовать учет любого имущества компании.  Уменьшение неконтролируемых.
Савенко Мария Олеговна, 361 группа Научный руководитель: старший преподаватель В.С.Полозов.
Тел. (495) Москва, а/я 212 Рабочая группа по реформе МВД Москва, 2010 Новикова Асмик, Фонд «Общественный вердикт»
Можно выделить два подхода, на основе которых производится выбор посредника: 1.Аналитический, предполагающий осуществление выбора с использованием формул,
Некомпенсаторное агрегирование и рейтингование студентов Авторы: Гончаров Алексей Александрович, Чистяков Вячеслав Васильевич. НФ ГУ ВШЭ 2010 год.
ПРИНЦИПЫ РАЗРАБОТКИ СИСТЕМЫ КЛАССА LEARNING MANAGEMENT SYSTEM И ОПЫТ ЕЕ ИСПОЛЬЗОВАНИЯ НА ФАКУЛЬТЕТЕ МЕНЕДЖМЕНТА Афанасьева С.В. Кафедра бизнес-информатики.
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
Мягкие бюджетные ограничения и проблема стимулов
Bank ownership and lending behavior Alejandro Micco, Ugo Panizza Politicians and banks: Political influences on government-owned banks in emerging markets.
Определение необходимого уровня запасов на складе.
АВДАШЕВА СВЕТЛАНА КАФЕДРА ЭКОНОМИЧЕСКОГО АНАЛИЗА ОРГАНИЗАЦИЙ И РЫНКОВ 2011/2012 УЧЕБНЫЙ ГОД Теория отраслевых рынков (по выбору для 3 курса факультета.
Учитель математики Кулакова Т.М. МОУ ООШ №15 г.о Новокуйбышевск Самарской области Сентябрь 2011г.
Виртуальная лаборатория для первоначального обучения проектированию программ Н. Н. Красильников, В. Г. Парфенов, Ф. Н. Царев, А. А. Шалыто Кафедра компьютерных.
Обзор последних достижений биометрических методов аутентификации РусКрипто 2005.
Частное равновесие на конкурентном рынке Частное равновесие: последствия государственного регулирования конкурентного рынка Распределение налогового бремени.
1 СПбГУ ИТМО, кафедра Компьютерных Технологий ПРИМЕНЕНИЕ АВТОМАТНОГО ПРОГРАММИРОВАНИЯ ДЛЯ ПОСТРОЕНИЯ СИСТЕМ УПРАВЛЕНИЯ БИЗНЕС- ПРОЦЕССАМИ Евгений Андреевич.
Параметризация устройств сетевого управления Казакова А.С. Научный руководитель: Венгерова Е.А. Рецензент: Ушаков К.С. Кафедра системного программирования.
ООП Классы – 2. Ссылки Ссылка – еще одно имя объекта. Используйте ссылки вместо указателя. Это более безопасно. Complex c(10,10); Complex c2& = c; c2+=10;
Блок 3. Семейства белков I. Множественное выравнивание Первый курс, весна 2008, А.Б.Рахманинова.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Ответы на вопросы 7 июля « Подготовка паспортов безопасности» тел: (495) Экологический Синтезирующий.
Демидов А.В г. Операционные системы Лекция 3 Процессы.
1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.
L/O/G/O Психология решения задач и проблем: классика и современность Спиридонов В.Ф. (РГГУ-ГУВШЭ)
Совместное применение генетического программирования и верификации моделей для построения автоматов управления системами со сложным поведением К. В. Егоров,
Growing Neural Gas Method Нейросетевой метод построения неструктурированных адаптивных сеток.
Разработка интеллектуальной многоагентной системы адаптивных роботов для игры в футбол Выполнили: А. А. Коробкин, 545 гр Г. М. Комаров, 544 гр Научный.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
 Нужно много различных протоколов связи  Каждый из них может реализовываться на разных платформах Современные сети Много устройств, компьютеров и сетей.
Распределение наборов неоднородных по размеру заданий в кластерных системах на основе ClassAd механизма Голубев Александр Юрьевич, 542 группа Научный руководитель:
Верификация автоматных программ Ремизов А.О., д.т.н., проф. Шалыто А.А.
Универмаги в большей степени, чем специализированные магазины заинтересованы в поддержании своей репутации. Как данный фактор может повлиять на систему.
Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3»
Вычисление типов в императивных динамически типизированных языках. Михаил Калугин, студент 3 курса ММФ Научные руководители: Игорь Николаевич Скопин Андрей.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании Царев Ф. Н. Научный руководитель.
Кураева Екатерина Анатольевна, заместитель директора по УВР, учитель математики сш № 29.
Реализация XPath над S-выражениями 2007 Миленин Евгений, гр. 544 Кафедра Системного Программирования Математико-Механический ф-т, СПбГУ Научный руководитель:
Анализ и Проектирование качественных приложений Презентация по книге Крэга Лармана.
Применение генетических алгоритмов к генерации тестов для автоматных программ Законов Андрей Юрьевич Научный руководитель: Степанов Олег Георгиевич, к.т.н.,
Маршрут, цепь, цикл Маршрутом называют последовательность вершин и ребер, в которой любые два соседних элемента инцидентны (т.е. соединены). Например:
Моделирование систем хранения с целью уменьшения потребления энергии Научный руководитель: ассистент кафедры информатики Алиев А. А. Рецензент: ст. пр.
Разработка алгоритмов распознавания текста
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
ВВЕДЕНИЕ В ВЫЧИСЛИТЕЛЬНУЮ МАТЕМАТИКУ Лекция 5 6 октября 2009 ВЫЧИСЛИТЕЛЬНАЯ ЛИНЕЙНАЯ АЛГЕБРА.
Место человека в интеллектуальной техносреде В.В. Бушуев, д.т.н., проф., Генеральный директор Института энергетической стратегии ЦМТ, г.
Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Руководитель проекта – А. А. Шалыто Докладчик.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 3. Требования к ПО: разработка требований.
LINGUISTIC TOOLS ЛИНГВИСТИЧЕСКИЕ ИНСТРУМЕНТЫ Лекция 1.
TMG Tel: 8 (495) Fax: 8 (477) Technology Management Group ООО «TMG» PayKeeper.
Применение генетического программирования для реализации систем со сложным поведением Санкт-Петербургский Государственный Университет Информационных Технологий,
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
Исследование возможностей сервисной шины SonicMQ Дипломная работа студентки 545 группы Комольцевой Дарьи Владимировны Научный руководитель: Графеева Н.Г.
«Отгадай символы Рождества»
On the Formal Specification of Automata- based Programs via Specification Patterns Spring/Summer Young Researchers' Colloquium on Software Engineering.
КРУПНЕЙШАЯ ТЕХНИЧЕСКАЯ КОНФЕРЕНЦИЯ MICROSOFT В УКРАИНЕ Metro приложения: работа с данными Краковецкий Александр, MVP/RD/PhD. DevRain Solutions.
Алгебра логики это раздел математики, изучающий высказывания, рассматриваемые со стороны их логических значений (истинности или ложности) и логических.
1 Игорь Борисович Бурдонов Александр Сергеевич Косачев Тестирование и верификация систем на основе формальных моделей Институт Системного Программирования.
Провизорные органы амниот. Теоретические вопросы эмбриологии.
Сергей Копорулин | Эксперт по технологиям | Microsoft
Presentation transcript:

Применение шаблонов требований для формальной спецификации и верификации автоматных программ Клебанов Андрей, 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 // Моделирование и анализ информационных систем. Ярославль: ЯрГУ Т. 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 Шаблон «Отсутствие» ЦельИспользуется для описания части пути исполнения системы, в которой нет определенного состояния. Так же известен как «Никогда». ЗаписьLTLОграничениеЗапись Глобально [](!P) До R<>R -> (!P U R) После Q[](Q -> [](!P)) Между Q и R []((Q & !R & <>R) -> (!P U R)) После Q до R[](Q & !R -> (!P W R)) CTLОграничениеЗапись Глобально AG(!P) После QAG(Q -> AG(!P)) …… После Q до RAG(Q & !R -> A[!P W R]) Пример использования Этот шаблон может быть применен для описания общих свойств модели в целом или отдельной группы состояний. Для специфицирования свойства безопасности (safety) следует использовать это шаблон и ограничение «Глобально». Например, в том случае, когда необходимо выразить свойство вида: «Автомат A никогда не перейдет в состояние s », «В состоянии s никогда не будет обработано событие e » или свойство «Тупиковое состояние» из разд Связь с другими шаблонами …

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

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

19 Пример организации результатов №ТребованиеИсходная формальна запись Шаблон, Ограничение Источник 9Система управления кофеваркой никогда не попадет в такое состояние, в котором она никак не реагирует ни на события системного таймера, ни на нажатие кнопок «ОК» и «C». !(EF act = end) Отс., Глобально AG(!P) ≡ !EF(P), P: act = end 5

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

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

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

23 Оставшиеся 15% (Пример 2) Особенности алгоритма преобразования? ШТ «Ответ» (на след. шаге) : [](e 1 -> X(z 1 )) Непосредственно после открытия двери загорается лампочка. e 1 U z 1 e1e1 z1z1 e1e1 z1z1

24 Адаптация шаблонов к АП Пример использования Этот шаблон может быть применен для описания общих свойств модели в целом или отдельной группы состояний. Для специфицирования свойства безопасности (safety) следует использовать это шаблон и ограничение «Глобально». Например, в том случае, когда необходимо выразить свойство вида: «Автомат A никогда не перейдет в состояние s », «В состоянии s никогда не будет обработано событие e » или свойство «Тупиковое состояние» из разд Examples and Known Uses The most common example is mutual exclusion. In a state- based model, the scope would be global and P would be a state formula that is true if more than one process is in its critical section.

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

26 Грамматика (фрагмент) ::= ::= «Для любого состояния верно, что» | «До состояния, в котором Q, верно что» | «После состояния, в котором Q, верно что» | «Между состоянием, в котором Q, до состояния, в котором R, верно что» | «После состояния, в котором Q, до состояния, в котором R, верно что» ::= | | | | | ::= «никогда не выполняется P » ::= «всегда выполняется P » ::= «когда-нибудь выполнится P » …… – стартовый нетерминальный символ

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

28 Пример вывода (Оригинальное требование) «Система управления кофеваркой никогда не попадет в такое состояние, в котором она не реагирует ни на события системного таймера, ни на нажатие кнопок «ОК» и «C» Кузьмин Е. В., Соколов В. А. Моделирование, спецификация и верификация «автоматных» программ // Программирование № 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 Межвузовская Конференция Молодых Ученых, СПбГУ ИТМО, Диплом за лучший доклад на секции «Автоматное программирование» Подана статья в «Научно-технический вестник СПбГУ ИТМО» Spring/Summer Young Researchers' Colloquium on Software Engineering (SYRCoSE 2010), Нижний Новгород, Workshop on Program Semantics, Specification and Verification: Theory and Applications (PSSV 2010) в рамках Computer Science Symposium in Russia (CSR 2010), Казань,

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