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

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

crdoo
November 13, 2013
9

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

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

crdoo

November 13, 2013
Tweet

More Decks by crdoo

Transcript

  1. ПА К У ЛИ Н НИ К О Л А Й
    NPA K @ ISPRA S.RU
    И СП РА Н, М ОСК В А
    Динамическая верификация
    гибридных систем

    View Slide

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

    View Slide

  3. Гибридные системы (2)
    10-12.10.2013
    TMPA-2013, Кострома

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. Архитектура стенда
    10-12.10.2013
    TMPA-2013, Кострома
    Целевая
    система
    Автопилот
    Python
    (управление
    тестами)
    Модель
    самолета
    Система
    распределения
    Модель
    нав. сист.
    Модель
    датчиков
    Сценарий
    ошибок
    Модели физических систем
    адаптер
    Модель

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

    View Slide

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

    View Slide

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

    View Slide

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

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

    View Slide

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

    View Slide

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

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

    View Slide

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

    View Slide

  19. Архитектура стенда
    10-12.10.2013
    TMPA-2013, Кострома
    Целевая
    система
    Автопилот
    Python
    (управление
    тестами)
    Модель
    самолета
    Система
    распределения
    Модель
    нав. сист.
    Модель
    датчиков
    Сценарий
    ошибок
    Модели физических систем
    адаптер
    Модель

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

    View Slide

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

    View Slide

  21. Архитектура стенда
    10-12.10.2013
    TMPA-2013, Кострома
    Целевая
    система
    Автопилот
    Python
    (управление
    тестами)
    Модель
    самолета
    Система
    распределения
    Модель
    нав. сист.
    Модель
    датчиков
    Сценарий
    ошибок
    Модели физических систем
    адаптер
    Модель

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

    View Slide

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

    View Slide

  23. On-going project
    10-12.10.2013
    TMPA-2013, Кострома
     При поддержке гранта РФФИ 12-01-31453
     Интеграционный тестовый стенд для авионики
    нового магистрального самолета МС-21

    View Slide