Abstract

Frameworks represent a collection of classes that provide a set of services for a particular domain; a framework exports a number of individual classes and mechanisms which clients can use or adapt. This paper presents an overview of an object-oriented (OO) framework that can be used both in an interactive mode from a desktop, or to support hard, synchronous, pilot-in-the-loop realtime aircraft simulations. The abstractions used and the benefits of object technology in this environment will be discussed. The framework described in this paper has been adopted at NASA Langley Research Center (LaRC) as the basis for all future real-time aircraft simulations. Introduction The decision to shift the real-time simulation environment from procedural FORTRAN to OO C++ was made after serious consideration. To provide insight into this decision a brief history of the evolution of real-time simulation at LaRC over the last eight years is in order. The legacy real-time simulation environment at LaRC was procedural FORTRAN and involved the use of several (more than six) separate software repositories. Each repository was optimized to support a specific type of research using a different simulator cockpit. Repositories were independent of each other with different variable naming conventions, COMMON block structures, or functional breakdown. The fact that each repository was its own separate 'Senior Member, AIAA Copyright ©1998 by the authors. Published by the American Institute of Aeronautics and Astronautics, Inc. with permission. development environment made it difficult to move personnel from project to project due to the learning curve involved. Few (if any) developers fully understood all of the repositories. It was difficult to balance the workload across a limited development staff as the number of airplanes active in each repository fluctuated. Moving code from repository to repository was difficult. Significant modification and testing were required to move an aircraft model to a different repository. In the past it was felt that these costs were acceptable as development was being done on hardware that had limited memory and processing power. In the early 1990s LaRC began to invest in multiprocessor hardware platforms with relatively large amounts of memory and computing power. As these machines became operational, discussions began about consolidating repositories in order to have a more unified environment. This resulted in a project to consolidate the FORTRAN repositories. The resulting repository was capable of meeting LaRC simulation requirements with one exception, it could not support multi-vehicle simulations. Multivehicle work was supported by a separate repository that used dimensioned state variables to allow up to three vehicles to be simulated simultaneously. This repository supported distributing the simulation over two CPUs. The decision to maintain a separate repository for multi-vehicle work was due to a reluctance to impose the complexity of dealing with dimensioned state variables on single vehicle projects.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call