AdaIC News Fall 1996

     Ada &Reuse
CECOM Issues Reusable
Software Catalog

| A "repository" of potentially reusable code |
| The catalog | For further information |

A "repository" of potentially reusable code

In pursuit of efforts to reuse software, it is sometimes easy to overlook the fact that the Department of Defense already possesses probably the world's largest "repository" of potentially reusable code. One organization that is aware of these potential resources is the Software Engineering Directorate (SED) at the U.S. Army Communications-Electronics Command's (CECOM) Research and Development Engineering Center (RDEC).

The SED has been particularly concerned with development of software that is carefully designed, modular, and maintainable -- key factors in reuse. While the SED is making significant strides in efforts to get government and industry to design all new software for reuse, they also recognize the potential opportunity for reusing portions of the vast repository of existing software used in deployed weapon systems that they maintain.

Now other DoD projects will find it easier to avail themselves of those resources. A large quantity of CECOM software can be made available to organizations with a bonafide need, and the SED has created CECOM's Battlefield Software Catalog to give you a look at what's available.

The catalog is accessible via the World Wide Web on SED's Homepage at, or via the U.S. Army Reuse Center Web site, Ø

The catalog

The SED Software Catalog provides an index to deployed CECOM software that can be reused in part or in full for the development and/or evolution of other systems. The catalog contains descriptions of the software applications used in CECOM-supported weapon systems, and is organized by the system functional areas: avionics, command and control, communications, fire support, intelligence/electronic warfare (IEW), satellite communications, tactical communications, and training-modeling-simulation.

For each system, the catalog provides a functional description of the weapon-system application, identification of the system's hardware computer platform, and identification of the host environment. A lower-level breakdown is also provided, which consists of all Computer Software Configuration Items (Computer Program Configuration Items) that make up the weapon system software application, together with the size, programming language(s), and a functional description for each CSCI. Ø

More coming on-line

The catalog is restricted to "deployed" weapon systems that CECOM presently supports, because these software baselines are under government control. Systems under "development" will be added to the catalog as they are accepted and transitioned to the government.

CECOM invites widespread access to this catalog, and welcomes any comments/suggestions for improving its utility. Ø

For further information

Fort Monmouth, NJ 07703
tel: 908/532-2423; DSN: 992-2423


STRIC: A Full-Scale Proof of Reuse and Portability

| Background | Applying the architecture | Changing the platform | Ada's role |

"By reducing the amount of programmers' unscheduled improvisations, the design team was able to recognize in full the benefits of reuse and portability."

By Bjorn Kallberg, PhD, Senior Scientist, CelsiusTech Systems AB

For reuse to live up to its potential, it is not enough to reuse individual code components. Reuse can benefit the entire application universe -- architectures in particular. An example of successful reuse on the level of architectures comes from CelsiusTech Systems AB of Sweden and the STRIC project (Stridslednings-central -- Combat Control Center.) Ø


The STRIC system is a large command, control, and communication system for the Swedish Air Force. Its tasks are fighter-interceptor control and all the additional functions needed in such a system. The first version of the system was delivered, on time, to the customer a year ago. The customer response has been very favorable.

Two further updates are on schedule; the second is just now taking place. The current delivery has approximately 1.3 million lines of Ada code, and the last one will have 1.6M lines of code.

Development of this system involved two interesting challenges: porting a system architecture to a new application area, and porting to a new platform. Ø

Applying the architecture

CelsiusTech had earlier developed a number of ship systems based on the Ship System 2000 system architecture (SS2000), but wondered whether the architecture could also be applied on a system in a completely new application area. During the preliminary design, the answer appeared to be "Yes." It was estimated that more than 50% of the system could be reused.

The degree of reuse varied among the different layers. In the general application framework, the base system, almost everything could be reused. Moreover, much of the application layer also had similar functionality, with a corresponding degree of reuse. Other areas were completely different, offering little or no opportunity for reuse. The table below shows the estimated level of reuse; the percentages listed here document the portion of the delivered code that is reused from SS2000:

Level of Reuse
Command and control 10%
Communications 20%
Man-Machine Interface 80%
Base system 80%

Changing the platform

The other challenge to system design was the change of computer platform. The SS2000 ship systems are based on M68000 processors, running a real-time kernel called OS9; the STRIC system, however, was to be based on a POSIX platform.

Fortunately, the SS2000 was designed to be portable. The application does not directly use the existing operating-system calls, but uses only the base system components, which define a relatively narrow interface. By porting only the base system components that isolated the operating system, the complete application could be ported. An initial project was set up to verify the portability. In less than 1000 man hours, the initial port was done: 400,000 lines of code in 6,000 modules. The porting rate was more than 500 lines per hour. Ø

Ada's role

How much of STRIC's success is due to Ada? While no system is portable or reusable just because it is written in Ada, the use of the programming language has made it possible to ensure that the intent of the system architecture is followed and that no short cuts are taken. By reducing the amount of programmers' unscheduled system improvisations, the design team was able to recognize in full the benefits of reuse and portability.

[This updates an earlier report by Dr. Kallberg, which can be found in Ada-Europe News, October 1994, No. 19, pp. 25-26.] Ø

        Back                    Contents                    Next