B-2 Stealth Bomber Gets Upgrade, Joins the '90s
WmHBlair writes "Flightglobal has a report about the upgrades being made to the B-2A Stealth Bomber, which include Pentium class processors, JOVIAL code rewritten in C, and fibre channel hard drives. The Register, as usual, makes light of this event with a tongue-in-cheek news item noting that the upgrade drags Stealth Bomber IT systems into the '90s."
While the headline might be good for a light giggle, there's a good reason why it's 10 years behind. Airplane avionics systems must be free of bugs, or people die. That especially goes for a plane that uses a flying wing design (which are historically hard to stabilize without computer control), and potentially carries nuclear warheads.
Not a typewriter
Having worked for a defense contractor (non-weapons, mind you) for 6 years, it doesn't surprise me at all that the technology for such things are at least 10 years behind state of the art. It takes so long to fully satisfy the requirements of a military contract, then it takes at least as long to fix all the little bugs that inevitably pop up after delivery; then there's the military amending their requirements halfway through the project, sometimes resulting in having to go almost all the way back to square one in the design cycle. Oh, and don't even get me started on requirements that belong in cartoons and comic books, not the real world of engineering.
It's "Pentium class", not "Pentium". I would bet my money on this comptuer being PowerPC based, probably PowerPC 74xx based, also known as "G4" of Macintosh fame. There are _a_lot_ of PowerPC based avionics, and cutting edge airplanes like Eurofighter, Gripen and F-22 have multiple PowerPC based systems doing all kinds of stuff. When doing embedded electronics for the military you are not going far pitching Intel stuff. You are going to use hardware from manufacturers that can guarantee parts that'll keep being manufactured over many years and are harndened to endure rapid heat, cold, moist and preassure fluctuations. Intel are doing commodity products for low end table environments. Look to manufacturers like Freescale for the stable and durable stuff.
- Henrik
- when the Shadows descend -
Are you sure? Software tends to be written by developers, and its the quality of them, their ability to work to quality standards and basically take their time to get it done right that matters. All that C code you've seen crash - it'll be because someone hacked it together, no-one tested it thoroughly enough, and no-one took the time to do it right. C is even easy to code reliably if you impose some restrictions on yourself (or use some libraries/routines that you can't easily take shortcuts with - eg if you can pass a pointer to a routine, you're going to pass a bad one one day, do some wrong arithmentic on it, etc. If you pass a strict fixed-size buffer, then you're much less likely to get an error. Just a simple example).
The point is you can write bad software in any language, the new C# stuff at work crashes all over the place and is slow. The old C code from 1984 is still working fine. Its not these languages that had anything to do with their relative quality.
eg. Spacecraft are written in C, and they've worked better than anyone expected:
The only reason I brought that up is because one of my editors said, Oh look, they have Java on this thing.
Oh, Java. Well, we have Java in the ground system not onboard the spacecraft.
Right. That's what it's starting to sound like.
That's right. Yeah. The spacecraft software is entirely in C.
C? Really? That surprises me a little bit.
Yes. It's entirely in C.
I thought Lockheed Martin was a big ADA shop for this sort of thing.
ADA is used largely in military applications, but JPL at any rate has moved away from ADA. Cassini, I believe, would be the last JPL mission that used ADA. And that was largely due to the success of the Mars Pathfinder in the mid-nineties. And as I said, these missions are to a large extent all derived from Mars Pathfinder.
After that successful mission, you say, Hey, we could do it in C now. That's not as scary as everybody thought?
Yeah. Right.
http://en.wikipedia.org/wiki/Pentium_FDIV_bug
Sig withheld to protect the innocent.