SAN FRANCISCO
— The
NASA
Ames
Research
Center
team responsible for figuring out how agency officials can keep track of problems that crop up during design and development of every facet of the Moon-bound Constellation program has turned to an unusual solution: open-source software.
In the past, corporations and government agencies either bought existing software packages or hired teams of computer programmers to write custom software to meet their specific needs. When members of the Human Computer Interaction Group at
were tasked with developing a Problem Reporting Analysis and Corrective Action (PRACA) system to support Constellation, they began by evaluating commercially available products and open-source software.
“Many problems are very specific to NASA,” said Irene Tollinger, mission assurance leader for the
Ames
team in
Mountain View
,
Calif.
“But car manufacturers do problem reporting. Power plants do problem reporting. We decided this would not be a good place to start from scratch.”
After reviewing their options, the
Ames
team chose Bugzilla, an open-source software program developed by the Mozilla Foundation, also in
Mountain View
, because it provided the type of data entry that NASA officials needed in addition to offering users the ability to search through the database for information on specific topics, said Guy Pyrzak, an
Ames
research computer scientist.
Bugzilla
is designed to track defects in a wide variety of applications. Unlike software purchased online or in a store, Bugzilla is an open-source product, which means its source code is publicly available. Bugzilla users can modify the software for their own use, suggest improvements to the standard program and share their experience with an online community of people also working with Bugzilla.
“We certainly have added NASA-specific capability,” Tollinger said. “But we started with a good deal of existing and extendable capability.”
Bugzilla
provides approximately 80 percent of the software needed for the
Ames
team’s effort to develop a PRACA system for the Constellation program. The team supplies the remaining 20 percent of the code, Tollinger said.
The decision to modify an existing open-source software program instead of creating their own software has produced enormous benefits in terms of cost and schedule, said Alonso Vera,
Ames
assistant division chief for human systems integration. Vera said he could not provide a specific figure for the cost of the Constellation program’s PRACA system because it is part of a much larger mission assurance systems budget, but said the program is an order of magnitude less expensive than it would be if the group wrote all of its own software. “The bottom line is that we’ve been able to provide these systems at an annual cost in the tens of thousands [of dollars] rather than in the hundreds of thousands,” he said.
The Human Computer Interactions Group at
Ames
consists of 15 people. “We would need 50 people if we were writing all this code from scratch,” Tollinger said.
The group issued the first version of Constellation software in 2007. It continues to revise and improve that PRACA system to reflect changes occurring in the design and development of the Constellation spacecraft and component parts. “As the Constellation program evolves, we need to evolve capability,” Tollinger said.
While the complete PRACA system designed to meet all NASA requirements is not scheduled to be completed for three years, contractors and space agency officials already are using the initial version of the system to track hardware, software and process problems. It will be used to record everything from minor mistakes, such as holes drilled incorrectly, to severe problems that arise during development and testing of the Orion Crew Exploration Vehicle and its Ares 1 rocket, Tollinger said.
By creating a single problem reporting system that will be in place throughout the Constellation program, the new software will make it easier for mission planners to diagnose and resolve problems. This was more challenging on the space shuttle program because the data was spread across multiple databases, Vera said. To address the issue, space shuttle program managers have been updating their own problem-reporting system during the last few years, he added.
The Constellation program’s PRACA system is designed to help NASA officials detect any serious problems and spot trends. If failures are categorized consistently, engineers will be able to predict future failures as opposed to simply responding to them, Tollinger said. For example, engineers would be able to see that when a certain valve fails to close, three additional problems are likely to result.
The
Ames
computer team also used the Bugzilla open-source code to develop a new database for the international space station called Items for Investigation. That system, which is designed to keep track of any issues that arise during flight, from a loose handle to a burnt-out light bulb, was deployed last fall, Vera said. The group also is developing a problem-reporting system for the space shuttle. However, it is unclear whether that system will be adopted.
“There aren’t many shuttle missions left on the manifest. That has made the decision of whether or when to introduce a new system difficult,” Vera wrote in an e-mail. “The thing that is certain is that all space shuttle orbiter data will be place into the PRACA system in order to make it available to Constellation as legacy data.”