Hot on HuffPost Tech:

See More Stories
Engadget for the iPhone: download the app now
AOL Tech

The software behind the space shuttle

shuttleMost of us put up with software that works most of the time. Stuff happens (on every platform) from time to time, and we reboot, relaunch, or just get over it. But with space flight, you don't just get over it, and relaunching isn't an option. So the software on the shuttle has to be absolutely perfect.

Yeah, I'm one of those nerdy kids that went to Space Camp. But anyone with an interest in technology will appreciate the skill and hard work put into the engineering and design of the shuttle's systems. That includes on-board machines and the support on the ground. Much of the redundancy is in hardware. Typical configurations are three or four identical sets of machines performing the exact same tasks at the same time. There's also a fourth or fifth backup machine in case any one of those initial machines breaks down. The NASA Office of Logic Design has some great bedside reading on many of these systems, available in tidy PDF's.

Keep reading for more info, plus some nifty NASA sims to play with online...


For those burning the midnight oil at Microsoft putting the finishing touches on Vista, consider the following: your code sucks. So does the code in OS X, and Linux. At least, it's pretty bad when you compare it to NASA's. According to a 1997 article in Fast Company, in three versions of shuttle software, each with 420,000 lines of code, there were only 3 errors. That's one for each version. Yep, one error in nearly half a million lines of code. The article says commercial code would have around 5,000 errors.

At one point this was enough to earn Carnegie Mellon's Software Engineering Institute's Capability Maturity Model Level 5 rating. What does that mean? Basically your software is as good as humanly possible. Less than a dozen companies have earned this honor, and part of the benchmark was created by the standards set by NASA's team. Although I should point out, when I say NASA I'm referring to a group of coders actually working at Lockheed Martin (and that team was moved around a couple of times, once to IBM).

The most telling aspect of this (and the best part of the article) are the four guiding principles the team uses to make this "perfect" software. No doubt these principles have inspired the work of all good application authors everywhere. Read the full Fast Company article for those, but also check out this telling article (PDF) with Ted Keller, formerly the senior technical manager of the shuttle's on-board software. It all boils down to the process of coding, and managing our little monkey brains to make the most perfect code possible.

So congratulations to a successful mission for shuttle Discovery. STS-114 will unfortunately be the last of the current shuttle form factor as NASA has decided to ground the fleet and redesign the whole thing from scratch. No word on a new version of the software though...

Now to try your hand at docking the shuttle check out the Shuttle/ISS Simulator. Or you can try launching, landing, or docking (as ground control or the shuttle) over at the JFK Space Center's simulation page. Lastly, some gorgeous pics of STS-101, where the ISS began its journey upwards...

Tags: hardware

Comments

8