процессы, которые в реальном времени управляются сетью специализированных ЭВМ. Киберфизические системы – сочетание аналоговых процессов и цифровых управляющих контуров 10-12.10.2013 TMPA-2013, Кострома
между вычислительными и физическими компонентами системы: Авиация: интегрированная модульная авионика, Автомобилестроение: интеллектуальный автомобиль, Энергетика: интеллектуальные сети, Промышленность: интеллектуальная фабрика, Быт: интеллектуальный дом “Гибридная система” = “встроенная система на стероидах” Набор взаимодействующих физических процессов Сеть управляющих контроллеров Цифровые каналы передачи информации
«человеческого фактора» Автоматизация технологических процессов, защита от ошибок, ускорение выполнения этапов, … Удешевление процессов Уменьшение числа рабочих – снижение расходов на з/п Снижение требований к квалификации Улучшение эксплуатационных характеристик Экономия на весе проводов в авиации (топливо!) Уменьшение расхода топлива в автомобиле Уменьшение расходов материалов на производстве … … Все большее распространение гибридных систем неизбежно
ранних этапах разработки Верификация дизайна гибридной системы, моделей подсистем, алгоритмов управления Автоматизация верификации моделей гибридных систем Функциональная корректность Надежность (отказоустойчивость, надежность, доступность) Методы верификации Тестирование с использованием моделей Вариации условий окружения, внешний шум Внедрение ошибок (Fault Injection),
и высоты самолета Поддержание параметров движения летательного аппарата : автопарирование возмущений по курсу, крену и тангажу, стабилизация высоты и скорости Требования системного уровня Ограничения по ускорению, крену, тангажу Требования по выдерживанию курса и высоты Изображение взято с сайта alput.biz/avtopilot-samoleta.htm
рамках проекта мы доверяем адекватности моделей окружающей среды и оборудования Модели физических процессов, сенсоров, актуаторов считаются адекватными реальным системам и оборудования Верификаторы не должны диктовать физикам / инженерам как моделировать реальный мир Верификация начинается после создания моделей
моделирования MatLab/Simulink, SciLab/SciCos, LabView Специализированные средства моделирования (PowerGrid, Esterel, …) Языки общего назначения: C/C++, Fortran, Ada, … Распределенное аппаратное обеспечение Недостаточно ресурсов CPU/ памяти для вычисления всех моделей на одном компьютере
= тестирование Тестируется модель реальной системы Алгоритмы автопилота Процесс динамической верификации Тест готовит начальное состояние Самолет взлетает и ложится на курс Поддерживается окружение Инициализация и синхронизация навигационной системы Инициализация моделей сенсоров Оказываются тестовые воздействия Варьируются окружающие условия (ветер, атмосферное давление) Проверка соблюдения требований Модель самолете вычисляет текущее положение, скорость, крен/тангаж, и т.д. Тест проверяет ограничения на параметры полета Тест идет непрерывно в течение длительного времени Полет из Шереметьево в Пулково Запись истории выполнения, визуализация графиков
тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
компонентами стенда Передача данных между машинами стенда Связывание гетерогенных моделей Возможные подходы к реализации: IEEE 1516 – сложный интерфейс «на все случаи жизни» OMG Distribution System – по архитектуре publish- subscribe Рефлективная общая память «Велосипед» – нестандартная самодельная схема обмена данными
как именованные переменные в общей памяти Синхронизация общей памяти между машинами по самодельному протоколу Постулируется требование «один писатель – множество читателей» Широковещательные рассылки для минимизации задержек Выделенный агент на каждой машине синхронизирует данные в общей памяти с сетью Латентность на реальном стенде ~0,3 мс + моделирование в реальном времени - риск потерь на коммутаторе (switch) Внедрение ошибок и/или шума в показания датчиков Управляемое искажение значений переменных при синхронизации
тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
модель с подсистемой распределения С/С++, Python, Fortran SciLab (аналог MatLab/Simulink) При разработке моделей необходимо использовать API для доступа к переменным общей памяти Синхронизация прозрачна для приложения Частичная поддержка legacy моделей Связь с реальным оборудованием Выходит за рамки данного доклада
тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
целевая система, и окружающего мира Сенсоры (атм. давление, скорость отн. воздуха, и т.д.) Навигационная система Двигатель, механизация крыла Модель атмосферы, модель рельефа Модель системного уровня Модель самолета Для проверки системных требований
тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
разделяемых переменных Начальные значения переменных Управляет моделью окружения Меняет силу ветра, направление, атмосферное давление Через соответствующие разделяемые переменные Вносит помехи в показания датчиков Указывает подсистеме распределения модель ошибки при записи переменной Линейный сдвиг, гармоническая помеха, нормальный шум, равномерный белый шум Нотация: Python
тестами) Модель самолета Система распределения Модель нав. сист. Модель датчиков Сценарий ошибок Модели физических систем адаптер Модель … Визуализаия Мониторинг
В том числе представление произвольных формул от значений переменных Графическое представление разделяемых переменных как функций времени В том числе графики произвольных формул от значений переменных Представление нечисловых данных Binary blob