Summary: C code developed with the waterfall methodology, running under VxWorks, all on a 33Mhz PowerPC board. Someone who works in embedded software could clarify this for me, but isn't that a fairly standard setup? Whatever gets the job done, right?
For what I've heard about NASA using Lisp and Forth for some of its software, especially when they had to remotely debug and update the spacecraft, this was a little disappointing.
Ron Garret details some of the Lisp NASA development. The basic thing was, it was used as an experiment on a deep space test probe (I think) but they switched to C++ because of orders from on high.
some of the coolest nasa/lisp stuff I stumbled upon was called "pacman". It was a 3d bin packing algorithm for figuring out optimal placement of cargo etc.
Am I right in assuming that there's very little process separation in the older RAD 6000 boards?
There is no process separation. I mean basically what we —
One bad pointer in one module and —
Exactly. —
you wait for the next update window.
Exactly.
Wow. I could write software like that.
[Laughs] Well —
I won't give you a 90 percent certainty though.
We have strict coding guidelines that we use. We don't allow dynamic memory allocation, for example.
The transcript is not complete. It leaves out a Java garbage collection discussion and why the presence of water on Mars is of tremendous importance, for example.
For what I've heard about NASA using Lisp and Forth for some of its software, especially when they had to remotely debug and update the spacecraft, this was a little disappointing.