
On Sun, 7 Jun 2020 12:32:54 +1200, Peter Reutemann quoted:
'Their article notes that the International Space Station actually runs on 1988-vintage 20 MHz Intel 80386SX CPUs...'
The life-support system, at least, is programmed in Ada. No Windows/MS-DOS anywhere (the code is old enough that Linux wasn’t an option at the time).
The Dragon spacecraft's touchscreen interface is rendered using Chromium and JavaScript. If something were to go wrong with the interface, the astronauts have physical buttons to control the spacecraft.
Web browser + JavaScript considered good enough to run mission-critical real-time interfaces?!? I can hear some old-school types spluttering in the background. (To be honest, I find that mildly surprising myself.) I wonder how they protect against accidental invocation of touchscreen actions while moving around? If you look at older-school hardware controls on the Shuttle, Apollo etc, you will see guards around every switch so they cannot accidentally be pushed, you have to get your finger in there to activate them.
'Later they emphasized that for the Falcon 9 and Dragon software, "All of the application-level autonomous software is written in C++. We generally use object oriented programming techniques from C++, although we like to keep things as simple as possible."'
What’s surprising about this is the admission of C++ at all to create safety-critical systems. For example, I believe there is a set of industry guidelines around for how to write C code to implement automotive systems, as used in ordinary motorcars that you or I might buy, and C++ is/was not allowed for that.