TMPA Pakulin: Dynamic Verification of Hybrid Systems

587 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
587
On SlideShare
0
From Embeds
0
Number of Embeds
205
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

TMPA Pakulin: Dynamic Verification of Hybrid Systems

  1. 1. П А К У Л И Н Н И К О Л А Й N P A K @ I S P R A S . R U И С П Р А Н , М О С К В А Динамическая верификация гибридных систем
  2. 2. Гибридные системы  Гибридные системы - это сложные взаимодействующие физические процессы, которые в реальном времени управляются сетью специализированных ЭВМ.  Киберфизические системы – сочетание аналоговых процессов и цифровых управляющих контуров 10-12.10.2013TMPA-2013, Кострома
  3. 3. Гибридные системы (2) 10-12.10.2013TMPA-2013, Кострома
  4. 4. Гибридные системы (3) 10-12.10.2013TMPA-2013, Кострома  Отличаются тесной взаимосвязью между вычислительными и физическими компонентами системы:  Авиация: интегрированная модульная авионика,  Автомобилестроение: интеллектуальный автомобиль,  Энергетика: интеллектуальные сети,  Промышленность: интеллектуальная фабрика,  Быт: интеллектуальный дом  “Гибридная система” = “встроенная система на стероидах”  Набор взаимодействующих физических процессов  Сеть управляющих контроллеров  Цифровые каналы передачи информации
  5. 5. Причины разработки гибридных систем 10-12.10.2013TMPA-2013, Кострома  Снижение роли «человеческого фактора»  Автоматизация технологических процессов, защита от ошибок, ускорение выполнения этапов, …  Удешевление процессов  Уменьшение числа рабочих – снижение расходов на з/п  Снижение требований к квалификации  Улучшение эксплуатационных характеристик  Экономия на весе проводов в авиации (топливо!)  Уменьшение расхода топлива в автомобиле  Уменьшение расходов материалов на производстве  …  …  Все большее распространение гибридных систем неизбежно
  6. 6. Риски внедрения гибридных систем 10-12.10.2013TMPA-2013, Кострома  Техногенные катастрофы из-за ошибок проектирования  Blackout, сброс неочищенных канализационных стоков, …  Материальные и репутационные потери, человеческие жертвы  Отказы спутников, переоблучение людей рентгеновским излучением  (гипотетически) падение самолетов, ошибки «электронного шофера»  Нежелательное поведение  Отказ выполнять команды оператора
  7. 7. Цель проекта 10-12.10.2013TMPA-2013, Кострома  Верификация гибридных систем на ранних этапах разработки  Верификация дизайна гибридной системы, моделей подсистем, алгоритмов управления  Автоматизация верификации моделей гибридных систем  Функциональная корректность  Надежность (отказоустойчивость, надежность, доступность)  Методы верификации  Тестирование с использованием моделей  Вариации условий окружения, внешний шум  Внедрение ошибок (Fault Injection),
  8. 8. Пример 10-12.10.2013TMPA-2013, Кострома  Автопилот обеспечивает автоматическое поддержание курса и высоты самолета  Поддержание параметров движения летательного аппарата : автопарирование возмущений по курсу, крену и тангажу, стабилизация высоты и скорости  Требования системного уровня  Ограничения по ускорению, крену, тангажу  Требования по выдерживанию курса и высоты Изображение взято с сайта alput.biz/avtopilot-samoleta.htm
  9. 9. In Models We Trust 10-12.10.2013TMPA-2013, Кострома  Disclaimer: в рамках проекта мы доверяем адекватности моделей окружающей среды и оборудования  Модели физических процессов, сенсоров, актуаторов считаются адекватными реальным системам и оборудования  Верификаторы не должны диктовать физикам / инженерам как моделировать реальный мир  Верификация начинается после создания моделей
  10. 10. Особенности моделирования крупных систем 10-12.10.2013TMPA-2013, Кострома  Разнородные средства моделирования  MatLab/Simulink, SciLab/SciCos, LabView  Специализированные средства моделирования (PowerGrid, Esterel, …)  Языки общего назначения: C/C++, Fortran, Ada, …  Распределенное аппаратное обеспечение  Недостаточно ресурсов CPU/ памяти для вычисления всех моделей на одном компьютере
  11. 11. Динамическая верификация «на пальцах» 10-12.10.2013TMPA-2013, Кострома  Динамическая верификация = тестирование  Тестируется модель реальной системы  Алгоритмы автопилота  Процесс динамической верификации  Тест готовит начальное состояние  Самолет взлетает и ложится на курс  Поддерживается окружение  Инициализация и синхронизация навигационной системы  Инициализация моделей сенсоров  Оказываются тестовые воздействия  Варьируются окружающие условия (ветер, атмосферное давление)  Проверка соблюдения требований  Модель самолете вычисляет текущее положение, скорость, крен/тангаж, и т.д.  Тест проверяет ограничения на параметры полета  Тест идет непрерывно в течение длительного времени  Полет из Шереметьево в Пулково  Запись истории выполнения, визуализация графиков
  12. 12. Архитектура стенда 10-12.10.2013TMPA-2013, Кострома Целевая система Автопилот Python (управление тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  13. 13. Подсистема распределения 10-12.10.2013TMPA-2013, Кострома  Обеспечивает обмен информацией между компонентами стенда  Передача данных между машинами стенда  Связывание гетерогенных моделей  Возможные подходы к реализации:  IEEE 1516 – сложный интерфейс «на все случаи жизни»  OMG Distribution System – по архитектуре publish- subscribe  Рефлективная общая память  «Велосипед» – нестандартная самодельная схема обмена данными
  14. 14. Подсистема распределения (2) 10-12.10.2013TMPA-2013, Кострома  Общие данные хранятся как именованные переменные в общей памяти  Синхронизация общей памяти между машинами по самодельному протоколу  Постулируется требование «один писатель – множество читателей»  Широковещательные рассылки для минимизации задержек  Выделенный агент на каждой машине синхронизирует данные в общей памяти с сетью  Латентность на реальном стенде ~0,3 мс  + моделирование в реальном времени  - риск потерь на коммутаторе (switch)  Внедрение ошибок и/или шума в показания датчиков  Управляемое искажение значений переменных при синхронизации
  15. 15. Архитектура стенда 10-12.10.2013TMPA-2013, Кострома Целевая система Автопилот Python (управление тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  16. 16. Подсистема распределения - адаптеры 10-12.10.2013TMPA-2013, Кострома  Адаптер связывает модель с подсистемой распределения  С/С++, Python, Fortran  SciLab (аналог MatLab/Simulink)  При разработке моделей необходимо использовать API для доступа к переменным общей памяти  Синхронизация прозрачна для приложения  Частичная поддержка legacy моделей  Связь с реальным оборудованием  Выходит за рамки данного доклада
  17. 17. Архитектура стенда 10-12.10.2013TMPA-2013, Кострома Целевая система Автопилот Python (управление тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  18. 18. Модели 10-12.10.2013TMPA-2013, Кострома  Модели подсистем, с которыми взаимодействует целевая система, и окружающего мира  Сенсоры (атм. давление, скорость отн. воздуха, и т.д.)  Навигационная система  Двигатель, механизация крыла  Модель атмосферы, модель рельефа  Модель системного уровня  Модель самолета  Для проверки системных требований
  19. 19. Архитектура стенда 10-12.10.2013TMPA-2013, Кострома Целевая система Автопилот Python (управление тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  20. 20. Тест 10-12.10.2013TMPA-2013, Кострома  Инициализирует подсистему распределения  Набор разделяемых переменных  Начальные значения переменных  Управляет моделью окружения  Меняет силу ветра, направление, атмосферное давление  Через соответствующие разделяемые переменные  Вносит помехи в показания датчиков  Указывает подсистеме распределения модель ошибки при записи переменной  Линейный сдвиг, гармоническая помеха, нормальный шум, равномерный белый шум  Нотация: Python
  21. 21. Архитектура стенда 10-12.10.2013TMPA-2013, Кострома Целевая система Автопилот Python (управление тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  22. 22. Визуализация 10-12.10.2013TMPA-2013, Кострома  Табличное представление разделяемых переменных  В том числе представление произвольных формул от значений переменных  Графическое представление разделяемых переменных как функций времени  В том числе графики произвольных формул от значений переменных  Представление нечисловых данных  Binary blob
  23. 23. On-going project 10-12.10.2013TMPA-2013, Кострома  При поддержке гранта РФФИ 12-01-31453  Интеграционный тестовый стенд для авионики нового магистрального самолета МС-21

×