Языки высокого уровня применяемые сегодня в авиации для написания бортового программного обеспечения

Sep 27, 2016 13:42

Вы будете смеяться, но не смотря на крах усилий Пентагона навязать своим подрядчикам язык Ada в качестве единого языка программирования бортовых систем управления военными объектами: кораблями, самолётами, танками, ракетами, снарядами и т.д. ознаменованный в частности тем что:

The Joint Strike Fighter (JSF) is the first major DOD aircraft program to use C++. Или по русски - программа JSF стала первой крупной авиационной программой МО США использующей язык C++.

В деле разработки бортового ПО для гражданской авиации в качестве стандарта сегодня утвердился именно Ada.

Для иллюстрации могу отметить что бортовое программное обеспечение самолётов Airbus 320, 330, 340, 350, 380, Boeing 737, 747-400, 757, 767, 777, 787, Canadair Regional Jet, Embraer CBA-123 и CBA-145, Fokker F-100, Saab 2000 и т.д. написано на Ada (Ссылка 1, Ссылка 2).


В отечественном гражданском авиастроении Ada так же стал фактическим стандартом. Как отмечено в работе:

Разработка системы распознавания команд речевого интерфейса пилота для интегрированной модульной авионики (ИМА)

"Для разработки прикладного программного обеспечения авиационного назначения обычно используют и рекомендуют использовать язык Ada. Документ ARINC 613 «Руководство по использованию языка программирования Ada для систем авионики» даёт рекомендации по использованию языка программирования Ada в прикладных программах для коммерческой авиации. Он касается использования языка программирования Ada при разработке, тестировании и сопровождении цифровой авиационной электроники для коммерческой авиации."

Ada стал языком на котором написано ПО отечественного базового комплекса гражданской авионики второго поколения - интегрированного комплекса бортового оборудования ИКБО-95, который установлен и успешно эксплуатируются на самолете-амфибии Бе-200, а также на самолетах Ту-214, Ту-214СР, Ту-214ПУ, Ту-204-100, Ту-204-120, Ту-204-300, Ил-96-300-400, Ил-114-100 (Ссылка 3).

Ada стал основным языком для написания прикладного ПО и в перспективном интегрированном комплексе бортового оборудования на базе интегрированной модульной авионики (ИКБО ИМА), который установлен на самолёте МС-21.

Можно даже уточнить что для разработки программного обеспечения бортового оборудования в рамках ОКР "ИКБО ИМА" предприятия Концерна - Аэроприбор-Восход (Москва), ГРПЗ (Рязань), Измеритель (Смоленск), МИЭА (Москва), НИИАО (Жуковский), ОКБ Электроавтоматика (Санкт-Петербург), УКБП (Ульяновск) и их смежники ВНИИРА-Навигатор (Санкт-Петербург) и НПП Полет (Нижний- Новгород) - применили систему модельно-ориентированного проектирования SCADE фирмы Esterel Technologies, операционную систему для ИМА VxWorks 653 фирмы Wind River и систему разработки для языка Ada GNAT Pro High Integrity Edition фирмы AdaCore (Ссылка 4).

Так как в военном авиастроении отсутствует механизм международной сертификации и стандартизации, а стандарты военной авионики если и получают всемирное распространение (к примеру MIL-STD-1553), то "явочным" порядком, в выборе средств разработки бортового ПО для военной авиации царит волюнтаристский подход.

Захотели в корпорации Lockheed Martin выбрать C++, а не Ada, в качестве основного языка разработки бортового ПО F-35 - выбрали. Захотело руководство НИИСИ РАН (ОСРВ Багет 3.0) предоставить разработчикам прикладного ПО выбор лишь из языков программирования C и С++. Сделало. То что в современных версиях поддерживаемого ОСРВ Багет 3.0 стандарта ARINC 653 определены Ada and C language bindings - ну не успели, не смогли.

Надеюсь в новейшей версии операционной системы реального времени Багет, известной так же как ос4000 (Ссылка 5) всё же появилась возможность писать прикладное ПО не только на C и С++, но и на Ada. В противном случае придётся лишь констатировать неполную поддержку стандарта ARINC 653 в новой отечественной ОСРВ и отставание отечественного ПО для авионики военного назначения от ПО для гражданской авионики.

Спасибо за внимание.

f-35, ВКС РФ, Авиация

Previous post Next post
Up