Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Руководитель проекта – А. А. Шалыто Докладчик.

Slides:



Advertisements
Similar presentations
СИСТЕМА УПРАВЛЕНИЯ ЭФФЕКТИВНОСТЬЮ НА РЕГИОНАЛЬНОМ И МУНИЦИПАЛЬНОМ УРОВНЕ Е. П. Моргунов Сибирский государственный аэрокосмический университет им. акад.
Advertisements

PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
« Использование двоичной системы счисления при составлении генеалогического дерева». Автор: Вербицкий Евгений Ученик МОУ «Лицей» 7 г класса.
Применение генетических алгоритмов для генерации автоматов при построении модели максимального правдоподобия и в задачах управления Выполнил: Бедный Юрий,
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
Системы с наследованием. Если систему можно представить в виде : Где - непрерывные функции, то такая система называется системой с наследованием. Математическое.
Дипломная работа Ивановой О.О., группа 545 Научный руководитель: д. ф.-м. н., профессор Терехов А.Н. Генерация кода по диаграмме активностей.
Система Антиплагиат.РГБ: результаты работы и новые возможности Десятая, юбилейная, международная научно-практическая конференция "ЭЛЕКТРОННЫЙ ВЕК КУЛЬТУРЫ"
Расторгуев А.C., 545 группа Научный руководитель: Пименов А.А. Рецензент: ст. преп. Смирнова Е.А.
Системы отбора. Условные обозначения (1) (2) (3) (4) (5) (6) (7) Математическое моделирование процессов отбора2.
Автоматизированная поддержка пользовательской документации Web-приложений, разрабатываемых в среде WebRatio Студент: Дорохов Вадим, 544 гр. Научный руководитель:
ЛОМОНОСОВ И МАТЕМАТИКА. Большое значение Ломоносов придавал математике, рекомендуя широко применять математические методы в других науках. Математику,
ООО «Баркод Маркет».  Инвентаризация имущества – программная система, позволяющая организовать учет любого имущества компании.  Уменьшение неконтролируемых.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Научный руководитель: Б.А. Новиков.
Обработка структурных изменений источников данных в ETL процессах Долбешкин Андрей Николаевич, 445 группа Руководитель: Александр Сергеевич Дольник.
Некомпенсаторное агрегирование и рейтингование студентов Авторы: Гончаров Алексей Александрович, Чистяков Вячеслав Васильевич. НФ ГУ ВШЭ 2010 год.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Научный руководитель: Я.А. Кириленко.
Применение генетического программирования для построения автоматов А. А. Шалыто Г. А. Корнеев Санкт-Петербургский государственный университет информационных.
Виртуальная лаборатория для первоначального обучения проектированию программ Н. Н. Красильников, В. Г. Парфенов, Ф. Н. Царев, А. А. Шалыто Кафедра компьютерных.
1 СПбГУ ИТМО, кафедра Компьютерных Технологий ПРИМЕНЕНИЕ АВТОМАТНОГО ПРОГРАММИРОВАНИЯ ДЛЯ ПОСТРОЕНИЯ СИСТЕМ УПРАВЛЕНИЯ БИЗНЕС- ПРОЦЕССАМИ Евгений Андреевич.
Параметризация устройств сетевого управления Казакова А.С. Научный руководитель: Венгерова Е.А. Рецензент: Ушаков К.С. Кафедра системного программирования.
Применение шаблонов требований для формальной спецификации и верификации автоматных программ Клебанов Андрей, 6538 Науч. рук. Степанов Олег, к.т.н, СПбГУ.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.
Аппаратное ускорение алгоритмов компьютерного зрения Стефан Бояровски, 361 группа Научный руководитель: Сергей П. Шувалкин.
Совместное применение генетического программирования и верификации моделей для построения автоматов управления системами со сложным поведением К. В. Егоров,
Понятие риска применительно к инвестиционным проектам
Growing Neural Gas Method Нейросетевой метод построения неструктурированных адаптивных сеток.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Семинар 2. Знакомство с построением диаграмм вариантов.
Сопоставление полигональных объектов на основе независимой фрагментации контуров Выполнил: Ю. М. Плотников Научный руководитель: канд. ф.-м. наук К. В.
Применение генетического программирования для построения автоматов, управляющих системами со сложным поведением Ф. Н. Царев, А. А. Шалыто 2007 год.
Создание экспериментального стенда для оценки методов поиска изображений по содержанию Выполнила: Теплых М. А. Научный руководитель: Васильева Н. С. Рецензент:
Генерация вероятностных автоматов методами Reinforcement Learning Выполнил: Иринёв А. В. Руководитель: Шалыто А. А.
EDCWiki Electronic Document Circulation using wiki Система электронного документооборота на основе wiki Участники: Кузьмин К.А., Цыцулин В. И. Руководитель:
Анализ сценариев. Имитационное моделирование. 2 Метод сценариев метод, основанный на построении набора сценариев - возможных непротиворечивых комбинаций.
Оптимизация Just – in - time компилятора методом профилирования значений Соколов Андрей Владимирович, ФФ НГУ, 3 курс, Руководитель:
Симулятор квантовых вычислений Выполнил: Гедерцев А.С. Руководитель, д.ф.-м.н., профессор: Граничин О.Н.
Применение генетического программирования для генерации автомата в задаче об «Умном муравье» Царев Ф.Н., Шалыто А.А. IV Международная научно-практическая.
Верификация автоматных программ Ремизов А.О., д.т.н., проф. Шалыто А.А.
Методы интерактивной визуализации динамики жидких и газообразных сред Елена Костикова, 521 гр.
2 3  Федеральный закон от 23 ноября 2009 г. № 261-ФЗ «Об энергосбережении и повышении энергетической эффективности и о внесении изменений в отдельные.
Анализ использования нескольких функций приспособленности для построения автоматов с помощью генетических алгоритмов на примере задачи «Умный муравей 3»
Применение генетических алгоритмов для генерации автоматов Мура и систем взаимодействующих автоматов Мили в задаче об «Умном муравье» А. А. Давыдов, Д.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании Царев Ф. Н. Научный руководитель.
Санкт-Петербургский Государственный Университет Математико-Механический факультет Кафедра системного программирования Применение диаграмм двоичных решений.
Анализ и Проектирование качественных приложений Презентация по книге Крэга Лармана.
Применение генетических алгоритмов к генерации тестов для автоматных программ Законов Андрей Юрьевич Научный руководитель: Степанов Олег Георгиевич, к.т.н.,
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 3. Требования к ПО: модели систем.
BioUML интегрированная расширяемая среда для моделирования биологических систем Biosoft.Ru Лабоработория Биоинформатики КТИ ВТ СО РАН
Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением Государственный контракт №
Моделирование систем хранения с целью уменьшения потребления энергии Научный руководитель: ассистент кафедры информатики Алиев А. А. Рецензент: ст. пр.
Разработка алгоритмов распознавания текста
Предметно-ориентированное моделирование приложений для платформы Android Никонова Ольга СПбГУ Научный руководитель Брыксин Т.А.
Объектно-ориентированное проектирование DSP-систем в телекоммуникациях Подготовил: Сергеев Виктор Николаевич СПбГУ, математико-механический Факультет,
Заместитель начальника Управления Д.В. Милютин Критерии согласования ФСТ России перехода на метод доходности инвестированного капитала Нахабино
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
ВВЕДЕНИЕ В ВЫЧИСЛИТЕЛЬНУЮ МАТЕМАТИКУ Лекция 5 6 октября 2009 ВЫЧИСЛИТЕЛЬНАЯ ЛИНЕЙНАЯ АЛГЕБРА.
Место человека в интеллектуальной техносреде В.В. Бушуев, д.т.н., проф., Генеральный директор Института энергетической стратегии ЦМТ, г.
9 октября 2004 Поиск статических изображений по содержанию: использование текстового запроса Наталья Васильева
Мультиагентные системы и их применение в сетевых задачах Выполнил: студент 545 гр. Г.И. Вольфсон Научный руководитель: д. ф.-м. н. А.Н.Терехов 2007.
Проверка эквивалентности срединной и линейной осей многоугольника Дипломная работа студента 545 группы Подколзина Максима Валериевича Санкт-Петербургский.
Алгоритм исправления ошибок при анализе в парсерах типа перенос-свертка, основанный на предположении об избыточности языка Дипломная работа студента 545.
Применение генетического программирования для реализации систем со сложным поведением Санкт-Петербургский Государственный Университет Информационных Технологий,
___________________________ Грязнов В.Б. Директор по Информационным технологиям ОАО «Мосэнерго»
Классификация, кластеризация и поиск изображений на основе низкоуровневых характеристик Наталья Васильева Руководитель: Новиков Б. А.
Санкт-Петербургский Государственный Университет Экономики и Финансов
Исследование возможностей сервисной шины SonicMQ Дипломная работа студентки 545 группы Комольцевой Дарьи Владимировны Научный руководитель: Графеева Н.Г.
Алгоритмическая структура «выбор» Автор: Доронина Екатерина Валерьевна, МКОУ СОШ № 1, Г. Коркино.
Presentation transcript:

Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Руководитель проекта – А. А. Шалыто Докладчик – Ф. Н. Царев Санкт-Петербургский государственный университет информационных технологий, механики и оптики

2 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Парадигма автоматного программирования Предложено в России в 1991 году Программные системы разрабатываются как системы взаимодействующих автоматизированных объектов управления Система управления является системой взаимодействующих конечных автоматов Состояния События и входные переменные Выходные воздействия Конечный автомат Система конечных автоматов

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

4 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Верификация моделей традиционно построенных программ Модель поведения программы строится на этапе верификации Построение модели Крипке соответствие модели программе Построение формальных требований формулировка требований в терминах модели Крипке Формальная верификация большая размерность пространства состояний Отображение контрпримеров преобразования контрпримеров в термины исходной программы

5 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Верификация автоматной модели программы Модель поведения программы (в общем случае, система взаимосвязанных автоматов) строится не на этапе верификации, а при проектировании программы Формальное построение модели для верификации по модели поведения возможность автоматизации Формулировка требований к программе в терминах автоматов Формальная верификация рассмотрение управляющих состояний Формальное восстановление контрпримеров в терминах исходной модели – модели поведения

6 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Предлагаемые методы 1. Метод верификации автоматных программ с использованием верификатора NuSMV 2. Метод верификации на основе темпоральной логики CTL 3. Метод верификации визуальных автоматных моделей 4. Метод верификации на основе эмуляции

7 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода 1. Метод верификации автоматных программ с использованием верификатора NuSMV Выделение промежуточных состояний в каждом автомате Запись каждого автомата набором переменных и переходов между ними Объединение моделей автоматов в общую модель

8 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Выделение промежуточных состояний (метод 1) s1 – автомат находится в состоянии s1; s2 – в этом состоянии модели автомат вызывает автомат A2 с событием e1; s3 – переходит в основное состояние s2; s5 – автомат находится в состоянии s2

9 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Запись требований (метод 1) Формулы темпоральной логики ACTL Автомат Ak находится в состоянии sj – yk.sj. Выполнилось выходное воздействие z1 – Action_z1. Произошло событие ei – A1.ei Темпоральные операторы: AF, AG, A[U]

10 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Инструментальное средство FSM Verifier (метод 1) Вход – система автоматов Мили Преобразует систему автоматов в модель для верификатора NuSMV Преобразует контрпример из формата NuSMV в термины исходной системы автоматов

11 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода 2. Метод верификации на основе темпоральной логики CTL Рекурсивное построение модели Крипке для системы автоматов, взаимодействующих через вложенность Выделение промежуточных состояний в каждом автомате: промежуточные состояния, построенные из выходных воздействий промежуточные состояния на переходах

12 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Промежуточные состояния (метод 2) Промежуточные состояния, построенные из выходных воздействий Промежуточные состояния на переходах

13 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Запись требований (метод 2) Требования записываются в виде CTL-формул Темпоральные операторы: AF, AG, A[U], AX, EF, EG, E[U], EX

14 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Инструментальное средство CTL Verifier (метод 2) Вход – система смешанных (Мили-Мура) автоматов, взаимодействующих по вложенности Преобразует систему автоматов в модель Крипке Выполняет верификацию (алгоритм Кларка-Эмерсона-Систлы) Преобразует контрпример из терминов модели Крипке в термины исходной модели

15 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода 3. Метод верификации визуальных автоматных моделей Преобразование автоматной модели в текст программы на языке Promela Для каждого автомата создается функция, для текущего состояния переменная, для каждого перехода – оператор, … (14 правил) Требования записываются в виде LTL-формул Операторы G, F, U

16 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Верификация с применением SPIN (метод 3)

17 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Инструментальное средство Converter (метод 3) Вход – XML-описание автоматной модели, построенной в UniMod Преобразование автоматной модели в текст программы на языке Promela Верификация программы с помощью верификатора SPIN Отображение контрпримера в терминах модели на языке Promela

18 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода 4. Метод верификации на основе эмуляции Глобальное состояние автоматной программы задается набором состояний ее автоматов. Элементарным шагом программы является обработка автоматной программой одного события. Элементарный шаг откатывается путем установки автоматов в исходные состояния. Перебор возможных историй работы программы происходит за счет выбора всех возможных событий и выбора всех возможных значений условий на переходах. Предикаты описывают события, действия и значения переменных, полученные в последнем шаге. Требования записываются в виде LTL-формул Операторы G, F, U

19 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Верификация с применением Bogor (метод 4)

20 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Инструментальное средство UniMod.Verifier (метод 4)

21 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Пример применения метода 4 – модель банкомата Автомат AClient Автомат AServer

22 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Банкомат выдает деньги только после авторизации [не выдадут деньги] U [введет правильный PIN-код] !o1.z10 U e10 LTL.temporalProperty( Property.createObservableDictionary( Property.createObservableKey("correct_pin", AutomataModel.wasEvent(model, "e10")), Property.createObservableKey("give_money", AutomataModel.wasAction(model, "o1.z10")) ), LTL.weakUntil( LTL.negation(LTL.prop("give_money")), LTL.prop("correct_pin") ) ); Свойство выполняется

23 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Деньги не выдаются, пока пользователь не сделает соответствующий запрос [не выдаются деньги] U [сделан запрос на выдачу денег] !o1.z10 U e23 LTL.temporalProperty ( Property.createObservableDictionary ( Property.createObservableKey("money_requested", AutomataModel.wasEvent(model, "e23")), Property.createObservableKey("give_money", AutomataModel.wasAction(model, "o1.z10")) ), LTL.weakUntil ( LTL.negation(LTL.prop("give_money")), LTL.prop("money_requested") ) ); Свойство не выполняется

24 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Результаты Разработаны четыре метода верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Эффективность методов продемонстрирована на задаче верификации модели банкомата Разработаны прототипы программных средств, поддерживающих указанные методы

25 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Выполнение программных индикаторов Защищена одна диссертация на соискание ученой степени кандидата технических наук – Гуров В. С. Технология проектирования и реализации объектно-ориентированных программ с явным выделением состояний (метод, инструментальное средство, верификация) Опубликовано восемь статей в ведущих научных журналах Получено четыре свидетельства об официальной регистрации программы для ЭВМ

26 Технология верификации управляющих программ со сложным поведением, построенных на основе автоматного подхода Спасибо за внимание