AdaIC News Spring/Summer 1996

Ada and Reuse Successes

Ada and Reuse --A Partnership Paying Dividends for NASA Satellite Simulators

| Success Reflects Investment | Building on Success |
| Conclusions & Future Directions | Full Report |

Satellite Graphic
With verbatim reuse, the benefits in saving time and money multiplied exponentially throughout the system's lifecycle

by Ann Eustice Brandon

Success Reflects Investment.

When a FORTRAN shop at the National Aeronautics and Space Administration (NASA) turned to Ada with the goal of reusing software for future projects, the initial result was like a carpenter trying for the first time to build a house of brick. Not only did they need different tools and materials, but they had to rethink the whole design process.

While some benefits were reaped early, the full benefits would come only after developing a couple of telemetry simulators. When they came, they were impressive:

For a 1994 simulator of 52,000 source lines of code (52K SLOC), there was overall reuse of 97% from pre-existing libraries. Three-quarters of the code was verbatim reuse -- reusing a component without altering it. The error rate was .1 per KSLOC.

Building on Success

The FDD builds telemetry simulators to support development and testing of spacecrafts' Attitude Ground Support Systems (AGSS). Simulators model spacecraft attitude sensors, and are used before launch to test the AGSS. They also provide data on the AGSS's operational simulations and training exercises.

The 1994 effort was the Total Ozone Mapping Spectrometer -- Earth Probe (TOMS-EP) Telemetry Simulator (TOMSTELS). It was developed by the Flight Dynamics Division (FDD) at Goddard Space Flight Center (GSFC).

Written in Ada, TOMSTELS was a success by any standard. The launch deadline for the spacecraft was met even though work on TOMSTELS had to be suspended for four months after its detailed design stage. Performance requirements were that it was to be ten times faster than real time (10:1). Its time ratio was 13:1.

High performance, low error, heavy reuse, built within a tight timeframe -- that did not happen by accident. Success began some six years before. TOMSTELS was preceded by projects that racked up records just as impressive -- because GSFC realized that reuse is more than just grabbing code modules and using them again.

Beginning in 1988, with the Upper Atmosphere Research Satellite (UARS) Telemetry Simulator (UARSTELS), the FDD went beyond merely reusing Ada code; systematically, they began building for reuse. By depending heavily on Ada generics, the team established a foundation of software that in subsequent projects led to dramatic reuse rates, such as with the telemetry simulator TOMSTELS.


UARSTELS was not the FDD's first experience with either Ada or reuse. Its first operational Ada software had been the Geostationary Operational Environmental Satellite-I (GOES-I) telemetry simulator (GOESIM) -- which had had 29% overall reuse and 12% verbatim reuse. The FDD wanted to go beyond that, however. They wanted to combine two new technologies -- Ada and object-oriented design (OOD) --

into reusable software, which they hoped would simultaneously improve the software and reduce the cost of developing their satellite flight-dynamics systems. UARSTELS and several subsequent telemetry simulators were the first to emphasize software reuse through Ada under object-oriented design.

The UARSTELS development team sought to reuse software verbatim whenever possible, because the benefits in saving time and money multiplied exponentially throughout the system's lifecycle. Each component that could be reused without alteration did not have to be redesigned, redocumented, rewritten, retested, or maintained separately. By examining previous Ada projects, the team realized that generic components were best able to be reused verbatim, since they are designed to meet the common requirements of more than one application.

In the detailed design phase, the team decided that all new and modified components were to be generic whenever they might be reused both on the present and future projects. While designing generic components required more time up-front, the engineers knew they could be reused in developing the UARSTELS software itself.

Despite introducing the radically new design criteria, they assumed -- correctly -- that they could meet the schedule and budget constraints by immediately reusing the generic components. Additionally, the team added to the FDD's software capital, and would save the organization both long-term time and effort, since the components could be reused verbatim in many future telemetry simulators. UARSTELS' benefits for other projects were felt almost immediately.


The Extreme Ultraviolet Explorer (EUVE) telemetry simulator (EUVETELS) was developed almost concurrently with UARSTELS. The EUVETELS team initiated an informal domain analysis for both projects, to identify the projects' common elements and how best to generalize reusable components. Examining both simulators helped to create a generic architecture and OOD that isolated system functions and corresponding data. The components ran only a narrowly defined part of the simulators, and would not start an unpredictable domino effect throughout the rest of the system.

UARSTELS' truly generic subsystems were subsequently reused verbatim in EUVETELS. The engineers designed the subsystems with the beneficial advice of GOESIM developers, who attended informal walk-throughs of UARSTELS' detailed design phase.

Finally, the engineers facilitated the future reuse of the UARSTELS components by placing mission-specific telemetry information in a telemetry packing control list file. Engineers reusing the software can define telemetry formats in a separate text file, created with any editor.

As a result of all these steps, UARSTELS met its explicit project objectives of delivering within budget and on time (the project ran from Feb. 88 to Dec. 89) an operational simulator that maximized reuse both within itself and for future simulators.


The Small Explorer-Mission 1 (SMEX-1) Solar, Anomalous, and Magnetospheric Particle Explorer (SAMPEX) Telemetry Simulator (SAMPEXTS) development program ran from April 1990 to March 1991. Because it reused a significant amount of the software and documentation from both UARSTELS and EUVETELS, the SAMPEXTS project saved six staff months from the estimated time and effort for its completion. It also had a high rate of productivity, 6 developed source lines of code per hour (DSLOC/hr.), which compared favorably with the average for Ada projects of 4.5 DSLOC/hr., and with the average rate on the UARSTELS and EUVETELS simulators of between 3 and 4 DSLOC/hr. Also, the team combined the preliminary and detailed design phases, further reducing the staff time needed to complete the project.

Altogether, the 32K of non-comment, non-blank lines cost slightly more than one-fifth of a brand new system of comparable size.

Conclusions & Future Directions

All these projects contributed to TOMSTELS. In TOMSTELS' initial design phase, the GSFC software engineers identified reusable components in SAMPEXTS, and POLAR/WIND Telemetry Simulator, and UARSTELS. They also assembled components from these into a prototype of TOMSTELS to verify key performance requirements.

Since 1990, the FDD has built simulators using in Ada with significant verbatim reuse as its standard approach. A recent NASA report sums it up: "Through exceptionally high levels of reuse, telemetry simulators now cost 40% less to produce, are delivered in 50% less time, and have 85% fewer errors during development when compared with the 1985 baseline for these systems." ("Impact of Ada and Object-Oriented Design in the Flight Dynamics Division at Goddard Space Flight Center", by Sharon Waligora, John Bailey, and Michael Stark; Software Engineering Laboratory Series, SEL-95-001, March 1995).

With verbatim reuse, the benefits in saving time and money multiplied exponentially throughout the system's lifecycle.

The Full Report

The copy of the report from which this article is extracted is available from the ReuseIC, in hardcopy or in .pdf format via:

Eric Booth of Computer Sciences Corporation contributed most material necessary to produce the full report; Mike Nash of the Institute for Defense Analyses provided his original success story, investigative notes, and briefing slides. preparation of his material was sponsored by the Management Issues Working Group (MIWG).

        Back                    Contents                    Next