The push for open standards in software development is going extraterrestrial.
For the James Webb Space Telescope, the Hubble successor scheduled to launch in 2013, NASA has mandated use of a standardized development tool and methodology. IBM announced Friday that its Rational Rose Real-Time modeling software is being used throughout the project to link the work of more than 50 developers from various agencies.
IBM's software is a Unified Modeling Language (UML) tool for visually modeling software artifacts and creating blueprints for complex development projects. As developers create their assigned pieces of the new telescope's software systems, the project's leaders can drag-and-drop component code into the master project.
The approach is sea change from the heterogeneous development used for the Hubble Space Telescope, which resulted in a patchwork of hard-to-maintain components coded in an assortment of languages and styles. It's also a vivid illustration of how modern, standards-based development practices are easing the complexity of code-intensive projects.
"Everything [for the Hubble] was completely, 'Do your own thing and deliver it,' " said Glenn Cammarata, a lead developer on the James Webb Space Telescope and a veteran of Hubble maintenance work. "The pieces would get delivered to Goddard [Space Flight Center], and the integration team would take over the software. There'd be a piece in C, one in assembly, one in C++ -- it was a mishmash."
Cammarata, a principal with NASA contractor Satellite Software Corp., is the development lead on the new telescope's Integrated Science Instrument Module, the central brain linking together its instruments and control systems. The project entails around 200,000 lines of code created by dozens of programmers. The contributing organizations include the European Space Agency, NASA's Jet Propulsion Laboratory, the University of Arizona and the Canadian Space Agency.
The new development methodology leaves the Hubble's in the dust, Cammarata said. Connecting C++ components in IBM's Rational tool makes for more easily deciphered source code, and the tool enables developers to test, debug and maintain components at the model level.
Though IBM is disclosing its Webb telescope work this week, the project has actually been going on for more than three years. Developing the project methodology, pushing the tools out to all of the development agencies, and getting everyone up and running took extensive planning, Cammarata said. His team will continue working right up through the telescope's launch in eight years, and he estimates that the work is "80 percent done" on the software side.
An IBM spokesman said the Webb telescope project marks the first time he's aware of that NASA, a frequent IBM client, has used Rational Rose Real-Time software. The Webb telescope seeks out traces of light from the first stars formed after the Big Bang, and other stargazing projects will be drawing on IBM's technology, such as a Dutch astronomy lab project using one of IBM's Blue Gene supercomputers to study distant cosmic radio signals.