Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming Mars NASA Software Space IT Technology Linux

'Extreme Programming' Controls Phoenix Mars Lander 119

pbd points out a story discussing the challenges faced by NASA engineers in designing the code sent to operate the Phoenix Mars Lander. Quoting Computerworld: "On Wednesday, engineers sent up the code to run an actual analysis, but a satellite orbiting Mars, which transfers the data down to the Lander, was offline. Robinson explained that the satellite had been hit with radiation, knocking it into safe mode. 'Space is a harsh environment, and sometimes they just go into safe mode,' he noted. 'It's a minor problem. [The satellite] aborts whatever it was doing and waits for future commanding.' Engineers successfully resent the code on Thursday."
This discussion has been archived. No new comments can be posted.

'Extreme Programming' Controls Phoenix Mars Lander

Comments Filter:
  • Re:That's coolness (Score:4, Interesting)

    by zappepcs ( 820751 ) on Friday June 06, 2008 @11:04PM (#23690515) Journal
    For a Friday night, that is a very nice thought. A project funded by the public, and at least in part, built by the public. Nothing says OSS works better than that. At least I can't think of anything that does... very nice.
  • by Anonymous Coward on Friday June 06, 2008 @11:07PM (#23690539)
    According to TFA, each member of a team of 30 engineers must write ~1500 lines of code, per day, in order to control the robotic equipment on board. This coding is done in C. Does this strike anyone else as a brain dead way to control a robot on a day to day basis? Why do they have to write the commands in such a low level language. Can't they abstract this into a more manageable format?
  • by Anonymous Coward on Friday June 06, 2008 @11:48PM (#23690735)

    Having a plan that requires 1000 lines of new C code every day is f'ed up beyond all belief. Someone doesn't know what they are writing about.

    Wow, yeah. You actually inspired me to read the article. I thought "LOL, yeah right, AC must've made a typo". But I'll be god damned, the article really says that.

    I always thought I was a fairly decent coder, but I might have to re-evaluate if other people can do 1000+ lines of debugged, production quality code every day.

  • by Anonymous Coward on Friday June 06, 2008 @11:51PM (#23690753)
    Some of the things shouldn't require detailed programming each day,
    because they could have been programmed into a firmware library!

    The geometry between the arm, scoop, & the 8 ovens doesn't change,
    so that could have been automated.
    Instead of coding the whole damn thing
    & hoping the signal can get there that day,
    they could have told it
    Invoke "dump scoop into oven # 1 routine"
    and saved the interplanetary bandwidth+delays
    for something that required customization...

    Also, this business of EVERYTHING waits if one link in the chain gives,
    suggests that JIT is the wrong paradigm for this case...
    at least slightly.

    The life of the machine is known to be finite,
    the conditions are extreme in temp & superfine dust,
    the thing's been jostled a bit in getting it there,
    loss of function-time is costly, isn't it?
  • Say What!? (Score:3, Interesting)

    by Sam36 ( 1065410 ) on Saturday June 07, 2008 @01:09AM (#23691167)
    Why did they use vxworks instead of linux?
  • by Anonymous Coward on Saturday June 07, 2008 @01:11PM (#23694219)
    A couple of details to clarify:

    1. The "code" the folks at the Pheonix SOC are using is called "VML", which is a script language developed by a fellow named Chris Grasso and is similar in some reards to the earlier command language "CDL" from the 70's. They are not doing any programming in C or anything like it, and VML isn't all that sophisticated (it has no array type, for instance). It's designed to do one thing well, and that's control a spacecraft by issuing command messages at specific times.

    2. The software on the spacecraft that actually runs everything was written entirely in ANSI C, and it all runs on the VxWorks RTOS on a radiation-hardened PowerPC CPU in a VME card cage. Linux isn't anywhere near the actual spacecraft (so all you Linux fanboys can calm down now). Linux sits on some folk's desks, and it was used by some of the instrument teams in the development phases for file servers, metrics tools and so on. The actual Windriver compilers for the target CPU run under Solaris. Not Linux. Sorry.

    3. The challenge facing the operations folks is centered around getting the various instruments to sing and dance together at the correct times. Most of the team members are people with PhD's in planetary science, atmospheric science, geology, optical science, math and so on.

    How do I know all this? Well, let's just say that a little part of me is now sitting on Mars.

On the eighth day, God created FORTRAN.

Working...