38
$\begingroup$

What is the coding language used for the software used on the ISS? Is it NASA's own coding language, or is it something like C, or C#, maybe Haskell?

$\endgroup$
8
  • 8
    $\begingroup$ Don't forget one of my least favorite languages, Ada. $\endgroup$ Jun 3, 2019 at 2:35
  • 2
    $\begingroup$ Related: space.stackexchange.com/q/14605/6944 $\endgroup$ Jun 3, 2019 at 10:42
  • 1
    $\begingroup$ Related: space.stackexchange.com/q/13539/6944 $\endgroup$ Jun 3, 2019 at 11:32
  • 9
    $\begingroup$ "The software" - makes it sound like there's a single monolithic program running everything. This won't be the case. There will be hundreds of subsystems, each with several levels of hardware and software automation, each of which will have been built with on a number of tools, technologies, and platforms. $\endgroup$
    – J...
    Jun 3, 2019 at 15:44
  • 2
    $\begingroup$ @David I know. Well, at second hand. At one point I worked on a particle physics project where we were going to weld some embedded boards into a big steel can, and we have a series of seminars given by NASA reps on how you try to achieve reliability when you can't stick a paperclip in the reset hole. As a self-aware programmer the whole business is very scary because I know I'm not automatically that good. $\endgroup$ Jun 4, 2019 at 22:31

2 Answers 2

58
$\begingroup$

Almost all of the safety critical software that runs on the US side of the Space Station is written in Ada. I wrote "almost all" rather than "all" because there are probably some low level device drivers written in assembly. I can't find out in which language / languages the code that runs on the Russian side was written. I wouldn't be surprised if that also is largely Ada.

Non-safety critical software (e.g., anything running on a laptop) is written in a mix of languages.

$\endgroup$
17
  • 22
    $\begingroup$ Wow, this makes me curious as to What makes Ada the language of choice for the ISS's safety-critical systems? $\endgroup$
    – uhoh
    Jun 3, 2019 at 7:38
  • 8
    $\begingroup$ @PearsonArtPhoto - If it's safety critical, yes. The safety critical software runs on the so-called Multiplexer-Demultiplexer (MDM) computers and critical display devices. Non-safety critical software runs on laptops. $\endgroup$ Jun 3, 2019 at 12:13
  • 9
    $\begingroup$ What are your sources? $\endgroup$ Jun 3, 2019 at 15:20
  • 4
    $\begingroup$ @Bruno most likely inside information. (This person appears to work there) $\endgroup$ Jun 3, 2019 at 20:36
  • 1
    $\begingroup$ @Nefrin - That is true to some extent, and apparently more so in Europe than in the US. That the US Department of Defense dropped the Ada mandate 20 years ago led to many project managers having new projects be coded in anything but Ada. $\endgroup$ Jun 5, 2019 at 12:20
15
$\begingroup$

There are a lot of programs involved in running the ISS. The exact details are difficult to discern, a lot of NASA's software is available via this site, with some restrictions, but here is what I can find.

  • Astrobee- Runs the "Robotic Operating System"
  • Geolocation via a Python Library
  • Some elements use LabView

I'm sure there are many other languages, including C, C++, and C#, among others, but it would be very difficult to get a complete list.

$\endgroup$
1
  • 10
    $\begingroup$ software.nasa.gov is where NASA catalogs it's released software. Much of the software for the ISS is not releasable. $\endgroup$ Jun 3, 2019 at 4:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.