TMPA Pakulin: Dynamic Verification of Hybrid Systems
-
Upload
iosif-itkin -
Category
Documents
-
view
239 -
download
4
Transcript of TMPA Pakulin: Dynamic Verification of Hybrid Systems
Гибридные системы
Гибридные системы - это сложные взаимодействующие физические процессы, которые в реальном времени управляются сетью специализированных ЭВМ. Киберфизические
системы – сочетание аналоговых процессов и цифровых управляющих контуров
10-12.10.2013TMPA-2013, Кострома
Гибридные системы (2)
10-12.10.2013TMPA-2013, Кострома
Гибридные системы (3)
10-12.10.2013TMPA-2013, Кострома
Отличаются тесной взаимосвязью между вычислительными и физическими компонентами системы: Авиация: интегрированная модульная авионика, Автомобилестроение: интеллектуальный автомобиль, Энергетика: интеллектуальные сети, Промышленность: интеллектуальная фабрика, Быт: интеллектуальный дом
“Гибридная система” = “встроенная система на стероидах” Набор взаимодействующих физических процессов Сеть управляющих контроллеров Цифровые каналы передачи информации
Причины разработки гибридных систем
10-12.10.2013TMPA-2013, Кострома
Снижение роли «человеческого фактора» Автоматизация технологических процессов, защита от
ошибок, ускорение выполнения этапов, …Удешевление процессов
Уменьшение числа рабочих – снижение расходов на з/п Снижение требований к квалификации
Улучшение эксплуатационных характеристик Экономия на весе проводов в авиации (топливо!) Уменьшение расхода топлива в автомобиле Уменьшение расходов материалов на производстве …
…Все большее распространение гибридных систем
неизбежно
Риски внедрения гибридных систем
10-12.10.2013TMPA-2013, Кострома
Техногенные катастрофы из-за ошибок проектирования Blackout, сброс неочищенных канализационных
стоков, …Материальные и репутационные потери,
человеческие жертвы Отказы спутников, переоблучение людей
рентгеновским излучением (гипотетически) падение самолетов, ошибки
«электронного шофера»Нежелательное поведение
Отказ выполнять команды оператора
Цель проекта
10-12.10.2013TMPA-2013, Кострома
Верификация гибридных систем на ранних этапах разработки Верификация дизайна гибридной системы, моделей
подсистем, алгоритмов управленияАвтоматизация верификации моделей
гибридных систем Функциональная корректность Надежность (отказоустойчивость, надежность,
доступность)Методы верификации
Тестирование с использованием моделей Вариации условий окружения, внешний шум Внедрение ошибок (Fault Injection),
Пример
10-12.10.2013TMPA-2013, Кострома
Автопилот обеспечивает автоматическое поддержание курса и высоты самолета Поддержание параметров
движения летательного аппарата : автопарирование возмущений по курсу, крену и тангажу, стабилизация высоты и скорости
Требования системного уровня Ограничения по
ускорению, крену, тангажу Требования по
выдерживанию курса и высотыИзображение взято с сайта alput.biz/avtopilot-samoleta.htm
In Models We Trust
10-12.10.2013TMPA-2013, Кострома
Disclaimer: в рамках проекта мы доверяем адекватности моделей окружающей среды и оборудования Модели физических процессов, сенсоров,
актуаторов считаются адекватными реальным системам и оборудования
Верификаторы не должны диктовать физикам / инженерам как моделировать реальный мир
Верификация начинается после создания моделей
Особенности моделирования крупных систем
10-12.10.2013TMPA-2013, Кострома
Разнородные средства моделирования MatLab/Simulink, SciLab/SciCos, LabView Специализированные средства моделирования
(PowerGrid, Esterel, …) Языки общего назначения: C/C++, Fortran, Ada, …
Распределенное аппаратное обеспечение Недостаточно ресурсов CPU/ памяти для
вычисления всех моделей на одном компьютере
Динамическая верификация «на пальцах»
10-12.10.2013TMPA-2013, Кострома
Динамическая верификация = тестирование Тестируется модель реальной системы
Алгоритмы автопилота
Процесс динамической верификации Тест готовит начальное состояние
Самолет взлетает и ложится на курс Поддерживается окружение
Инициализация и синхронизация навигационной системы Инициализация моделей сенсоров
Оказываются тестовые воздействия Варьируются окружающие условия (ветер, атмосферное давление)
Проверка соблюдения требований Модель самолете вычисляет текущее положение, скорость, крен/тангаж, и
т.д. Тест проверяет ограничения на параметры полета
Тест идет непрерывно в течение длительного времени Полет из Шереметьево в Пулково
Запись истории выполнения, визуализация графиков
Архитектура стенда
10-12.10.2013TMPA-2013, Кострома
Целевая система
Автопилот
Python (управление
тестами)
Модель самолета
Система распределени
я
Модель нав. сист.
Модель датчиков
Сценарий ошибок
Модели физических систем
адаптер
Модель …
Визуализаия Мониторинг
Подсистема распределения
10-12.10.2013TMPA-2013, Кострома
Обеспечивает обмен информацией между компонентами стенда Передача данных между машинами стенда Связывание гетерогенных моделей
Возможные подходы к реализации: IEEE 1516 – сложный интерфейс «на все случаи
жизни» OMG Distribution System – по архитектуре publish-
subscribe Рефлективная общая память «Велосипед» – нестандартная самодельная
схема обмена данными
Подсистема распределения (2)
10-12.10.2013TMPA-2013, Кострома
Общие данные хранятся как именованные переменные в общей памяти
Синхронизация общей памяти между машинами по самодельному протоколу Постулируется требование «один писатель – множество
читателей» Широковещательные рассылки для минимизации задержек Выделенный агент на каждой машине синхронизирует данные в
общей памяти с сетьюЛатентность на реальном стенде ~0,3 мс
+ моделирование в реальном времени - риск потерь на коммутаторе (switch)
Внедрение ошибок и/или шума в показания датчиков Управляемое искажение значений переменных при синхронизации
Архитектура стенда
10-12.10.2013TMPA-2013, Кострома
Целевая система
Автопилот
Python (управление
тестами)
Модель самолета
Система распределения
Модель нав. сист.
Модель датчиков
Сценарий ошибок
Модели физических систем
адаптер
Модель …
Визуализаия Мониторинг
Подсистема распределения - адаптеры
10-12.10.2013TMPA-2013, Кострома
Адаптер связывает модель с подсистемой распределения С/С++, Python, Fortran SciLab (аналог MatLab/Simulink)
При разработке моделей необходимо использовать API для доступа к переменным общей памяти Синхронизация прозрачна для приложения
Частичная поддержка legacy моделейСвязь с реальным оборудованием
Выходит за рамки данного доклада
Архитектура стенда
10-12.10.2013TMPA-2013, Кострома
Целевая система
Автопилот
Python (управление
тестами)
Модель самолета
Система распределения
Модель нав. сист.
Модель датчиков
Сценарий ошибок
Модели физических систем
адаптер
Модель …
Визуализаия Мониторинг
Модели
10-12.10.2013TMPA-2013, Кострома
Модели подсистем, с которыми взаимодействует целевая система, и окружающего мира Сенсоры (атм. давление, скорость отн. воздуха, и
т.д.) Навигационная система Двигатель, механизация крыла Модель атмосферы, модель рельефа
Модель системного уровня Модель самолета
Для проверки системных требований
Архитектура стенда
10-12.10.2013TMPA-2013, Кострома
Целевая система
Автопилот
Python (управление
тестами)
Модель самолета
Система распределения
Модель нав. сист.
Модель датчиков
Сценарий ошибок
Модели физических систем
адаптер
Модель …
Визуализаия Мониторинг
Тест
10-12.10.2013TMPA-2013, Кострома
Инициализирует подсистему распределения Набор разделяемых переменных Начальные значения переменных
Управляет моделью окружения Меняет силу ветра, направление, атмосферное давление
Через соответствующие разделяемые переменные
Вносит помехи в показания датчиков Указывает подсистеме распределения модель ошибки
при записи переменной Линейный сдвиг, гармоническая помеха, нормальный шум,
равномерный белый шум
Нотация: Python
Архитектура стенда
10-12.10.2013TMPA-2013, Кострома
Целевая система
Автопилот
Python (управление
тестами)
Модель самолета
Система распределения
Модель нав. сист.
Модель датчиков
Сценарий ошибок
Модели физических систем
адаптер
Модель …
Визуализаия Мониторинг
Визуализация
10-12.10.2013TMPA-2013, Кострома
Табличное представление разделяемых переменных В том числе представление произвольных формул
от значений переменныхГрафическое представление разделяемых
переменных как функций времени В том числе графики произвольных формул от
значений переменныхПредставление нечисловых данных
Binary blob
On-going project
10-12.10.2013TMPA-2013, Кострома
При поддержке гранта РФФИ 12-01-31453
Интеграционный тестовый стенд для авионики нового магистрального самолета МС-21