Shocked!
I'm genuinely surprised some wag (original meaning, not a stupid EFA players wife) hasn't said the now annoying phrase. "ah but can it run Vista/Crysis"
US aerospace heavyweight Northrop Grumman has revealed some details of a planned upgrade to the computing system of the famous B-2 Stealth Bomber, one of the most expensive and unusual aircraft in the world. According to reports, the well-known but seldom seen ghost bomber will be finally moving up to Pentium processors and code …
It will all end in tears. I get the feeling this project is going to become a feature article over at the Daily WTF.
Switching from several redundant systems to one? Check.
Rewriting mission-critical code in another programming language? Check.
I predict the B2 fleet will be transformed into a series of smouldering holes in the ground and several extremely expemsive gate-guards.
Of course it's running outdated kit - it NEEDS to be reliable!
Can you imagine it "I'll send you a patch now" "Oh bugger, you've introduced a new bug that's swapped the X and Y axis"
Let alone the concern that a modern processor located in the wings could suffer a fan failure leading to overheating, right next to the fuel tank.
I'd stick the the 486SX processors personally, with code from that era so it doesn't run like a dog (imagine running vista on a 10 year old machine compared to windows 95 on same machine)
It is understandable that the USAF might have to reconsider their choice of programming language and switch to more modern languages.
But C?!
C isn't exactly reknown for being a forgiving language, and it has at least 1024 ways of doing really bad things in a single line of code, really interesting choice of weapon if I might say so. Why not a safer langue like eg. Eiffel with design by contract and automatic garbage collection?
Or maybe the pilots simply like to live on the edge, and they wouldn't hear of anything that might imply the use of the word safety?
33 MHz, 128 Mb RAM for onboard embedded systems. That's to get the probe across the solar system and through the Martian atmosphere then functioning on the surface, although I suspect the challenge of keeping a fundamentally unstable aircraft flying, invisible and fighting is a bigger one.
http://news.oreilly.com/2008/07/the-software-behind-the-mars-p.html
"It seems that the current OFP was written in a now-obsolete programming language called JOVIAL. Northrop are proud to announce that they have figured out how to translate the code into a "newer, more modern programming language called C"."
I'm with the others on this one. I like C but if they're gonna switch to another language for an airplane, it should really have been ADA.
For a good tour of the scary things you can do with C, check:
http://www.de.ioccc.org/winners.html
Actually, I've seen things close to that bad in real life, from people that didn't do it deliberately. I'm not joking.
I wouldn't be surprised if it wasn't a myth. Here at the power station I work in we eBay'ed for old IBM PC's so we had spares for the turbine control system in the control room should the pc in the desk go pop. Japan doesn't keep spares it seems....
Similar situation in the nuke's I'm told, they replace like for like, so they're running god knows how many years old tech :)
I thought the reason NASA continued to use older processors is that they are less susceptible to cosmic radiation? The problem with newer processors being that the pathways are so close together that the radiation can cause electrons to jump causing unpredictable results. So it would probably make the shuttle more of a death trap if 1+1=23413
To be fair, all the "innovation" we see as home users is a bit of a myth anyway. Apart from computer games and synthetic benchmarks, when did you last see a performance increase in an application??
I am kinda surprised they're switching to a central unit but I'm guessing where it says "we will use one circuit board to do this job" it really means "this one board will do this job, we'll also install 2 spares just in case"
Still, with all these upgrades, I wonder if they'll have the budget left over for cable tidying and those all important CCFL tubes?
well we've had Windows for Warships, I guess this is Windows for Warplanes.
Pilot: Navigator, are we anywhere near the target yet?
Nav: Sorry, chief just rebooting from a BSOD
Pilot: Have the enemy spotted us y.............
Paris, becasue she REALLY knows her way around a mission critical system
Here's a story in The Register from 1999 - without paragraph breaks - about how the Hubble space telescope was upgraded from a 386 to a 486:
http://www.theregister.co.uk/1999/12/27/hubble_telescope_gets_intel/
I assume the 486 is still up there, and that if humanity is destroyed in a nuclear war, and aliens visit in the near future, they will assume that we were a little bit backwards and old-fashioned.
Mind you, it works, which is more than can be said of unemployed people and broken things.
Errr, the shuttle doesn't use anything as recent as even a 286. NASA was buying up old kit on eBay because the Shuttle's booster monitoring systems are based on the Intel 8086 - 16 bits but maximum clock speed of 5 MHz and long out of production.
The 8086 was released after the IBM PC-XT (8088, 8 bit bus, 4.77 MHz clock) but preceeded the PC-AT, which used the more modern 286 chip and initially ran at a blistering 8 MHz.
There are advantages in using these old chips for space flight: each transistor is so big that the cpu needs to be zapped by an unusually powerful cosmic ray to make it fault.
The main reason for using old kit on mission critical systems is that you know what all the bugs in the hardware (and compiler) are and if they haven't been fixed, you know how to work around them.
Once you have proved your code to be correct, then you (hopefully) can guarantee that your system works as expected.
I can see the pain of the translation now:
try {
takeoff();
}
catch { //TODO }
try {
flying();
}
catch { //TODO }
/*
*** reserved for ah-64 not in this build.
try {
friendlyfire();
}
catch { //TODO }
*/
try {
landing();
}
catch { //TODO }
/*
this handles a crash if needed after SP1
try {
crash();
}
catch { //TODO - Pilots }
*/
... cause you know they will!
I read only the other day that Intel gave the IP for the pre-MMX Pentium to the US defense once they were done making them. Recently Intel have asked for it back, with improvements since the military folk have debugged it some more.
The reason they are probably using C will be due to compiler and if they are using a COTS RTOS. Ada is supported by gcc, so if there is one t's probably not *NIX. Note that M$ don't do an RTOS, and this plane would need the real time functionality.
JOVIAL = Jules' Own Version of the International Algorithmic Language
Actually devised for miitary/defense/realtime systems, iirc. Very few implementations. Then-Burroughs (now Unisys) had started writing a JOViAL compiler for their B6700 system, but it stalled at a drawer or two full of punch cards. You know, those 2' or so long drawers we used to keep our punched cards in between bouts of chasing pterodactyls down the street to have for lunch.
Saw this torso once at Burroughs HQ in Detroit.
Ah, the memories.
"The 8086 was released after the IBM PC-XT (8088, 8 bit bus, 4.77 MHz clock) but preceeded the PC-AT, which used the more modern 286 chip and initially ran at a blistering 8 MHz."
Actually the 8086 was released before the 8088. It's just that when IBM got around to designing the IBM PC, the 8088 was the easier/cheaper option because of the 8 bit data bus.
Given what we know about the P4, I seriously hope it's a P3 or below. The P4 simply added heat, energy required, and slowness. Many of my own calculation routines using standard ADD/SUB/MUL/DIV perform noticeably slower on a P4 than a P3. I haven't worked with floating-point, so I can't say anything there.
As for the people questioning why use old technology, I would counter with "Why not?" Just because a Core 2 Duo or Athlon 64 X2 is available doesn't make it the best tool for the job. If I need to light a candle, sure, a flamethrower would probably do the trick, but it's what we call "overkill".
re: Modernization?
"Why not a safer langue like eg. Eiffel with design by contract and automatic garbage collection? ... Or maybe the pilots...wouldn't hear of anything that might imply the use of the word safety?"
Are you actually implying that "automatic garbage collection" is "safe"? I don't work in C, but even accepting as true all the bad things people say about it, any "automatic" processes cannot possibly be considered "safe". When you're talking about keeping planes in the air and controlling weapons, you need 100% control, nothing more, nothing less. Executing any code that is not in the source is unacceptable, as is deviating from the source in any way. When lives are hanging in the balance, and the difference between life is death is measured in milliseconds, you can't trust that the "automatic garbage collection" won't release something at the wrong time, or that "automatic" processes won't be running and thus delay execution of the actual program code.
> Flight International reports that the IPU will use "Pentium class" processor chips
From the prophecies of Nostradamus ..
Near the gates and inside two cities
Will be TWO FLAWS, and nobody noticed it [from] INTEL
Hunger, pest inside, by steel people thrown out
Cry for help to the great immortal God.
http://alumnus.caltech.edu/~jamesf/pentium.html
Intel only stopped making the 386 in september 2007. They are used for highly critical systems like this because they have known failure rates and failure states. pretty simple really. its not that they dont need the power, they need systems that have had 10+ years of testing.
33Mhz is plenty fast enough for an embedded system as they dont have to run an operating system or complicated device drivers. Lots of the code is written in assembly and doesnt do much more than run timers and change outputs.
Yes, the chip in my 5 year old phone is more powerful, but my old phone has 100 times more functionality.
Hmmm , those poor old generation one subsonic stealth aircraft which are not invisible on the old style Woodpecker CB band OTH radars for some reason due to angles of incidence and reflection laws of physics must be getting very close to airframe flight expiry hours when then start to fall apart in the sky like the old Comet generation one Jet Passenger Aircraft back in the fifties !
The reality is that basically like the space shuttle , older technology used to build it is no longer available as new parts due to the march of time and the destruction of sub industry contractors and is only available at a good used electronics disposal store in always in the next suburb !
Converting one of those soon to expire airframes with fly by wire with very questionable tolerance to the latest generation EMP pulse devices will be a nightmare of epic proportions !
Still one wonders , will they keep the control column chicken switch that was installed after a number of rather dumb flying accidents that has happened in the past due to spatial distortion effect and over long pilot flying hours induced tiredness along with some equally stupid training routines thought up by non pilots flogging their brain dead theories whilst simultaneously ignoring all that was learned in a conflict in the past century ?
Choices will be very interesting indeed ?
Ha Ha Ha, listen to all the geniuses!!
First, try building yourself a B-2 bomber and then maybe you can tell them what computer language or CPU they should really be using. Half of you would probably struggle installing a new light switch in your house.
It kills me when I see all these junior IT guys criticizing people and companies who have created something far beyond what has been done before.
The worst part is that it's usually just their own ignorance of the factors involved in the decision.
You guys are funny though, I'll give you that.
Even further back than the B2, the aircarft used for shuttle training was a Guldtream (G2 i think) with an IBM 36 acting as a sort of FBY system to give the Gulfstream the approach charactaristics of the shuttle. If I remember correctly it deployed the thrust reveresers in flight to give it the apprporate glide angle.
Is there anybody at their company which can really _write_ and _read_ C? C is one of the more complex languages. You really need to think in assembler to understand even the simplest problems.
I wonder how those projects started in C++ cope. There are maybe a hundred people in the world who know the current incarnation of C++, the language it takes you 5 years to learn, but changes fundamentaly every 4 years.
Pilot: Ohhhhhh, Shit! (Initiates EJECT sequence)
WfW: You appear to be trying to eject Are You sure?
Pilot: Arrrrrrrgh! (clicks YES)
WfW: Are you really sure?
Pilot: FFS! (clicks YES)
WfW: This procedure will require a restart - continue?
Pilot: Oh my Go........
Yup, that's GOT to be a winner for M$
It used to be Fuzzy Logic that would solve these problems, even my washing machine came with it. Fuzzy logic in restructurable flight control systems, approach to multidimensional target tracking, in Fire Control and Bombing Systems.
Humans decide what to do, machines attempt to do it and have some fine tuning freedom. Suppose with AI as well, the computer could follow the options right to the very edge of it's experience and save the plane by some odd manouver no human could possibly react , control or envision in time.
Same with extending a burst of fire by a second, after noticing the target is tracking away or whatever they call it. Not a computer deciding to attack, just extending or prempting or shifting, basically interpreting what the ultimate aim is. Such as in Nuclear War where "it" destroys itself as the best option.
"The B-2's flight-management computer, without which its unstable low-observable flying wing airframe cannot fly"
Everyone here (including the author) seems to be under the impression that the flight management system is what flies the aircraft.
It isn't - something that should be obvious to anyone with even a little knowledge about aircraft.
The flight management system automates previously tedious tasks like plotting and managing your route, how much fuel you need etc. Presumably it is being upgraded to make the B-2 more flexible in the modern, rapidly changing, battlefield. It doesn't matter what language you use to write it, as long as it is tested and gives the required level of availability. After all you can always turn it off and use pencil and paper.
The flight control system on the other hand does not need a performance upgrade, it already works and is already qualified. Nor would they ever dream of replacing a redundant flight control system with "a single board"
This is very typical and perfectly normal.
Firstoff, very old CPUs like the 486 or Pentium are more than capable of doing everything a B-2 needs. These are, seriously, really powerful processors that can do a lot of useful stuff. It's incredibly amateur to judge a system by asking if it can run Vista.
What matters to a CPU in military and space is hardening. The manufacturing. It has to be able to handle extreme environments. Look up the RAD750.
As for C:
There are a thousand ways to hang yourself with C... If you're an idiot. They don't put monkeys with keyboards in charge of programming the B-2. If you can't handle doing C safely, than you don't have a chance of programming the B-2's systems in any other language.
Now, some have suggested automatic garbage collection. The problem is that this is a real time system that absolutely must perform in a ~predictable~ manner.
Automatic garbage collection introduces an unpredictable aspect into the system.
REAL programmers don't like surprises.
And you know who else won't like surprises? Two crewman over the middle of the Atlantic.
...but it will come with additional requirements depending on how much "assurance" you want to get out of it: for example, no dynamic memory allocation, verification of generated assembler code, verification by independent teams, etc. etc. etc.
For comparison, allowed languages for ESA's Galileo System (Ground and Space):
Can be used in software where failure is abolutely not an option ("Software Development Assurance Level (DAL) A, B and C: "), (with additional requirements which blow the cost of a few lines of code into the stratosphere):
....Ada, Assembler, C
Can be used in software where failure leads to harsh language ("DAL D")
...Ada, Assembler, C, C++
Can be used in software where failure leads to an LED waking up the Janitor's dog:
...Ada, Assembler, C, C++, Java
I remember being involved in a simple conversion exercise like this for a command and control system. Trivial.
Except for the fact that the old language relied upon 8 bits and the new fangled one used 16 bits so there was no data continuity and none of the automatic translation could be relied upon. I got involved when it was discovered half way through the exercise that a complete rewrite was required!
I am currently available!
The B2 was officially shown to the public about 1988 so they must have had prototypes and working models flying for a good 5-10 years before that meaning the aircraft was designed and built with technology from that time. The first intel Pentium did not come about until the 90's.
When it was first designed it was probably using the latest most cutting edge processor.
they want to put in what into what?*LMAO*
so pushing the envelope will be extra fun for the test pilots?
i think it would be better if they put playstation 3 hardware and os into that thing. besides it would last longer and more than likely outlive the plane itself...
think of money they could save $400 for hardware (ps3) and some os writen in open source(of your choice) with testing about 25k and up. install run done
(rumble controler optional at $50 bucks each)
ohh wait it will never happen why ? it does not cost high enough!
Never mind the damn computer, it's the sound system that really matters. That plane could with with something really special. Kenwood 4 KW power amps. 64 12" woofers and 6 cubic-metre subs. 42 piezo midrange/tweeters. All power-mosfet amplification. Power derived direct from the engines with a turbine. Finally a 20 TB mp3 music store running mp3blaster on a Slackware box as the front end. Current music selection: Track 1: Led Zep - "Kashmir". Track 2: Captain Lockheed and the Starfighters: "Ejection". Track 3: Hawkwind: "Time we left this world today". etc...