Engineers at NASA'sIndependent Verification and Validation (IV&V) facility are examining thefeasibility of reusing portions of old NASA spacecraft systems software for newmissions. One of the goals of the effort is to determine whether using that oldsoftware would actually save the agency time and money.
"There's a lot ofconfusion about this issue," said Lydia Sorenson, director of federalprojects for Global Science & Technology, Inc. (GST) of Greenbelt, Md., thecontractor on the project. "Some people say that it saves money, savestime and decreases risk. And some people say the exact opposite. So that's whatwe're trying to find out."
The work is being done outof the IV&V facility in Fairmont, W.V. For the past two years, GlobalScience & Technology has been examining software reuse at NASA, lookingprimarily at missions that have gone through the IV&V facility for testing.
Software reuse involveslooking back at code used in software for previous missions and then adaptingthe same code for new software, usually for related missions. The practice istheoretically time-saving because the old code already has been through a lotof rigorous testing and quality control measures, but officials also wonder ifit takes as much time to examine old systems as it would to just design newsoftware.
"The dangers of reuseare almost the same as the benefits," said Sorenson. "If you reusesomething, but drastically change the context in which it is used and have tojerry-rig it a lot, [the question is] would you have saved a lot more time andmoney if you had just created it from scratch?"
The process is made easierif the same developer is working on both the old and new software, she added.
NASA has reused software todiffering degrees on missions ranging from its Mars Reconnaissance Orbiter toits Gamma Ray Large Area Space Telescope, according to Marcus Fisher, NASAIV&V facility research and development lead. The project is looking atthese missions, as well as others such as the Solar Dynamics Observatory, DeepImpact and the Earth Observing 1, Fisher said.
During the current phase ofthe IV&V project, Global Science & Technology is designing a"genealogy" of sorts, which compares programs that have re-usedsoftware 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 reuseinto two categories: black box and white box.
"Black box" reuserefers to when a component is incorporated completely without making anychanges to it. White box reuse means that software was adapted in some waybefore being re-introduced.
Software is sometimesdesigned for NASA with future re-use in mind, and sometimes it is done on an adhoc basis, Orrego said.
The scientists are stilldrawing conclusions on whether the products that incorporate re-used code arebenefiting NASA, Orrego said, adding that those conclusions should be comingshortly.
The first two phases of theproject cost less than $300,000, but phase three of the project, set to beginJune 14, will probably cost about $800,000, according to GST spokesman JohnDahlia.
During the final phase,which will begin June 14, the company will look at potentially developingsoftware 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 tofuture NASA missions.
Sorensen said that thefinal page will involve trying to help NASA develop new processes andprocedures to better equip them for analyzing software to see if it is acandidate for reuse.
Software reuse has been acommon practice at agencies and businesses since the early 1990s, according toJeffrey Poulin, chief engineer for Lockheed Martin Distribution Technologiesand the author of the book "Measuring Software Reuse: Principles,Practices and Economic Models." Poulin said the practice at first wasfocused on reusing low-level software components, and since has shifted to theuse of larger amounts of code that encapsulate more functions.
Poulin said NASA is a goodcandidate for the practice because its software would be related closely enoughto require little adaptation.
NASA's best strategy,Poulin said, would be to invest in software that is calibrated for future reusefrom the beginning, even if it is more expensive initially.
According to Poulin, whileit might cost 50 percent more to develop software with reusable components,usually reusing software will save you around 80 percent in labor costs,meaning there is a clear overall savings.
"It doesn't takehigher math to see that if you build it once very well and use it twice, you'vealready shown a benefit, and every time you reuse the component, you show abetter benefit," Poulin said.
Additional software reuseevaluation and research also is taking place at NASA's Goddard Space FlightCenter in Greenbelt, Md., Orrego said.