January 19, 2007 7:29 AM PST

IBM code to go aloft with NASA space telescope

IBM has won a deal to supply NASA with software to build the James Webb Space Telescope, which is set to launch in 2013 and study the origins of the universe.

A successor to the Hubble Space Telescope, the James Webb Space Telescope will showcase cutting-edge technologies and instruments, including a 21-foot folding primary mirror and a near-infrared camera.

The project will also rely on software, with 200,000 lines of C++ code anticipated to help operate the telescope and gather and transmit data.

James Webb Space Telescope

Rather than write out each line of code, engineers will create a detailed model of the required software, which will act as a blueprint for the entire system. IBM's development tool software from its Rational division will automatically generate the code, according to Big Blue.

The NASA contract, announced Friday, is a validation for modeling standards and the application of modeling in real-time systems, said Grady Booch, an IBM fellow and the chief scientist of Rational. Booch is also a co-developer of the Unified Modeling Language (UML), a variant of which will be used on the NASA project.

"This is a tough software problem. Increasingly, the birds that NASA sends up are very, very software intensive. And it's not like you go up and reboot the thing," Booch said.

Standardization will speed up development time and ease collaboration among the 50 programmers at NASA and the European and Canadian space agencies, he added.

Modeling has been around for several years, and UML was first standardized in 1997. But the approach is still not routinely used because most programmers have not adjusted their methods, said Jerry Krasner, chief analyst of Embedded Market Forecasters.

Krasner advocates UML 2.0, the latest version of the standard, because it makes development faster and makes it easier to change complex systems.

"When I go and talk at places like Detroit (to auto industry people), it's like I'm Moses coming down from the mountain. People say, 'Wow, you can do that?'" he said.

Krasner said his research has found that companies that use modeling can speed their software development by 30 percent for large projects.

The James Webb Space Telescope project is a "good story because it illustrates what's happening...and the power of modeling and code generation," he said.

The telescope's namesake ran NASA throughout most of the 1960s.

See more CNET content tagged:
Grady Booch, modeling, UML, IBM Corp., development tool

3 comments

Join the conversation!
Add your comment
"Krasner...
... advocates UML 2.0, the latest version of the standard, because it makes development faster and makes it easier to change complex systems..."; therefore (as with (VOYAGER: <a class="jive-link-external" href="http://voyager.netlabs.org/dov/" target="_newWindow">http://voyager.netlabs.org/dov/</a> ) this analogy augers well for CASINNI. The way to go IBM!
Posted by Commander_Spock (3123 comments )
Reply Link Flag
So much for efficient
I've yet to see generated code that didn't:

A. Look like crap.
B. Use far more computing resources than custom code.
C. Need a lot of "tweaking" (ie: custom code fixes)

Somebody at NASA just bought a bill of goods.
Posted by extinctone (214 comments )
Reply Link Flag
Re: So much for efficient
Want to see generated code that doesn't look like crap, is efficient and does not use too much computing resources? Come take a look at Oce Technologies. We have been using Rational Rose Real-Time succesfully since 1998. We deployed it on several small processors (16/32 bit) from 40Mhz to 2Ghz. Runs smoothly. Never found ANY bug in the code generated by the tool! My opinion is that NASA has seen the light. Congratulations!
Posted by Ton Janssen (1 comment )
Link Flag
 

Join the conversation

Add your comment

The posting of advertisements, profanity, or personal attacks is prohibited. Click here to review our Terms of Use.

What's Hot

Discussions

Shared

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.