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

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

crdoo
November 13, 2013
30

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

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

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