Язык программирования Ада по-прежнему актуален в армии?

Сейчас я знаю много языков программирования. Когда мне было 18 лет, я почти присоединился к ВВС США, и там проходил тест ADA. Это было более десяти лет назад. Язык программирования ADA по-прежнему актуален в армии, как это было раньше?

Мне интересно, если новые военные проекты программного обеспечения все еще запрограммированы с использованием ADA в качестве языка.

3 ответа

Решение

Сегодня в ADA разрабатываются новые проекты. Мандат, требующий ADA, был отменен несколько лет назад, но для некоторых приложений ADA является единственным надежным ("доверенным") вариантом.

Ада Язык: Живой и в полете - 10 октября 2016 г. Выдержка:

Изменяющийся контекст для разработки программного обеспечения DOD В течение почти двух десятилетий язык программирования Ada был краеугольным камнем усилий Министерства обороны (DOD) по совершенствованию своей практики разработки программного обеспечения. DOD создал Ada в 1970-х годах, чтобы служить стандартом для всего департамента, который отвечал бы его особым требованиям к встроенному и критически важному программному обеспечению, а также способствовал бы хорошей разработке программного обеспечения. И новый язык, и новые идеи разработки программного обеспечения, связанные с ним, встретили некоторую критику, и в результате они оба развились. На сегодняшний день Ada является наиболее часто используемым языком для критически важного программного обеспечения защиты, которое включает в себя системы вооружений и системы управления, связи, связи и разведки (C3I), критичные для производительности. Инвентаризация DOD содержит почти 50 миллионов строк кода Ada в этих приложениях (Hook et al., 1995). Учитывая длительный срок службы таких систем, DOD сделал значительные инвестиции в технологии Ada. Ада является вторым наиболее часто используемым языком (после Кобола) для автоматизированных информационных систем DOD, которые включают программы расчета заработной платы и логистики. Инвентаризация DOD содержит более 8 миллионов строк кода Ada в этих приложениях (Hook et al., 1995).

В ноябре 2016 года Национальный институт стандартов и технологий США (NIST) опубликовал отчет NIST-IR-8151 "Значительное снижение уязвимости программного обеспечения". Отчет доступен по адресу https://doi.org/10.6028/NIST.IR.8151. Ниже приводится выдержка из этого отчета:

Две презентации на семинаре "Программные меры и метрики для уменьшения уязвимостей безопасности" (SwMM-RSV): "Измерение анализируемости программного обеспечения" Эндрю Валенштейна и "Работа с кодом, который непрозрачен для статического анализа" Эндрю Валенштейна, указывают направление на новые программные меры. Оба подчеркнули, что код должен поддаваться автоматическому анализу. Оба представили подходы, чтобы определить, что означает, что код легко анализируется, почему анализируемость способствует снижению уязвимости и как анализируемость может быть измерена и увеличена.

Существуют подмножества языков программирования, предназначенные для анализа, например SPARK, или менее подверженные ошибкам, например, SaferC от Less Hatton. Участники семинара, как правило, предпочитали использовать лучшие языки, например, функциональные языки, такие как F# или ML. Тем не менее, не было конкретного предложения о языке или языках будущего.

Мы отмечаем, что за немногими исключениями, такими как Ada 2012 [Barnes13], в котором есть SPARK, новые языки имеют плохую поддержку инструментов. Поддержка создания инструментов жизненно важна для принятия и безопасного использования новых языков.

Да, поскольку ADA используется там, где критически важные устройства могут вызвать серьезные сбои в случае программной ошибки (например, в авионике, управлении воздушным движением и, конечно, в военных целях), он все еще используется в этих отраслях, и я сомневаюсь, что они изменятся.

Другие вопросы по тегам