This paper presents lessons learned from a Government funded research project to investigate the impact of using Ada for flight simulators. The DOD directive requiring the use of Ada for all mission critical software systems will cause a significant change in the way software is designed in the future. In order to study the impact of using Ada and software engineering techniques, the DOD funded the Ada Simulator Validation Program (ASVP). For the ASVP, simulation software previously written in FORTRAN was redesigned using software engineering methods and coded in Ada. The software was fully integrated and tested to evaluate the usefulness of Ada and software engineering practices. This paper presents the lessons learned by Burtek while redeveloping the software on the Ada Simulator Validation Program.
The four main topics that will be addressed are the design approach, computer system support environment, software maintainability, and training. The discussion on the design approach will address the use of object oriented design for designing real-time software, the role rapid prototyping plays in the design process, and the benefits that were derived from the rigorous design effort. The computer system support environment discussion will cover APSE tools required for developing simulation software as well as the need for operating systems that are specifically designed to support Ada. Software maintainability will be addressed, and special emphasis will be placed on the need for maintainability to be the driving factor during design. Tradeoffs between maintainability and efficiency are discussed, and a word of caution is given regarding the haphazard use of Ada features. Finally, a discussion on training will highlight the need for training in software engineering as well as in Ada syntax. The importance of training in the area of application will also be addressed.