
The Software Behind the Mars Phoenix Lander - kirubakaran
http://news.oreilly.com/2008/07/the-software-behind-the-mars-p.html
======
jcromartie
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.

~~~
zandorg
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.

[http://web.archive.org/web/20070228160104/http://ase.arc.nas...](http://web.archive.org/web/20070228160104/http://ase.arc.nasa.gov/publications/pdf/2000-0176.pdf)

------
sspencer
VxWorks: For when it can't crash...ever. Some of the most entertaining and
enlightening projects I have ever worked on were centered around VxWorks.

Interesting interview. I liked the bit at the end about not allowing
dynamically allocated memory!

~~~
d0mine
_Regarding crashing_ :

    
    
      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.

------
d0mine
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.

