Mars Failures: Bad luck or Bad Programs? 389
HobbySpacer writes "One European mission is on its way to Mars and two US landers will soon launch. They face tough odds for success. Of 34 Mars missions since the start of the space age, 20 have failed. This article looks at why Mars is so hard. It reports, for example, that a former manager on the Mars Pathfinder project believes that "Software is the number one problem". He says that since the mid-70s "software hasnâ(TM)t gone anywhere. There isnâ(TM)t a project that gets their software done."" Or maybe it has to do with being an incredible distance, on an inhumane climate. Either or.
Small Simple... Solid State (Score:5, Interesting)
Also, solid state, however big and bulky, isn't susceptible to the radiation that many mega-tiny chips are... by writing (and testing) the software in the simplest manner, and building a VERY specific piece of hardware out of solid state components.. and lots of unit testing... you're more likely to get there.
For the same reason the 486 was the only space-rated intel processor for quite a long time (not sure if thats still true).
I'd rather go on "slower" simpler hardware that does a very specific job... and you can repair with a soldering iron.
Mistakes (Score:5, Interesting)
-Restil
Re:We landed on the moon with 512 bytes of RAM (Score:1, Interesting)
so basic that the error rate is significantly reduced to a point that identifying and fixing errors are trivial without the need to plug a single computer in or sort through 2miles of cables looking for a single break
i digress technology makes life harder not easier
cheers
Re:We landed on the moon with 512 bytes of RAM (Score:5, Interesting)
Thing is, space exploration isn't done with *current* technology. The computing technology used in a lot of aerospace applications is 20-30 years old. There are a number of reasons for this, but the ones I've heard of are:
1. The projects are long-term, and have been in development for a lot of years. Especially when it comes to government projects. They can't just up and switch to the latest tech whenever it comes around, otherwise it will end up like DNF and never see the light of day.
2. The engineers don't trust the latest and greatest. The technology isn't considered mature enough. All the bugs have been worked out in the older tech, so it's more robust, the engineers are more familiar with it, and more often than not, manufacturers have shunk and simplified the designs significantly since introduction.
It's more likely that you'd find a 8086 processor in the space shuttle than a Pentium 4 unless someone brings a laptop aboard. It wasn't all that long ago that NASA put adds on websites and geek magazines appealing for old 8086 processors for spare parts. I haven't heard anything since, so either they found a supplier, or they're too busy piecing together the Columbia.
Re:I disagree, Mr. Editor (Score:1, Interesting)
When not even the best programmers can get it right it might be time to start thinking that there's a hard problem in there, docking pay isn't the way to fix it.
Time for a standard RT OS and tools? (Score:2, Interesting)
I'm not sure how suitable RT Linux would be from a technical/performance standpoint, but having a highly portable open source OS would give a flexibility and availablility that would make adoption much easier.
Chess is also a Formal System (Score:3, Interesting)
Theoretically, all programs have latent bugs, unless they are too simple to do much.
I'm not surprised. (Score:5, Interesting)
Since software engineering is still a 'black art' as far as most traditional engineers and project managers are concerned, there isn't the real intuition/understanding of when things are starting to look bad. Without looking at code AND knowing something about it, you won't stand a chance 'intuiting' whether or not things are going well.
Writing software is an expensive business in both time and money. It's also a very young business without the same 'discipline of implementation' as other areas. Until the process matures and people realise that doing it on the cheap gives you cheap software, things aren't going to change and Mars probes are going to continue to produce craters.
Re:Its a shame (Score:2, Interesting)
Used to be comp.sci was about comp.sci not staying upto date with the latest code monkey script language.
There is still a reason why the majority of *real* work is coded in C. Its a simple language that gets things done.
The dot.com busta VB script kiddies [e.g. three week IT grads] come and go. True comp.sci'ers stick along better.
Tom
Re:We landed on the moon with 512 bytes of RAM (Score:4, Interesting)
Software - The only thing right on the Shuttle (Score:5, Interesting)
Part of it was the fact they had absolute geniouses working on the problem. Think of it, they designed a system in the late 1970's, tested it on the ground, and had it successfully fly for 20 years without a major "oopsie". Or rather, if a major "Oopsie" happened, they had ways around, over, or through it. They spent YEARS developing the flight software for the Shuttle.
Software CAN be done right. It just has to be a priority.
Re:We landed on the moon with 512 bytes of RAM (Score:3, Interesting)
With the moon missions, there were manned craft, and so every line of code had to be checked and rechecked--and hundreds of guys were on the ground watching everything that happened, twenty-four seven, until the astronauts were safely back on the ground.
Now, windows for a Mars launch come much less frequently. There might be a temptation to rush some of the QA and just cross fingers. Speed of light delay means that NASA can't intervene in most situations--problems are resolved one way or another before anyone on the ground even hears about them.
Moon launch hardware had to last for a few days in space--stressful, busy, lengthy days, but a few days nonetheless. We expect Mars craft to spend months in hard vacuum and harder radiation, and then land successfully without human help, on a planet with higher gravity than the moon...
Just some thoughts. The parent is right--Mars missions are hard because it's far away, and you have to travel through space to get there.
Certainly bad by comparison with Venus (Score:4, Interesting)
Re:Small Simple... Solid State (Score:3, Interesting)
Actually, the current microchips are inherently rad-hard (radiation resistance). This wasn't the case in the past. It's something about the size of the features being small and also shallow, so that not much charge is deposited as a charged particle passes through. 0.25 and 0.18 microns are apparently especially good. However, as feature size continues to go down, things will get worse again.
You might find this link [vanderbilt.edu] interesting too.
Re:The ancient n-body system... (Score:3, Interesting)
However much you may disagree, simple Newtonian dynamics and is all it takes to get a space probe from A to B in the vast majority of cases. It's a well-understood problem domain.
Dragging in stuff like chaotic long-term behavior of n-body systems, while an interesting fact in itself and worthy of study, has very little to do with the engineering problem at hand. Ephemerides for all major bodies in the solar system for the coming hundreds of years are known up to uncanny accuracies (metres) and plotting the trajectory of a probe is simply a matter of numerical integration, to put it bluntly.
Now when someone mixes up metres and feet things go awry. But don't claim stuff like this could have been prevented by hiring more mathematicians. It's simply a case of human error, something that happens in the Real World.
Having a high IQ, my friend, is no excuse for making stupid claims about things you don't know anything about.
Re:manned mars mission (Score:4, Interesting)
Re:Software not the problem... (Score:2, Interesting)
GIGO.
Re:Software - The only thing right on the Shuttle (Score:3, Interesting)
And when I point out an aerospace system that does work, showing me a zillion ones that don't doesn't invalidate my point. The difference between the systems that work and the system that fail is crafstmanship.
My space failure (Score:3, Interesting)
If we were to do it again, we probably would have had some kind of radiation-resistant reset system, because building the whole thing in rad-hard would be very expensive (our budget was $1500 plus donated equipment!) But having a few rad-hard devices to reset the box in case of a crash would probably have been affordable.
About 100 amateur radio operators contacted our payload, and relayed their GPS coordinates to others using amateur packet radio. At the same time, the GPS unit on board the Spartan satellite transmitted its position to listeners on the ground as well. But had it not crashed after about 17 hours, it is possible that several hundred other amateur radio operators would have used it.
Re:The software motto... (Score:5, Interesting)
Re:Certainly bad by comparison with Venus (Score:1, Interesting)
Re:We landed on the moon with 512 bytes of RAM (Score:5, Interesting)
I haven't read the whole site in a while, but IIRC, it describes the typical problems with software: underscoping the problem (in the 60s, most people assumed that the computer hardware development would be the majority of the effort), code bloat (the computer required much more memory than originally planned), buggy production code, schedule slips, problems caused by cruft. When the project started, they just waded right in to coding with few tools and little awareness of the need for proper engineering practice.
This particular case was made more difficult by the program loading procedure: the program ROM was made one bit at a time by hand threading magnetic cores on to tiny wires then embedding it in a solid block of epoxy. The write-compile-debug cycle could be weeks. If bugs were discovered late in the schedule, the astronauts just had to work around them. The software devleopers did have mainframe-based simulators for development, though.
With the gigabytes of space available for today's software, I'm surprised that any modern space projects get finished at all.
Many Moon Missions Failed Too (Score:5, Interesting)
It's a hard probelm to send a probe to the Moon or Mars. landing and aerocapture at Mars are dicy things.
There's been a paradigm shift (Score:4, Interesting)
Here's the problem as I see it: As software and hardware have become more complicated, there's a need to increase testing. Instead, in order to meet NASA's new budgetary requirements, funding in general, and specifically for testing, has gone down. So, it's not possible to completely test all of the hardware AND software, as it should be.
As an analogy: If we were talking about commercial airliners; these probes would never be certified to fly.
I'm not putting all the blame on NASA here; although, it is apparent to me that they need to start reporting what it's actually going to cost. Having said that, Congress is equally complicit; they need to come to the realization that it's expensive to do work outside the atmosphere (they apparently don't understand this...)
Re:It's physics, dudes. (Score:3, Interesting)
Your comment about manned vs unmanned makes absolutely no sense. One could buy a hundred or a thousand unmanned planetary missions for what a single manned mission would cost, and there would still be no guarantee that the manned mission would succeed. Yet we could easily afford to have many of those unmanned missions fail.
I say that the manned space program is one of the major contributing factors to the poor Mars success rate. More specifically, the enormous sums of money that the Shuttle and ISS have siphoned from the far more productive unmanned planetary program and flushed down the drain.
Re:Certainly bad by comparison with Venus (Score:2, Interesting)
On the other hand, once the probes get to Mars, they last much longer than the ones sent to Venus. That is where the hostile environment on Venus becomes and issue.
Dean G.
Re:I think it's the metric system (Score:3, Interesting)
Re:It's the programming language, stupid! (Score:3, Interesting)
A quote from a recent Newspaper article [theage.com.au]: Language is important. The numbers say it, the metrics say it, the successful projects say it, even some
The rest of us will just have to settle for actually doing this work, satellites, laser eye surgery systems, aircraft, subs etc instead of making yet another kludgy VB system to sell the latest in sportswear or whatever.