MITRE’s Interval Management Sample Algorithm
TL;DR
This repository contains a C++ library with some tests. It is not an application. GitHub CI is used to build & run tests.
You should be familiar with the FAA’s Flight-deck Interval Management concept. To understand any of this content at a techincal level, you need to also have RTCA’s DO-361A, Appendix C.
For an application that can use this library, see the FIM MOPS Aircraft & Control Model (FMACM).
MITRE is happy to answer questions; please post your questions publicly and we’ll do our best to respond.
Good luck.
![]()
The Legal Stuff
Notice
This is the copyright work of The MITRE Corporation, and was produced for the U. S. Government under Contract Number DTFAWA-10-C-00080, and is subject to Federal Aviation Administration Acquisition Management System Clause 3.5-13, Rights In Data-General, Alt. III and Alt. IV (Oct. 1996). 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 Office, 7515 Colshire Drive, McLean, VA 22102-7539, (703) 983-6000.
Copyright 2020 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.
Licensing
Any questions related to MITRE Open Source technologies may be emailed to opensource@mitre.org
Published Documentation
Official algorithm descriptions are available via RTCA’s DO-361A documentation. Please contact RTCA for more information.
Living Documentation
Living, developer-level documentation is provided on this GitHub site. Here the goal is to provide deeper detail regarding how our code works and how others might use this code to inform their own implementations of DO-361A. All topics assume the reader has access to DO-361A, specifically Appendix C.
-
Big Picture of this codebase – read the context overview
-
Modeling Topics
- Mapping DO-361A Appendix C to published code
- Interval Management clearance types
- Navigation Database/ARINC-424 discussion
- Runtime Frequency considerations
- How does the kinematic trajectory prediction work? – Coming Soon
- Coordinate systems used in the code – Coming Soon
- EUROCONTROL BADA v3.7. Do you need it? – Review the usage guide
-
Code Topics
- Who you gonna call? :ghosts: Read code entry points
- How does an algorithm receive IM Clearance details? Read code entry points
- How does an algorithm receive a new aircraft state? Read code entry points and the traffic data discussion
- Find your own (shorter) path: IM Turn Implementation
- What are the ADS-B Data expectations? – Reveiw the traffic data discussion
- Where is the IFPI defined? – Coming Soon
- Uh…Which algorithm is running? – Review the algorithm stages discussion
- Are we missing some code? Review the missing code table
Not seeing what you need to know about? Post an issue. We gladly prioritize specific requests. Thanks!
EUROCONTROL BADA Development – Necessary?
Do you need a full BADA implementation to use this code base? Nope. Take a look at the BADA usage guide to get more details.
Related Project
Directly related to this Sample Algorithm implementation is the FIM MOPS Aircraft Dynamics & Control Model. That code is a fully operational aircraft simulation the comes with compile instructions and passing unit tests. It is the core simulation that MITRE used to implement and test the Sample Algorithm control law discussed here.