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?
2 Answers
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.
-
22$\begingroup$ Wow, this makes me curious as to What makes Ada the language of choice for the ISS's safety-critical systems? $\endgroup$– uhohJun 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
-
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
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.
-
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
"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$