Какие космические приложения, проекты и агентства используют язык программирования Ада?

В ответе на этот вопрос упоминается использование приложений, написанных на языке Ада, на МКС.

Ада была разработана для Министерства обороны США, чтобы заменить множество компьютерных языков (около 465) для критически важных приложений. Он обладает сильными способностями к исправлению ошибок и выявлению ошибок и, следовательно, также идеально подходит для космических приложений.

Какие еще космические приложения, проекты и агентства используют язык программирования Ада?

Ответы (1)

Какие еще космические приложения, проекты и агентства используют язык программирования Ада?

В США старые вещи, такие как ракеты Delta, ракеты Atlas и наземный терминал TDRSS (но они переходят на C, C++, C# и Java). Там могут быть новые разработки, но в основном это вещи, о которых вы (и я) не можете знать, потому что они засекречены. Новые разработки в основном ведутся на основных языках, таких как C, C++, C# и Java, а также на специализированных инструментах, таких как Matlab Simulink.

Одной из причин ухода от Ады было то, что мандат Ады вышел слишком рано. Некоторые проекты, которые провалились из-за отсутствия инструментов, перешли на C. Руководители этих проектов помнят тот опыт Ады. Воспоминания не приятные.

Другой причиной была демография. Найти программистов на Аде, хороших или плохих, всегда было непросто. Гораздо проще найти программистов на C или C++, и это дает менеджерам возможность выбирать по качеству.

Еще одна причина заключается в том, что многие разработчики инструментов, первоначально предназначенных для Ada (например, Rational), обнаружили, что их инструменты довольно хорошо работают с другими языками. Из-за демографии улучшения и новые функции были сначала внесены в версии основного языка, прежде чем они были распространены на Ада. Это добавило еще больше стимула к переходу с Ады.

Ада, по-видимому, более широко используется в Европе, чем в США. Одной из причин этого является то, что главным архитектором Ады был доктор Джин Ичбиа из CII-Honeywell-Bull во Франции. Мандат Ады применялся как в Европе, так и в США, но время там было немного лучше. Инструменты созрели, и многие из них были разработаны в Европе компанией, основанной доктором Ичбиа. Недавним примером является программное обеспечение полета для спутника GOCE.


Не очень хорошим примером является программное обеспечение для первого полета ракеты Ariane 5. Это, пожалуй, самая печально известная из всех программных ошибок. Язык Ada имеет ряд встроенных функций безопасности. (Сравните с C, где в стандарте двенадцать страниц, на которых обобщаются неопределенные поведения, встроенные в язык. Сравните с C++, где неопределенные поведения настолько многочисленны, что их даже не перечисляют.) Эти функции безопасности Ады могут иметь существенное значение. стоимость производительности, и из-за этого Ада также предоставляет возможность выборочного отключения этих функций безопасности.

В случае рейса 501 Ariane 5 инженеры-программисты повторно использовали полетное программное обеспечение Ariane 4, где функции безопасности, связанные с переполнением, в некоторых программах GNC были отключены. У Ariane 5 была значительно большая тяга, чем у Ariane 4. Это увеличенное ускорение приводило к переполнению данных акселерометра при преобразовании в целое число. Это, в свою очередь, привело к аппаратным исключениям, которые, в свою очередь, привели к остановке программного обеспечения GNC, что, в свою очередь, привело к разрушению транспортного средства.

Фантастический ответ. Ада — надежный язык, который до сих пор используется во многих приложениях, но его сложно поддерживать. И да, в большинстве случаев он заменяется языками на основе C.
Я сам учился и работал на Аде с самого конца 1980-х до начала 1990-х. Это было зажато между работой на Lisp в середине-конце 1980-х и затем работой на C, начиная с середины 1990-х. Мои воспоминания об Аде не самые приятные. Ада - это язык рабства и дисциплины .
У меня тоже был некоторый опыт в этом, когда я некоторое время работал над симулятором космической станции. Меня совсем не впечатлило. Однако я пришел из эпохи FORTRAN/ассемблера.
@OrganicMarble - я использовал эти языки до того, как выучил Лисп. Лисп был ВАУ. C был в порядке, может быть, вау, но не так крут, как Lisp. Ада была... слова ускользают от меня. Я буду придерживаться вашего "не впечатляет".
Ага. После относительно здравого, хотя и быстро устаревающего опыта работы с симулятором шаттла на Фортране, я никоим образом не был готов к мешанине из «современных» языков и «инструментов автоматической разработки программного обеспечения», которая была симулятором станции.