Languages ​​used to write satellite mission programs?

Just out of interest, we know that there are a lot of programs in satellite development. What languages ​​are they written in?

+6
programming-languages satellite
source share
8 answers

NASA Space Missions I participated in all the assembler languages ​​used for the embedded software. NASA has a strong preference for legacy flight software — reusing components (both hardware and software) with proven success stories from previous missions. Therefore, instead of using compiled code on the latest, most powerful processors, we often end up using manual assembly on wimpy but proven processors. For example, the THEMIS project, created in 2003 and launched in 2007, runs on Intel 8085 processors with hand-built modules with a legacy of previous missions such as WIND, CLUSTER and STEREO.

+9
source share

Since they have a custom architecture connected to various peripheral I / O devices, they need to be programmed in C / C ++ or directly in ASM to improve performance and optimization.

They are completely custom, so I don’t think there are other approaches to the problem, think also that they should use very low energy (and should be charged by the sun), therefore they usually have not so powerful equipment, and should REALLY optimize (why is ASM a way). You should not lose a single processor cycle!

Finally, some devices connected to the satellite are really unusual, so it’s difficult for me to use any standard API for the interface (for example, RS232 or so on), I think that they are different for each case.

I won’t be surprised if I find a lot of old chips, such as Z80s , doing dirty work on the satellite just because they are powerful enough to perform simple tasks, although their 8-bit bus!

+3
source share

C, C ++ and Ada are mentioned here (yes, authors cannot use "Ada"). C code can be written manually or generated from Scade .

+2
source share

In addition to the capabilities mentioned above, at least one spacecraft was controlled by software written in Lisp for part of its flight.

+2
source share

I can tell you that Mars Rover had at least some C ++ code (PDF Link); They used the Rogue Wave Tools.h ++ library .

+1
source share

NASA uses many languages ​​and varies depending on its use and use. Programs written for some calculations and for some scripts are written primarily using python. Programs for ground instruments and ground control are recorded using C, C ++, Ada, etc. Critical programs written for embedded devices and hardware are mainly presented in the Assembly language, because it gives maximum control over the equipment, and some old languages ​​also use many hardware on the satellite from old technologies (this does not mean that they are outdated, some of them it is impossible to get around without them), and other languages ​​such as MatLab, Visual Basic are also used for scientific calculations.

+1
source share

As with any other software, the language used to perform some function on the satellite will be the most appropriate language, taking into account various business and IT drivers.

You will find examples of the various languages ​​used in the aerospace industry if you look around. Given your question, you probably want to see Ada , which is often referred to as used in real-time systems, 'a news article, so the effect is here , some unprotected users are listed here .

0
source share

Most of the operating languages ​​used by NASA and Lockheed are centered around statistics and calculus. Thus, mean MATLAB, haskell, Erlang and scala. MATLAB and Erlang were large that were requested for provision.

While the hardware end of things will be centered around Assembly, C and Verilog.

0
source share

All Articles