Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Avatar for crdoo crdoo
November 13, 2013
97

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

Пакулин Николай
ИСП РАН, Москва

Avatar for crdoo

crdoo

November 13, 2013
Tweet

More Decks by crdoo

Transcript

  1. ПА К У ЛИ Н НИ К О Л А

    Й NPA K @ ISPRA S.RU И СП РА Н, М ОСК В А Динамическая верификация гибридных систем
  2. Гибридные системы  Гибридные системы - это сложные взаимодействующие физические

    процессы, которые в реальном времени управляются сетью специализированных ЭВМ.  Киберфизические системы – сочетание аналоговых процессов и цифровых управляющих контуров 10-12.10.2013 TMPA-2013, Кострома
  3. Гибридные системы (3) 10-12.10.2013 TMPA-2013, Кострома  Отличаются тесной взаимосвязью

    между вычислительными и физическими компонентами системы:  Авиация: интегрированная модульная авионика,  Автомобилестроение: интеллектуальный автомобиль,  Энергетика: интеллектуальные сети,  Промышленность: интеллектуальная фабрика,  Быт: интеллектуальный дом  “Гибридная система” = “встроенная система на стероидах”  Набор взаимодействующих физических процессов  Сеть управляющих контроллеров  Цифровые каналы передачи информации
  4. Причины разработки гибридных систем 10-12.10.2013 TMPA-2013, Кострома  Снижение роли

    «человеческого фактора»  Автоматизация технологических процессов, защита от ошибок, ускорение выполнения этапов, …  Удешевление процессов  Уменьшение числа рабочих – снижение расходов на з/п  Снижение требований к квалификации  Улучшение эксплуатационных характеристик  Экономия на весе проводов в авиации (топливо!)  Уменьшение расхода топлива в автомобиле  Уменьшение расходов материалов на производстве  …  …  Все большее распространение гибридных систем неизбежно
  5. Риски внедрения гибридных систем 10-12.10.2013 TMPA-2013, Кострома  Техногенные катастрофы

    из-за ошибок проектирования  Blackout, сброс неочищенных канализационных стоков, …  Материальные и репутационные потери, человеческие жертвы  Отказы спутников, переоблучение людей рентгеновским излучением  (гипотетически) падение самолетов, ошибки «электронного шофера»  Нежелательное поведение  Отказ выполнять команды оператора
  6. Цель проекта 10-12.10.2013 TMPA-2013, Кострома  Верификация гибридных систем на

    ранних этапах разработки  Верификация дизайна гибридной системы, моделей подсистем, алгоритмов управления  Автоматизация верификации моделей гибридных систем  Функциональная корректность  Надежность (отказоустойчивость, надежность, доступность)  Методы верификации  Тестирование с использованием моделей  Вариации условий окружения, внешний шум  Внедрение ошибок (Fault Injection),
  7. Пример 10-12.10.2013 TMPA-2013, Кострома  Автопилот обеспечивает автоматическое поддержание курса

    и высоты самолета  Поддержание параметров движения летательного аппарата : автопарирование возмущений по курсу, крену и тангажу, стабилизация высоты и скорости  Требования системного уровня  Ограничения по ускорению, крену, тангажу  Требования по выдерживанию курса и высоты Изображение взято с сайта alput.biz/avtopilot-samoleta.htm
  8. In Models We Trust 10-12.10.2013 TMPA-2013, Кострома  Disclaimer: в

    рамках проекта мы доверяем адекватности моделей окружающей среды и оборудования  Модели физических процессов, сенсоров, актуаторов считаются адекватными реальным системам и оборудования  Верификаторы не должны диктовать физикам / инженерам как моделировать реальный мир  Верификация начинается после создания моделей
  9. Особенности моделирования крупных систем 10-12.10.2013 TMPA-2013, Кострома  Разнородные средства

    моделирования  MatLab/Simulink, SciLab/SciCos, LabView  Специализированные средства моделирования (PowerGrid, Esterel, …)  Языки общего назначения: C/C++, Fortran, Ada, …  Распределенное аппаратное обеспечение  Недостаточно ресурсов CPU/ памяти для вычисления всех моделей на одном компьютере
  10. Динамическая верификация «на пальцах» 10-12.10.2013 TMPA-2013, Кострома  Динамическая верификация

    = тестирование  Тестируется модель реальной системы  Алгоритмы автопилота  Процесс динамической верификации  Тест готовит начальное состояние  Самолет взлетает и ложится на курс  Поддерживается окружение  Инициализация и синхронизация навигационной системы  Инициализация моделей сенсоров  Оказываются тестовые воздействия  Варьируются окружающие условия (ветер, атмосферное давление)  Проверка соблюдения требований  Модель самолете вычисляет текущее положение, скорость, крен/тангаж, и т.д.  Тест проверяет ограничения на параметры полета  Тест идет непрерывно в течение длительного времени  Полет из Шереметьево в Пулково  Запись истории выполнения, визуализация графиков
  11. Архитектура стенда 10-12.10.2013 TMPA-2013, Кострома Целевая система Автопилот Python (управление

    тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  12. Подсистема распределения 10-12.10.2013 TMPA-2013, Кострома  Обеспечивает обмен информацией между

    компонентами стенда  Передача данных между машинами стенда  Связывание гетерогенных моделей  Возможные подходы к реализации:  IEEE 1516 – сложный интерфейс «на все случаи жизни»  OMG Distribution System – по архитектуре publish- subscribe  Рефлективная общая память  «Велосипед» – нестандартная самодельная схема обмена данными
  13. Подсистема распределения (2) 10-12.10.2013 TMPA-2013, Кострома  Общие данные хранятся

    как именованные переменные в общей памяти  Синхронизация общей памяти между машинами по самодельному протоколу  Постулируется требование «один писатель – множество читателей»  Широковещательные рассылки для минимизации задержек  Выделенный агент на каждой машине синхронизирует данные в общей памяти с сетью  Латентность на реальном стенде ~0,3 мс  + моделирование в реальном времени  - риск потерь на коммутаторе (switch)  Внедрение ошибок и/или шума в показания датчиков  Управляемое искажение значений переменных при синхронизации
  14. Архитектура стенда 10-12.10.2013 TMPA-2013, Кострома Целевая система Автопилот Python (управление

    тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  15. Подсистема распределения - адаптеры 10-12.10.2013 TMPA-2013, Кострома  Адаптер связывает

    модель с подсистемой распределения  С/С++, Python, Fortran  SciLab (аналог MatLab/Simulink)  При разработке моделей необходимо использовать API для доступа к переменным общей памяти  Синхронизация прозрачна для приложения  Частичная поддержка legacy моделей  Связь с реальным оборудованием  Выходит за рамки данного доклада
  16. Архитектура стенда 10-12.10.2013 TMPA-2013, Кострома Целевая система Автопилот Python (управление

    тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  17. Модели 10-12.10.2013 TMPA-2013, Кострома  Модели подсистем, с которыми взаимодействует

    целевая система, и окружающего мира  Сенсоры (атм. давление, скорость отн. воздуха, и т.д.)  Навигационная система  Двигатель, механизация крыла  Модель атмосферы, модель рельефа  Модель системного уровня  Модель самолета  Для проверки системных требований
  18. Архитектура стенда 10-12.10.2013 TMPA-2013, Кострома Целевая система Автопилот Python (управление

    тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  19. Тест 10-12.10.2013 TMPA-2013, Кострома  Инициализирует подсистему распределения  Набор

    разделяемых переменных  Начальные значения переменных  Управляет моделью окружения  Меняет силу ветра, направление, атмосферное давление  Через соответствующие разделяемые переменные  Вносит помехи в показания датчиков  Указывает подсистеме распределения модель ошибки при записи переменной  Линейный сдвиг, гармоническая помеха, нормальный шум, равномерный белый шум  Нотация: Python
  20. Архитектура стенда 10-12.10.2013 TMPA-2013, Кострома Целевая система Автопилот Python (управление

    тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
  21. Визуализация 10-12.10.2013 TMPA-2013, Кострома  Табличное представление разделяемых переменных 

    В том числе представление произвольных формул от значений переменных  Графическое представление разделяемых переменных как функций времени  В том числе графики произвольных формул от значений переменных  Представление нечисловых данных  Binary blob
  22. On-going project 10-12.10.2013 TMPA-2013, Кострома  При поддержке гранта РФФИ

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