Ada 95 Transition Support


1.1 Executive Summary

The Portable Recording System (PRS) Ada 95 rehost effort associated with the Marine Corps Tactical Systems Support Activity (MCTSSA) Air Defense Systems Division (ADSD) Tactical Air Operations Module (TAOM) at Camp Pendleton, California is the first completed Ada 95 project of the United States Marine Corps.

The project consisted of re-engineering an existing multi-language tactical communications support program to an Ada 95 implementation and rehosting the system to new hardware. The entire project, including training, analysis, design, implementation and testing, was successfully completed in 5 1/2 months.

The following statements summarize the major lessons learned while supporting this project:

  • Ada 95 can now be successfully used to deploy a tactical communications support software system.

  • Tool requirements should be identified as early as possible in the project. Alternatives and possible workarounds must be identified for all essential tools not acquired before development begins.

  • Mentoring support was essential through all phases of the project.

  • In a re-engineering effort, timely access to users of the existing system and domain experts should be available throughout the project. This access should be planned and guaranteed at project inception.

All major project goals were achieved.

1.2 Project Introduction and Overview

The Portable Recording System (PRS) Ada 95 rehost effort was conducted at the Marine Corps Tactical Systems Support Activity (MCTSSA) Air Defense Systems Division (ADSD) Tactical Air Operations Module (TAOM) at Camp Pendleton, California.

The PRS is used to extract and record air track data messages from the Digital Data Bus within the TAOM. The old system (Figure 1) resided on a 286 PC connected to its own TAOM Bus Interface Controller (BIC) and wrote to a 9-track tape drive. The BIC is a modified proprietary card that is expensive and not easily acquired. The 9-track tape drives are fragile and unreliable. The software was written in two different languages (C, assembly), posing reliability and maintainability problems. In the PRS project this system has been rehosted to a Sun SPARC 20 workstation (Figure 2). Messages are received from a gateway via fiber optic cable (rather than a direct link through the BIC) and recorded on either disk files or on 8mm tape.

The old system needed to be physically transported to the TAOM site and connected directly to the TAOM. Now, the system may be used anywhere a fiber optic link to a gateway is available. Since the SPARC 20 configuration is already used for many message tracking functions, specialized hardware is no longer required for the PRS.

The software system was developed by ADSD personnel with no previous Ada programming experience. The project was initiated in December 1995. Requirements analysis began in early January 1996, followed by two weeks of Ada 95 training in late January. Primary development occurred from February through May. The system was successfully tested during Marine Corps exercises in mid-June 1996.

1.3 Project Goals

This project was conducted by the ADSD of MCTSSA with the support of The Ada Joint Program Office (AJPO). Additional technical support was provided, through the AJPO, by the Naval Computer and Telecommunications Station (NCTS) San Diego, California.

This section lists major goals of the project sponsors and an analysis of the accomplishments in that area.

1.3.1 MCTSSA Goals

1.3.2 AJPO Goals

1.4 Ada Technology


A significant number of new Ada 95 features were used in the project. These included:

Lesson Learned

1.5 Staffing


The project had one full-time developer through its duration. An additional developer assisted with requirements analysis and the early phases of the project. A third developer, who was also a system user and domain expert, conducted testing.

The primary developer had previous education and experience with Pascal and assembly language programming. He had not programmed professionally for several years. The second developer had experience as a COBOL and database programmer. The third developer/tester is an experienced C programmer and UNIX system administrator.

Due to the short training period, the primary developer naturally needed considerable guidance in establishing the basic structure of a module and choosing data structures. Detail coding aspects, however, were mastered very quickly and little mentoring was required at this level. The developer's Pascal programming background clearly contributed to this success.

The other ADSD team members did not actually develop significant code. However, during requirements analysis and testing they appeared to quickly develop the capacity to read and understand considerable segments of Ada 95 code.

Lesson Learned

1.6 Project Scheduling


The project successfully met a schedule shortened due to external circumstances. The project entered field testing two months earlier than the original planned delivery date. A set of desired enhancements, including a GUI, have been deferred pending tool and staff availability.

Lesson Learned

1.7 Project Management


The prime functions of project management were to agree on schedules and goals and provide required resources. The small size of the development staff made extensive day-to-day management unnecessary.

Lesson Learned

1.8 Mentoring


Full-time on-site mentoring was provided for the duration of the project. The mentoring effort began in mid December 1995 with a visit to MCTSSA to gather information needed to develop the Ada 95 transition plan and project schedule. During late December and early January 1996 the transition plan was developed and arrangements were made to provide Ada 95 training to the project. On-site mentoring support at MCTSSA began in mid-January and continued for the duration of the project. Additional on-site technical support was provided by the AJPO through NCTS in San Diego beginning in mid-March. This support was necessitated by a reduction in TAOM project staffing.

Lessons Learned

1.9 Training


Ada 95 training was provided in late January at Camp Pendleton by Dr. Richard Riehle of Adaworks. The training lasted two weeks. In attendance were the two original developers assigned to the project and the project manager. The instructor and students were both pleased with the training experience and the resulting competence gained.

Lessons Learned

1.10 The Development Environment


The hardware environment for both the development and fielded system was a Sun SPARC 20 with 196 Mbytes of memory and a 4 Gbyte removable hard disk. The operating system was Sun OS 5.3. The compiler was GNAT 3.03. Ada-ASSURED was used as a syntax-driven editor as well as to format source code and enforce style standards. Ada-ASSURED was successfully integrated with GNAT to allow compilation from within the editor.

Lessons Learned

1.11 Software Requirements Analysis


The PRS rehost project consisted of the re-engineering of an existing system. The stated requirements, which were successfully met, were:

  1. Rehost the software to the new environment providing the same functionality as the current system.
  2. Improve the maintainability and reliability of the system through re-implementation in Ada 95.

The resources allocated to the developers to determine specific requirements were the existing source code, a users manual, and a few documents describing data formats. Domain experts and system users were present at the TAOM site throughout the project, but they were not allowed to assist the developers until late in the development process. Access was provided to the system itself, but this was of limited use without access to system users.

Lesson Learned

1.12 Software Design


Due to the short development schedule and the nature of the requirements specification (source code of the old system), an iterative development process was used. For this reason, a formal system design was not created prior to beginning implementation. Instead, requirements were immediately captured in Ada code as they were identified. Then that code was redesigned to make appropriate use of Ada 95 features (as opposed to the "C-Ada" created during requirements extraction). Fortunately, after many weeks the overall structure of the legacy code and the system requirements became clear. At this point, it became possible to develop a fairly compact and elegant design for the system.

Lesson Learned

1.13 Software Integration and Test


Integration of code was simple and immediate. Interfacing with the message gateway was achieved easily using the new Interfaces.C and pragma Import features of Ada 95. Testing was slowed by limited access to gateway facilities required to allow testing with live data messages.

Lesson Learned

1.14 Conclusion

The PRS rehost project successfully introduced Ada 95 development to MCTSSA. No difficult problems were encountered in interfacing the new Ada 95 system with existing hardware and software. The GNAT compiler and other tools performed as expected. Support for X-based GUI development is scarce but should improve soon. The TAOM development team performed well and had little difficulty adjusting to Ada 95 development.