Авиалайнер Airbus A380 — самый большой на сегодняшний день гражданский самолет, состоящий из 4 млн узлов от 1500 поставщиков, но перед инженерами стояла задача не только спроектировать этот летательный аппарат, но и создать управляющие бортовые программные системы, общий объем кода которых достигает миллионов строк. На рис. 1 приведены примеры нескольких программных бортовых систем, обеспечивающих функционирование важнейших узлов лайнера: крыльев, средств навигации, салона. Например, система управления закрылками (High-Lift System, HLS) отвечает за все электрические и гидравлические механизмы в крыльях самолета, а все плоскости управления подключены к системе управления полетом (Flight Control System, FCS), которая передает им команды от рукоятки в кабине пилота. В самой кабине размещается объединенная система воздушных сигналов и инерциальная навигационная система (Air Data and Inertial Reference System, ADIRS), предоставляющая важнейшие полетные показания: скорость, высоту, направление и т. д. Управляющие системы (Flight Management Systems, FMS) помогают пилотам планировать и оптимизировать машрут с целью минимизации времени полета и потребления горючего, а бортовая развлекательная система (In-Flight Entertainment, IFE) предоставляет пассажирам видео по требованию и игры. Еще одна относительно новая система, Airline Network Architecture (ALNA), обеспечивает связь по GSM и Интернету между бортом и землей. Наконец, внутрисалонная информационно-управляющая система (Cabin Intercommunication Data System, CIDS) отвечает за контроль над всеми функциями, относящимися к салону самолета.

Рис. 1. Ключевые программные системы Airbus A380, контролирующие важнейшие функции управления крыльями, навигацией и функциями салона: HLS, EFCS, ADIRS, FMS, IFE, ALNA и CIDS
Рис. 1. Ключевые программные системы Airbus A380, контролирующие важнейшие функции управления крыльями, навигацией и функциями салона: HLS, EFCS, ADIRS, FMS, IFE, ALNA и CIDS

 

CIDS

Как видно из табл. 1, на сегодня выпущено около 7 тыс. авиалайнеров Airbus различных моделей, и более чем в 6 тыс. из них используется CIDS, которая впервые появилась в A320, выпущенном в 1988 году.

Сегодня CIDS Airbus A380 состоит из более чем 5 млн строк кода, написанных в основном на Си, Java и VHDL. Система распределена по более чем 600 заменяемым модулям: серверов, сетевых узлов, адаптеров и пультов управления. CIDS интегрирует элементы различных систем, работающих в режиме реального времени и отвечающих высоким стандартам безопасности, а также включает в себя графические пользовательские интерфейсы, например консоль бортпроводника. Согласно требованиям безопасности, CIDS также контролирует системы салона, поставляемые сторонними разработчиками (например, IFE), — это необходимо, в частности, для автоматического прерывания работы развлекательной системы для экстренных объявлений. Всего в ведении CIDS более 30 функций, таких как управление освещением салона: если в первом поколении A320 светильники можно было только включать, выключать и приглушать, то в A380 или A350 XWB светодиодные светильники способны воспроизводить сложные схемы освещения, создавая уютную атмосферу во время ужина или имитировать смену дня и ночи для минимизации влияния на организм разницы во времени. В первом A320 свет контролировался только в трех зонах салона, а в A380 нужно освещать уже 16 зон и 64 различных помещения, причем в A350 XWB система сможет управлять светополосами в салоне на уровне отдельных сегментов длиной по 30 см.

Модели Airbus (данные на сентябрь 2012 года)
Модели Airbus (данные на сентябрь 2012 года)

 

Безопасность превыше всего

CIDS позволяет делать объявления независимо для каждого отсека пассажирского салона, обеспечивая передачу голоса с задержкой меньше 10 мс. Система также управляет некоторыми функциями, относящимися к безопасности салона, — например, управляет датчиками распознавания дыма в грузовом пространстве. Все это означает, что значительная часть сложности ПО самолета относится к выполнению нефункциональных требований, способных конфликтовать друг с другом и не реализуемых без хорошо сбалансированных архитектурных решений. Так, помимо требований безопасности и быстродействия, CIDS должна отвечать требованиям высокой готовности. Решение основано на центральной сервисной шине салона, которая соединяет все подсистемы и обеспечивает быстрый прямой взаимообмен данными и дублирование выполнения системных операций. Недостатком шинного решения можно считать трудность замены ввиду строго определенного формата данных.

Чтобы получить разрешение на полеты, самолет должен пройти сертификацию, в ходе которой всем программным функциям согласно их критичности должен быть присвоен один из пяти уровней гарантии проектирования. Самый высокий уровень A означает потенциальную максимальную критичность функции для самолета, а самый низкий E говорит о том, что работоспособность функции не влияет на безопасность и рабочую нагрузку экипажа. Функциональности с различными уровнями безопасности должны быть изолированы друг от друга. Разработка и тестирование бортового ПО выполняется методами, ориентированными на достижение максимальной безопасности, такими как полное покрытие по всем веткам/условиям (comprehensive modified condition/decision coverage testing), что требует примерно в шесть раз больше времени, чем разработка корпоративного ПО или коробочных систем с аналогичным объемом кода. Правда, уровни безопасности для ПО управления функциями салона не самые высокие, например, система распознавания дыма обычно классифицируется по среднему уровню C («опасность крупного сбоя»), как и подсистема управления переговорными устройствами в салоне для связи между членами команды.

 

Усредненный комплексный показатель роста CIDS

На графике А показан рост объема кода на языке Си серверной части CIDS в лайнерах A320, A380 и A370 XWB. В среднем годовой коэффициент роста объема ядра CIDS в A320 составлял в период с 2002 по 2011 год около 1,06, однако между 2002 и 2006 годом cистема дорабатывалась мало, с 2006 по 2011 год, когда добавлялись новые функции, коэффициент составлял 1,11. Рост CIDS в A380 можно проследить с 2004 года, когда ранняя версия системы, насчитывавшая около 1,8 млн строк кода, начала расти с коэффициентом 1,07 до 2009 года. Коэффициент роста CIDS нового A350 XWB составлял последние два года 1,11. В целом показатели находятся на нижнем уровне диапазона по сравнению с другими бортовыми системами, что связано с относительно стабильными высокоуровневыми требованиями, малой изменяемостью и огромными усилиями, необходимыми для сертификации авиационного ПО.

 

Рис. А. Рост объема кода CIDS для A320, A350 и A380 за последние 10 лет
Рис. А. Рост объема кода CIDS для A320, A350 и A380 за последние 10 лет

 

 

Дополнительные факты

Объем кода CIDS и количество контролируемых ею подсистем на протяжении последних десятилетий постоянно росли. Первая CIDS для A320 обеспечивала лишь базовую функциональность (например, поддержку объявлений для пассажиров и управление освещением), была написана на Ассемблере и исполнялась на однопроцессорном сервере, имевшем резервный дубликат. Более новые CIDS пишутся на языках высокого уровня и контролируют многочисленные периферийные устройства, а также различные специализированные подсистемы, например цифровые сигнальные процессоры для обработки аудио и электронику системы распознавания дыма. Подключение нового оборудования к CIDS потребовало реализации ряда новых функций — системы загрузки ПО, воспроизведения заранее записанных аудиосообщений и музыки при посадке, а также модулей управления водоснабжением и утилизацией отходов.

Отметим, что жизненный цикл самого планера самолета (30 лет и более) обычно в несколько раз превосходит срок службы салона авиалайнера, который нередко заменяется во время капитального ремонта, проводимого каждые пять – семь лет. При этом самолет полностью обновляется. Очевидно, что физическая конфигурация салона должна отражаться на ПО, поэтому важна настраиваемость программ: например, количество сидений в салоне и схема его зон настраиваются в CIDS с помощью конфигурационных файлов, в которые заносится местонахождение каждого сиденья (чтобы можно было управлять светильником и системой доставки видео по требованию), расположение телефонов бортпроводников, сценарии освещения, конфигурации зон и т. д. Все эти настройки можно менять, и обычно они являются результатом взаимодействия с авиаперевозчиком, заказавшим конкретную конфигурацию лайнера. На самом деле в большинстве компаний заготавливают несколько различных конфигураций (например, для летних и зимних полетных расписаний), которые можно менять без существенных усилий.

***

Технический прогресс преобразил системы салона самолетов, создав потребность в их гибких конфигурациях, поэтому, чтобы подготовиться к дальнейшим переменам, в последующих версиях CIDS неизбежно будет более строгое разделение зон ответственности, особенно если учесть, что в планах Airbus значится внедрение ряда новаций по повышению удобства пассажиров, которые будут реализованы программно и охватят не только классическую функциональность вроде автоматического сохранения положения сидений и предпочтений в еде и напитках. В салонах появятся приложения дополненной реальности, способные визуализировать состав блюд и товары из каталогов магазинов duty-free. Более того, задумана виртуальная зона интерактивного взаимодействия (рис. 2), в которой пассажиры смогут, например, играть в гольф на виртуальном поле или проводить деловые совещания через аватары участников.

 

Рис. 2. Виртуальная зона интерактивного взаимодействия Airbus 2050
Рис. 2. Виртуальная зона интерактивного взаимодействия Airbus 2050

 

Понятно, что в салоне самолета 2050-х будет гораздо больше программного обеспечения, чем сегодня, и, если судить по нынешним ежегодным темпам роста, сервер CIDS к тому времени разрастется уже до 34 млн строк кода. Но производители авиалайнеров, скорее всего, сосредоточатся на своих основных сферах компетенции, а дополнительное оснащение будут приобретать у сторонних разработчиков. Тем не менее, как и сегодня, ПО от внешних поставщиков будет управляться CIDS, чтобы, например, виртуальный турнир по гольфу автоматически прерывался при объявлении правил безопасности или при наступлении экстренной ситуации. Со временем прогресс, вероятно, сможет облегчить труд создателей авиационного ПО, ведь если станут реальностью гиперзвуковые путешествия и из Нью-Йорка в Сидней можно будет долететь за час, то ни хранение предпочтений в еде, ни виртуальные зоны взаимодействия для самолета уже не понадобятся.

Стефан Бургер (sburger@mail.uni-mannheim.de) — научный сотрудник EADS Innovation Works, Оливер Хуммел (hummel@kit.edu) — преподаватель программной инженерии Университета Карлсруэ, Маттиас Хейниш (matthias.heinisch@airbus.com) — инженер Airbus Operations.

Stefan Burger, Oliver Hummel, Matthias Heinisch, Airbus Cabin Software, IEEE Software, January/February 2013, IEEE Computer Society. All rights reserved. Reprinted with permission.