National Airspace (NAS)-wide simulations provide modeling to emulate tens of thousands of flights for full days of traffic in the U.S. They allow system-level research to be conducted for the simulated airspace, and are currently being used by NASA, FAA, and industry to study interactions, costs, and benefits of advanced technologies for the NextGen program. The Airspace Concepts Evaluation System (ACES) is one of these NAS-wide simulations. One of the technologies being studied is separation assurance (SA), which allows prediction of potential collisions or losses of separation to be predicted in advance so aircraft can modify their flight plan to avoid the dangerous situation.
SA algorithms come in many styles and operate under different rules and solutions, and become increasingly complex as they mature. The variety of SA algorithms available makes them difficult to host in a NAS-wide simulation generically. In the past, each SA algorithm desired for study had to undertake a development cycle to modify the core ACES to allow access to information that needed to be known by SA, and to provide functionality to allow the actions directed by SA to be used to manage the changing trajectory of the aircraft being simulated. The SA Framework is a new software service feature to the core ACES simulation that allows client code to have access to information from the ACES core that was previously unavailable through a public interface. It also allows client code to request changes to aircraft flight without having to modify the main simulation code base.
The SA Framework code consolidates the I/O needs for a diverse set of SA algorithms, and extends the ACES core to allow operation of SA algorithms purely as plug-ins to the ACES simulation. The plug-in code can be developed and maintained separately from the main simulation code base, saving the client code developer time and money, and ensuring that the new code doesn’t interfere with the core simulation functionality required by other users. The SA Framework accomplishes this by extending the ACES core simulation to allow previously inaccessible information to be accessed, and previously unmodifiable parameters to be modified. It allows the ACES core code to operate properly whether a user is providing additional SA algorithms or not. The framework takes advantage of object-oriented programming techniques and sophisticated design patterns, and uses a combination of text-based configuration files and GUI browser interfaces to allow the simulation user to select and configure their SA systems. In this way, the SA Framework can be maintained and updated with the ACES core simulation, and specific client SA algorithms can be developed and shared, and can be immune to internal ACES core updates.