An aircraft dynamics and control model for closed-loop RTCA requirements testing.
This is the copyright work of The MITRE Corporation, and was produced for the U. S. Government under Contract Number 693KA8-22-C-00001, and is subject to Federal Aviation Administration Acquisition Management System Clause 3.5-13, Rights In Data-General (Oct. 2014), Alt. III and Alt. IV (Jan. 2009). No other use other than that granted to the U. S. Government, or to those acting on behalf of the U. S. Government, under that Clause is authorized without the express written permission of The MITRE Corporation. For further information, please contact The MITRE Corporation, Contracts Management Office, 7515 Colshire Drive, McLean, VA 22102-7539, (703) 983-6000.
(c) 2025 The MITRE Corporation. All Rights Reserved.
Approved for Public Release; Distribution Unlimited. 15-1482
This project contains content developed by The MITRE Corporation. If this code is used in a deployment or embedded within another project, it is requested that you send an email to opensource@mitre.org in order to let us know where this software is being used.
Any questions related to MITRE Open Source technologies may be emailed to opensource@mitre.org.
This application needs aircraft performance data in order to propogate the dynamics models. To use this application, you must provide your own implementation by extending FixedMassAircraftPerformance.h. We recommend doing this in a fully separate library and then linking that into this code base.
EUROCONTROL’s BADA v3 as an example of an aircraft performance data set and is what MITRE uses internally with this simulation. Our implementation cannot be publicly released due to licensing restrictions.
This code base is heavily tested internally. Publicly, we test using GitHub Actions. See the ci.yml for details.
No attempt has been made to ensure that this code will compile and run properly on all operating systems. Review the ci.yml to explore what configurations we choose to test. We build like this:
cmake -G Ninja -S . -B build
cmake --build build --target FMACM
The resulting executable will be ./bin/.
Unit tests can be run via the CMake infrastructure. Assuming the software already compiles:
cmake --build build --target run_public_test run_fmacm_test
Run from the terminal. Or compile the libraries here into a larger code base for richer access.
The main entry point provides:
--version: report the build version;--buildinfo: report the build environment;The above command line arguments may not be combined. Use them one at a time.
To run a simulation, a configuration file must be provided as the single positional arguement. The file must be formatted as plain text and contain paths to each scenario that is to be run. An example is provided in ./Run_Files/.
The executable is then executed:
./bin/FMACM ./Run_Files/test-framework-configuration.txt
Data output is found in the run-time directory in the form of CSV files.