П А К У Л И Н Н И К О Л А Й
N P A K @ I S P R A S . R U
И С П Р А Н , М О С К В А
Динамическая верификация
гибридных систем
Гибридные системы
 Гибридные
системы - это
сложные
взаимодействующие
физические
процессы, которые в
реальном времени
управляются сетью
специализированных
ЭВМ.
 Киберфизические
системы – сочетание
аналоговых процессов и
цифровых управляющих
контуров
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

TMPA Pakulin: Dynamic Verification of Hybrid Systems

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