Engineers at NASA’s Independent Verification and Validation (IV&V) f acility are examining the feasibility of reusing portions of old NASA spacecraft systems software for new missions. One of the goals of the effort is to determine whether using that old software would actually save the agency time and money.
“There’s a lot of confusion about this issue,” said Lydia Sorenson, director of federal projects for Global Science & Technology, Inc. (GST) of Greenbelt, Md., the contractor on the project. “Some people say that it saves money, saves times and decreases risk. And some people say the exact opposite. So that’s what we’re trying to find out.”
The work is being done out of the IV&V facility in Fairmont, W.V. For the past two years, Global Science & Technology has been examining software reuse at NASA, looking primarily at missions that have gone through the IV&V facility for testing.
Software reuse involves looking back at code used in software for previous missions and then adapting the same code for new software, usually for related missions. The practice is theoretically time-saving because the old code already has been through a lot of rigorous testing and quality control measures, but officials also wonder if it takes as much time to examine old systems as it would to just design new software.
“The dangers of reuse are almost the same as the benefits,” said Sorenson. “If you reuse something, but drastically change the context in which it is used and have to jerry-rig it a lot, [the question is] would you have saved a lot more time and money if you had just created it from scratch?”
The process is made easier if the same developer is working on both the old and new software, she added.
NASA has reused software to differing degrees on missions ranging from its Mars Reconnaissance Orbiter to its Gamma Ray Large Area Space Telescope, according to Marcus Fisher, NASA IV&V facility research and development lead. The project is looking at these missions, as well as others such as the Solar Dynamics Observatory, Deep Impact and the Earth Observing 1, Fisher said.
During the current phase of the IV&V project, Global Science & Technology is designing a “genealogy” of sorts, which compares programs that have re-used software to their originating programs to see what was borrowed and adapted.
Software reuse has been going on at NASA to varying degrees since about 1999, according to Andres Orrego, project manager for the IV&V study.
NASA divides software reuse into two categories: black fox and white fox.
“B lack fox” reuse refers to when a component is incorporated completely without making any changes to it. White fox reuse means that software was adapted in some way before being re-introduced.
Software is sometimes designed for NASA with future re-use in mind, and sometimes it is done on an ad hoc basis, Orrego said.
The scientists are still drawing conclusions on whether the products that incorporate re-used code are benefiting NASA, Orrego said, adding that those conclusions should be coming shortly.
The first two phases of the project cost less than $300,000, but phase three of the project, set to begin June 14, will probably cost about $800,000, according to GST spokesman John Dahlia.
During the final phase, which will begin June 14, the company will look at potentially developing software that can automatically detect what code has the potential for re-use. This new software also would be used to determine how re-use can be applied to future NASA missions.
Sorensen said that the final page will involve trying to help NASA develop new processes and procedures to better equip them for analyzing software to see if it is a candidate for reuse.
Software reuse has been a common practice at agencies and businesses since the early 1990s, according to Jeffrey Poulin, chief engineer for Lockheed Martin Distribution Technologies and the author of the book ” Measuring Software Reuse: Principles, Practices and Economic Models.” Poulin said the practice at first was focused on reusing low-level software components, and since has shifted to the use of larger amounts of code that encapsulate more functions.
Poulin said NASA is a good candidate for the practice because its software would be related closely enough to require little adaptation.
NASA’s best strategy, Poulin said, would be to invest in software that is calibrated for future reuse from the beginning, even if it is more expensive initially.
According to Poulin, while it might cost 50 percent more to develop software with reusable components, usually re using software will save you around 80 percent in labor costs, meaning there is a clear overall savings.
“It doesn’t take higher math to see that if you build it once very well and use it twice, you’ve already shown a benefit, and every time you reuse the component, you show a better benefit,” Poulin said.
Additional software reuse evaluation and research also is taking place at NASA’s Goddard Space Flight Center in Greenbelt, Md., Orrego said.