2010-02-22 4 views
6

Solo por interés, sabemos que hay una gran cantidad de programación involucrada en la fabricación de un satélite. ¿En qué idiomas están escritos?Idiomas utilizados para escribir programas para misiones satelitales?

+3

¿Qué hay de los idiomas utilizados para controlar los sistemas de freno y acelerador de Toyota? – DOK

+2

@DOK Un comentario que escribí en un hilo de discusión relacionado en lwn.net: http://lwn.net/Articles/374618/ –

+0

Gracias a todos, fue realmente interesante :) – trinity

Respuesta

0

Al igual que con cualquier otro esfuerzo de software, el idioma utilizado para realizar algunas funciones en un satélite será el idioma más apropiado dados los diversos controladores de negocios y de TI vigentes.

Encontrará ejemplos de diferentes idiomas que se utilizan en la industria aeroespacial si mira a su alrededor. Dada tu pregunta, probablemente quieras echar un vistazo a Ada, que a menudo se conoce como "sistemas en tiempo real", un artículo de noticias por lo que el efecto es here, algunos usuarios que no son de defensa se enumeran here.

3

ya que tienen una arquitectura personalizada conectado a los periféricos miscelánea de E/S que se deben programar en C/C++ o directamente en ASM para un mejor rendimiento y optimizaciones ..

Están totalmente personalizado, de modo que no creo hay otros enfoques para el problema, piense también que tienen que usar muy poca energía (y deben ser cargados por el sol) por lo que tienden a no tener un hardware tan poderoso y deben REALMENTE optimizarse (es por eso que ASM es el camino). ¡No debería desperdiciar ningún ciclo de CPU!

Por último, el tipo de dispositivos conectados a un satélite son muy poco frecuentes, así que creo que es difícil de usar cualquier tipo de API estándar para la interfaz (como RS232 o así sucesivamente), creo que son diferentes para cada caso.

No me sorprendería encontrar muchas virutas viejas como Z80s haciendo el trabajo sucio en un satélite solo porque son lo suficientemente potentes como para realizar tareas simples, ¡aunque su bus de 8 bits!

2

C, C++ y Ada se mencionan here (sí, los autores no pueden escribir en mayúscula "Ada"). El código C se puede escribir a mano o se puede generar a partir del Scade.

2

Aparte de las posibilidades que ya se han mencionado, al menos one spacecraft fue controlado por software escrito en Lisp durante parte de su vuelo.

9

Las misiones de satélites de la NASA en las que participé utilizaron el lenguaje ensamblador para el software integrado. Hay una fuerte preferencia en la NASA para usar software de vuelo con herencia - reutilizando componentes (tanto hardware como software) con una historia probada de éxito en misiones anteriores. Entonces, en lugar de usar código compilado en los últimos y más poderosos procesadores, , a menudo terminamos usando un ensamblado codificado a mano en wimpy, pero procesadores probados. Por ejemplo, el proyecto THEMIS, construido en 2003 y lanzado en 2007, se ejecuta en procesadores Intel 8085, con módulos de ensamblaje codificados a mano con herencia de misiones anteriores como WIND, CLUSTER y STEREO.

0

La mayoría de los lenguajes operativos utilizados en la NASA y Lockheed se centran en las estadísticas y el cálculo. Por lo tanto, significa MATLAB, haskell, Erlang y Scala. MATLAB y Erlang son los grandes que se solicitaron para el aprovisionamiento.

Mientras que el hardware al final de las cosas se centrará en Assembly, C y Verilog.

1

La NASA utiliza muchos idiomas y varía en función de sus usos y dónde se usa.Los programas escritos para algunos cálculos y para algunas secuencias de comandos están escritos en su mayoría usando Python. Los programas para instrumentos de tierra y control de tierra se escriben usando C, C++, Ada, etc. Los programas críticos escritos para los instrumentos y hardware de a bordo son principalmente en lenguaje ensamblador, ya que le da el mayor control sobre el hardware y algunos idiomas antiguos también son Si el hardware utilizado en el satélite es de tecnologías antiguas (no significa que estén desactualizadas porque algunas funciones son imposibles sin ellos) y otros lenguajes como MatLab, Visual Basic también se usa para cálculos científicos.

Cuestiones relacionadas