¿Qué aplicaciones, proyectos y agencias espaciales están utilizando el lenguaje de programación Ada?

La respuesta a esta pregunta menciona el uso de aplicaciones programadas por Ada en la ISS.

Ada fue desarrollado por el Departamento de Defensa de EE. UU. para reemplazar una plétora de lenguajes informáticos (alrededor de 465), para aplicaciones de misión crítica. Tiene una gran capacidad para la corrección de fallas y la identificación de errores y, por lo tanto, también es ideal para aplicaciones espaciales.

¿Qué otras aplicaciones, proyectos y agencias espaciales están utilizando el lenguaje de programación Ada?

Respuestas (1)

¿Qué otras aplicaciones, proyectos y agencias espaciales están utilizando el lenguaje de programación Ada?

En los EE. UU., cosas antiguas como los cohetes Delta, los cohetes Atlas y la terminal terrestre TDRSS (pero esto se está cambiando a C, C ++, C # y Java). Puede haber nuevos desarrollos, pero en su mayoría son cosas que usted (y yo) no podemos saber porque están clasificadas. El nuevo desarrollo se encuentra principalmente en lenguajes principales como C, C ++, C # y Java, y también en herramientas especializadas como Matlab Simulink.

Una de las razones del alejamiento de Ada fue que el mandato de Ada salió demasiado pronto. Algunos proyectos que fracasaron por falta de herramientas cambiaron a C. Los gerentes de estos proyectos recuerdan esa experiencia de Ada. Los recuerdos no son gratos.

Otra razón fue la demografía. Encontrar programadores de Ada, buenos o malos, siempre ha sido un poco difícil. Es mucho más fácil encontrar programadores de C o C++, y esto brinda a los gerentes la oportunidad de seleccionar por calidad.

Otra más es que muchos de los desarrolladores de herramientas que inicialmente apuntaban a Ada (por ejemplo, Rational) descubrieron que sus herramientas funcionaban bastante bien con otros lenguajes. Debido a la demografía, las mejoras y las nuevas funciones se realizaron primero en las versiones del idioma principal antes de extenderlas a Ada. Esto agregó aún más ímpetu para cambiar de Ada.

Ada parece ser más utilizado en Europa que en los EE. UU. Una razón es que el principal arquitecto de Ada fue el Dr. Jean Ichbiah en CII-Honeywell-Bull en Francia. El mandato Ada se aplicó tanto en Europa como en los EE. UU., pero el momento fue un poco mejor allí. Las herramientas habían madurado y muchas de ellas fueron desarrolladas en Europa por la empresa fundada por el Dr. Ichbiah. Un ejemplo reciente es el software de vuelo del satélite GOCE.


Un ejemplo no tan bueno es el software de vuelo para el vuelo inaugural del cohete Ariane 5. Este es quizás el más infame de todos los errores de software. Ada tiene una serie de características de seguridad integradas en el lenguaje. (Compare con C, donde el estándar tiene doce páginas que resumen los comportamientos indefinidos integrados en el lenguaje. Compare con C++, donde los comportamientos indefinidos son tan numerosos que ni siquiera los enumeran). Esas funciones de seguridad de Ada pueden tener un efecto significativo. costo de rendimiento y, debido a esto, Ada también brinda la capacidad de desactivar selectivamente esas funciones de seguridad.

En el caso del vuelo 501 de Ariane 5, los ingenieros de software reutilizaron el software de vuelo de Ariane 4, donde se deshabilitaron las características de seguridad relacionadas con el desbordamiento en parte del software GNC. El Ariane 5 tenía un empuje considerablemente mayor que el Ariane 4. Esta mayor aceleración hizo que los datos del acelerómetro se desbordaran al convertirlos en un número entero. Esto a su vez resultó en excepciones de hardware, lo que a su vez hizo que el software GNC se detuviera, lo que a su vez resultó en la destrucción del vehículo.

Fantástica respuesta. Ada es un lenguaje robusto, todavía en uso en muchas aplicaciones, pero es difícil de soportar. Y, sí, en la mayoría de los casos está siendo reemplazado por lenguajes basados ​​en C.
Yo mismo aprendí y trabajé en Ada, desde finales de los 80 hasta principios de los 90. Esto se intercaló entre trabajar en Lisp a mediados y finales de la década de 1980 y luego trabajar en C a partir de mediados de la década de 1990. Mis recuerdos de Ada no son buenos. Ada es el último lenguaje de esclavitud y disciplina .
Yo también tuve algo de experiencia con él, cuando trabajé brevemente en un simulador de estación espacial. Yo no estaba - en absoluto - impresionado. Sin embargo, vengo de una era de FORTRAN/lenguaje ensamblador.
@OrganicMarble: usé esos idiomas antes de aprender Lisp. Ceceo fue WOW. C estaba bien, tal vez guau, pero no tan genial como Lisp. Ada era... las palabras se me escapan. Me quedo con tu "no impresionante".
Sí. Después de una experiencia FORTRAN relativamente sensata aunque obsoleta rápidamente en el simulador de lanzadera, no estaba preparado para la mezcolanza de lenguajes "modernos" y "herramientas de desarrollo de software automático" que era el simulador de estación.