XANDAR нацелен на генерацию кода в критически важных для безопасности многоядерных проектах
Следующее поколение сетевых встроенных систем требует быстрого прототипирования и высокой производительности при сохранении таких ключевых качеств, как надежность и безопасность. Однако развертывание критически важных для безопасности встроенных систем страдает от сложных программных инструментальных средств и инженерных процессов. Кроме того, текущая тенденция в автономных системах, основанных на приложениях машинного обучения (ML) и искусственного интеллекта (AI) в сочетании с требованиями к отказоустойчивости, делает проверку и валидацию этих новых систем сложной задачей.
Для решения этой проблемы трехлетний проект под названием XANDAR, финансируемый Европейским союзом, направлен на создание развитой цепочки программных инструментов (от сбора требований до фактической интеграции кода в цель, включая верификацию и валидацию), удовлетворяющей потребность в быстром прототипировании совместимых и автономных встроенных систем. .
Начиная с системной архитектуры, основанной на моделях, XANDAR будет использовать новые методы автоматического синтеза моделей и распараллеливания программного обеспечения для достижения конкретных нефункциональных требований, закладывая основу для нового режима реального времени, обеспечения безопасности и защиты путем построения (X-by -Строительство, или XbC) парадигма.
Проблема многоядерных процессоров в критических для безопасности средах
Эпоха параллельной обработки выдвинула многоядерные архитектуры в мейнстрим, что привело к ситуации, когда они используются почти во всех областях приложений. Первоначальные проблемы с программированием многоядерных архитектур, в основном связанные с синхронизацией и условиями конкуренции между параллельными рабочими потоками выполнения, все еще полностью не решены.
Хотя ситуацию облегчают распараллеливание компиляторов, параллельные языки, специальные языковые конструкции и общий растущий опыт разработчиков программного обеспечения, привыкающих к новой парадигме программирования, в критически важных для безопасности областях многоядерность пока не достигла успеха. В таких средах, как автомобильная или аэрокосмическая, проверка и подтверждение безошибочной работы имеют важное значение, что противоречит дополнительной сложности и новым источникам ошибок в многоядерном программировании.
В этом контексте проектирование на основе моделей может дать ответы и закрыть разрыв между текущим программированием многоядерной архитектуры и требованиями критически важных для безопасности областей.
Модельно-ориентированное проектирование функций управления вызывает растущий интерес в последние пару десятилетий, особенно в аэрокосмической, автомобильной и перерабатывающей промышленности, где все чаще используется встроенная электроника и программное обеспечение. Основная причина этой тенденции - возможность управлять процессом разработки с точки зрения более высокого уровня, тем самым абстрагируясь от низкоуровневого проектирования систем, позволяя моделировать поведение системы и генерировать код моделируемых функций. Это приводит к сокращению времени и затрат на разработку.
В то время как проектирование на основе моделей все чаще применяется для ранней спецификации систем, структурного моделирования и исследования пространства проектирования, окончательная программная реализация для критически важных встроенных систем часто все еще разрабатывается вручную.
Комплексные решения, учитывающие отдельные аспекты безопасности изолированной встраиваемой системы, были разработаны в недавних исследовательских проектах, таких как ARGO, в которых основное внимание уделяется генерации кода с учетом WCET (время выполнения наихудшего случая). В последние годы также были разработаны подходы к проектированию электрических / электронных архитектур на основе моделей. Они разделяют архитектуру на несколько уровней абстракции и точек зрения для управления сложностью на протяжении всего процесса разработки, от анализа и проектирования до серийного производства. Основные причины этого можно рассматривать как аналогичные конструкции функций на основе моделей, но с точки зрения архитектуры и системы.
Разработка каждой области на основе моделей обычно представляет собой отдельные выполняющиеся процессы, в которых архитектурные решения и информация должны моделироваться вручную с помощью инструмента проектирования функций на основе моделей или наоборот. Хотя существуют форматы обмена для отдельных аспектов системы, таких как матрицы связи, процессы импорта / экспорта, как правило, подвержены ошибкам, вызывая несоответствия между архитектурой и дополнительной поведенческой моделью, особенно при рассмотрении распределенного и параллельного сотрудничества над моделями.
Существующие подходы и исследования дополняют архитектурные модели простыми описаниями поведения конечного автомата и имеют дело с созданием спецификаций исполняемой архитектуры для проверки на основе моделирования. Однако это необходимо развить дальше до целостного подхода, охватывающего все этапы проектирования и проверки в интегрированной среде разработки с использованием метамодели из одного источника.
Это включает, в частности, моделирование архитектуры распределенных сетевых встроенных систем, подробное интегрированное поведенческое моделирование, синтез в межуровневую имитационную модель, а также необходимые этапы проверки и последующую генерацию кода.
XANDAR стремится реализовать такой целостный подход, при котором генератор кода обеспечивает необходимые гарантии X-by-Construction (XbC) и сохраняет соответствующие нефункциональные свойства входной модели. XANDAR представит новые инновации в этой области, предоставив поддержку генерации кода, не зависящую от платформы, включая создание исполняемых файлов мониторинга для критически важных сервисов, а также недетерминированные ускорители для приложений AI и ML.
Решение этих проблем требует новых концепций, автоматизированных алгоритмов принятия решений, формальных проверок и оптимизации программ не только с точки зрения производительности и энергоэффективности, но и с точки зрения нефункциональных гарантий. Весь процесс требует компромисса между производительностью в реальном времени, энергоэффективностью, нефункциональными гарантиями и гибкостью во время выполнения. Высококачественные генераторы кода и преобразования, которые совместно оптимизируют все эти аспекты, требуют новых специализированных решений.
Партнеры консорциума XANDAR
Проект XANDAR - это трехлетняя программа, заканчивающаяся в декабре 2023 года и финансируемая ЕС в размере 5 миллионов евро в рамках программы Horizon 2020. Партнерами консорциума из промышленных и академических кругов во главе с профессором Юргеном Беккером из Технологического института Карлсруэ являются:
- Технологический институт Карлсруэ (Германия)
- Университет Пелопоннеса (Греция)
- Немецкий аэрокосмический центр
- AVN Innovative Technology Solutions Ltd (Кипр)
- Vector Informatik GmbH (Германия)
- Королевский университет Белфаста (Северная Ирландия)
- BMW Group (Германия)
- fentISS (Испания)
Одним из восьми партнеров консорциума XANDAR является Vector. Компания вносит свой вклад в достижение амбициозных целей проекта, основываясь на своем опыте в качестве специалиста по встроенному ПО, а также благодаря своим высокопроизводительным средам разработки PREEvision и TA Tool Suite.
Здесь PREEvision позволяет совместно определять подключенные встроенные системы на основе моделей с четко определенной семантикой, которая объединяет все системные уровни. TA Tool Suite можно использовать для определения, моделирования и проверки поведения сложных систем реального времени во времени. Эти две среды обеспечивают основу для настройки среды проектирования X-by-Construction.
Встроенный
- Таксономия для IIoT
- Дизайн для технологичности:практическое руководство
- Разработка элементов управления двигателями для роботизированных систем
- Датчик Холла нацелен на важные с точки зрения безопасности автомобильные системы
- Вычислительная платформа Kontron и SYSGO:SAFe-VX для критически важных для безопасности систем
- 5 советов по проектированию листового металла
- Преимущества встроенных технологий для модульного проектирования
- Дизайн для производства печатных плат
- 10 лучших рабочих процессов для производителей
- Рекомендации по проектированию освещения для роботизированных хирургических систем машинного зрения