Hacker News new | past | comments | ask | show | jobs | submit login
The Software Behind the Mars Phoenix Lander (oreilly.com)
32 points by kirubakaran on July 10, 2008 | hide | past | favorite | 8 comments



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.

http://web.archive.org/web/20070228160104/http://ase.arc.nas...


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.


Memory: 128M


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!


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.


You can still suffer priority inversion under VxWorks (indeed, this has happened to NASA).


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: