High-Level Architecture
Multicore |
---|
Configuration |
Ongoing Efforts |
Proposals & RFCs |
Background |
For developers |
High-Level Architecture (HLA) is a general purpose architecture for distributed computer simulation systems.
Rather than have the entire simulation within a single executable, the simulation is split into different Federates, which interact with each other by a Run-Time Infrastructure (RTI), with federates typically running in their own threads/processes.
There are three big advantages to this over a monolithic simulation (e.g. FlightGear V3.6):
- It provides a robust environment to make the simulator multi-threaded, taking advantage of computers with multiple cores, or indeed running different parts of the simulation on different computers.
- It allows us to split out parts of the simulator such as the FDM and Renderer from each other and less time-critical sub-systems such as weather so that we can get consistent (and perhaps higher) frame-rates.
- It provides a very good framework to allow anyone to create components that interact with FlightGear, which may be running in their own threads, and reside in separate binaries[1], which will be also easier to debug/troubleshoot (think regression testing).
Stuart has started work on re-architecting parts of FlightGear to use HLA, though this is expected to be a multi-year project. Anyone interested in the current status of development should subscribe to the Flightgear -devel mailing list.
For additional information, please see:
- Technical_Reports#A_New_Architecture_for_FlightGear_Flight_Simulator
- FlightGear HLA support (High Level Architecture)
- FlightGear CIGI Support (Common Image Generator Interface).
External links
- High-level architecture (simulation) on Wikipedia