23
ПАКУЛИН НИКОЛАЙ [email protected] ИСП РАН, МОСКВА Динамическая верификация гибридных систем

TMPA Pakulin: Dynamic Verification of Hybrid Systems

Embed Size (px)

Citation preview

Page 1: TMPA Pakulin: Dynamic Verification of Hybrid Systems

ПАКУЛИН НИКОЛАЙ[email protected]

ИСП РАН, МОСКВА

Динамическая верификация гибридных

систем

Page 2: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Гибридные системы

Гибридные системы - это сложные взаимодействующие физические процессы, которые в реальном времени управляются сетью специализированных ЭВМ. Киберфизические

системы – сочетание аналоговых процессов и цифровых управляющих контуров

10-12.10.2013TMPA-2013, Кострома

Page 3: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Гибридные системы (2)

10-12.10.2013TMPA-2013, Кострома

Page 4: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Гибридные системы (3)

10-12.10.2013TMPA-2013, Кострома

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

“Гибридная система” = “встроенная система на стероидах” Набор взаимодействующих физических процессов Сеть управляющих контроллеров Цифровые каналы передачи информации

Page 5: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Причины разработки гибридных систем

10-12.10.2013TMPA-2013, Кострома

Снижение роли «человеческого фактора» Автоматизация технологических процессов, защита от

ошибок, ускорение выполнения этапов, …Удешевление процессов

Уменьшение числа рабочих – снижение расходов на з/п Снижение требований к квалификации

Улучшение эксплуатационных характеристик Экономия на весе проводов в авиации (топливо!) Уменьшение расхода топлива в автомобиле Уменьшение расходов материалов на производстве …

…Все большее распространение гибридных систем

неизбежно

Page 6: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Риски внедрения гибридных систем

10-12.10.2013TMPA-2013, Кострома

Техногенные катастрофы из-за ошибок проектирования Blackout, сброс неочищенных канализационных

стоков, …Материальные и репутационные потери,

человеческие жертвы Отказы спутников, переоблучение людей

рентгеновским излучением (гипотетически) падение самолетов, ошибки

«электронного шофера»Нежелательное поведение

Отказ выполнять команды оператора

Page 7: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Цель проекта

10-12.10.2013TMPA-2013, Кострома

Верификация гибридных систем на ранних этапах разработки Верификация дизайна гибридной системы, моделей

подсистем, алгоритмов управленияАвтоматизация верификации моделей

гибридных систем Функциональная корректность Надежность (отказоустойчивость, надежность,

доступность)Методы верификации

Тестирование с использованием моделей Вариации условий окружения, внешний шум Внедрение ошибок (Fault Injection),

Page 8: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Пример

10-12.10.2013TMPA-2013, Кострома

Автопилот обеспечивает автоматическое поддержание курса и высоты самолета Поддержание параметров

движения летательного аппарата : автопарирование возмущений по курсу, крену и тангажу, стабилизация высоты и скорости

Требования системного уровня Ограничения по

ускорению, крену, тангажу Требования по

выдерживанию курса и высотыИзображение взято с сайта alput.biz/avtopilot-samoleta.htm

Page 9: TMPA Pakulin: Dynamic Verification of Hybrid Systems

In Models We Trust

10-12.10.2013TMPA-2013, Кострома

Disclaimer: в рамках проекта мы доверяем адекватности моделей окружающей среды и оборудования Модели физических процессов, сенсоров,

актуаторов считаются адекватными реальным системам и оборудования

Верификаторы не должны диктовать физикам / инженерам как моделировать реальный мир

Верификация начинается после создания моделей

Page 10: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Особенности моделирования крупных систем

10-12.10.2013TMPA-2013, Кострома

Разнородные средства моделирования MatLab/Simulink, SciLab/SciCos, LabView Специализированные средства моделирования

(PowerGrid, Esterel, …) Языки общего назначения: C/C++, Fortran, Ada, …

Распределенное аппаратное обеспечение Недостаточно ресурсов CPU/ памяти для

вычисления всех моделей на одном компьютере

Page 11: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Динамическая верификация «на пальцах»

10-12.10.2013TMPA-2013, Кострома

Динамическая верификация = тестирование Тестируется модель реальной системы

Алгоритмы автопилота

Процесс динамической верификации Тест готовит начальное состояние

Самолет взлетает и ложится на курс Поддерживается окружение

Инициализация и синхронизация навигационной системы Инициализация моделей сенсоров

Оказываются тестовые воздействия Варьируются окружающие условия (ветер, атмосферное давление)

Проверка соблюдения требований Модель самолете вычисляет текущее положение, скорость, крен/тангаж, и

т.д. Тест проверяет ограничения на параметры полета

Тест идет непрерывно в течение длительного времени Полет из Шереметьево в Пулково

Запись истории выполнения, визуализация графиков

Page 12: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Архитектура стенда

10-12.10.2013TMPA-2013, Кострома

Целевая система

Автопилот

Python (управление

тестами)

Модель самолета

Система распределени

я

Модель нав. сист.

Модель датчиков

Сценарий ошибок

Модели физических систем

адаптер

Модель …

Визуализаия Мониторинг

Page 13: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Подсистема распределения

10-12.10.2013TMPA-2013, Кострома

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

Возможные подходы к реализации: IEEE 1516 – сложный интерфейс «на все случаи

жизни» OMG Distribution System – по архитектуре publish-

subscribe Рефлективная общая память «Велосипед» – нестандартная самодельная

схема обмена данными

Page 14: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Подсистема распределения (2)

10-12.10.2013TMPA-2013, Кострома

Общие данные хранятся как именованные переменные в общей памяти

Синхронизация общей памяти между машинами по самодельному протоколу Постулируется требование «один писатель – множество

читателей» Широковещательные рассылки для минимизации задержек Выделенный агент на каждой машине синхронизирует данные в

общей памяти с сетьюЛатентность на реальном стенде ~0,3 мс

+ моделирование в реальном времени - риск потерь на коммутаторе (switch)

Внедрение ошибок и/или шума в показания датчиков Управляемое искажение значений переменных при синхронизации

Page 15: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Архитектура стенда

10-12.10.2013TMPA-2013, Кострома

Целевая система

Автопилот

Python (управление

тестами)

Модель самолета

Система распределения

Модель нав. сист.

Модель датчиков

Сценарий ошибок

Модели физических систем

адаптер

Модель …

Визуализаия Мониторинг

Page 16: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Подсистема распределения - адаптеры

10-12.10.2013TMPA-2013, Кострома

Адаптер связывает модель с подсистемой распределения С/С++, Python, Fortran SciLab (аналог MatLab/Simulink)

При разработке моделей необходимо использовать API для доступа к переменным общей памяти Синхронизация прозрачна для приложения

Частичная поддержка legacy моделейСвязь с реальным оборудованием

Выходит за рамки данного доклада

Page 17: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Архитектура стенда

10-12.10.2013TMPA-2013, Кострома

Целевая система

Автопилот

Python (управление

тестами)

Модель самолета

Система распределения

Модель нав. сист.

Модель датчиков

Сценарий ошибок

Модели физических систем

адаптер

Модель …

Визуализаия Мониторинг

Page 18: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Модели

10-12.10.2013TMPA-2013, Кострома

Модели подсистем, с которыми взаимодействует целевая система, и окружающего мира Сенсоры (атм. давление, скорость отн. воздуха, и

т.д.) Навигационная система Двигатель, механизация крыла Модель атмосферы, модель рельефа

Модель системного уровня Модель самолета

Для проверки системных требований

Page 19: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Архитектура стенда

10-12.10.2013TMPA-2013, Кострома

Целевая система

Автопилот

Python (управление

тестами)

Модель самолета

Система распределения

Модель нав. сист.

Модель датчиков

Сценарий ошибок

Модели физических систем

адаптер

Модель …

Визуализаия Мониторинг

Page 20: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Тест

10-12.10.2013TMPA-2013, Кострома

Инициализирует подсистему распределения Набор разделяемых переменных Начальные значения переменных

Управляет моделью окружения Меняет силу ветра, направление, атмосферное давление

Через соответствующие разделяемые переменные

Вносит помехи в показания датчиков Указывает подсистеме распределения модель ошибки

при записи переменной Линейный сдвиг, гармоническая помеха, нормальный шум,

равномерный белый шум

Нотация: Python

Page 21: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Архитектура стенда

10-12.10.2013TMPA-2013, Кострома

Целевая система

Автопилот

Python (управление

тестами)

Модель самолета

Система распределения

Модель нав. сист.

Модель датчиков

Сценарий ошибок

Модели физических систем

адаптер

Модель …

Визуализаия Мониторинг

Page 22: TMPA Pakulin: Dynamic Verification of Hybrid Systems

Визуализация

10-12.10.2013TMPA-2013, Кострома

Табличное представление разделяемых переменных В том числе представление произвольных формул

от значений переменныхГрафическое представление разделяемых

переменных как функций времени В том числе графики произвольных формул от

значений переменныхПредставление нечисловых данных

Binary blob

Page 23: TMPA Pakulin: Dynamic Verification of Hybrid Systems

On-going project

10-12.10.2013TMPA-2013, Кострома

При поддержке гранта РФФИ 12-01-31453

Интеграционный тестовый стенд для авионики нового магистрального самолета МС-21