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
  • 9
    $\begingroup$ Don't forget one of my least favorite languages, Ada. $\endgroup$ Commented Jun 3, 2019 at 2:35
  • 2
    $\begingroup$ Related: space.stackexchange.com/q/14605/6944 $\endgroup$ Commented Jun 3, 2019 at 10:42
  • 1
    $\begingroup$ Related: space.stackexchange.com/q/13539/6944 $\endgroup$ Commented 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...
    Commented 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$ Commented Jun 4, 2019 at 22:31

2 Answers 2

61
$\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$
21
  • 24
    $\begingroup$ Wow, this makes me curious as to What makes Ada the language of choice for the ISS's safety-critical systems? $\endgroup$
    – uhoh
    Commented 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$ Commented Jun 3, 2019 at 12:13
  • 9
    $\begingroup$ What are your sources? $\endgroup$ Commented Jun 3, 2019 at 15:20
  • 4
    $\begingroup$ @Bruno most likely inside information. (This person appears to work there) $\endgroup$ Commented 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$ Commented 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
  • 12
    $\begingroup$ software.nasa.gov is where NASA catalogs it's released software. Much of the software for the ISS is not releasable. $\endgroup$ Commented Jun 3, 2019 at 4:23

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