Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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