With over 100,000 scheduled commercial flights around the world every day, preventing all of these planes from colliding is a monumental task in which any mistake is potentially catastrophic.
The Federal Aviation Administration has partnered with Lincoln Labs to develop the next generation of Airborne Collision Avoidance System (ACAS-X) using Julia. According to Lincoln Labs, Julia has a number of advantages that make her suitable as a new standard for avionics.
What are the objectives of this project?
- Improve safety and reduce the risk of collision
- Allow planes to fly closer to each other
Why Julia?
According to Lincoln Labs, Julia is:
- Fast
- Easy to understand
- With concise and familiar syntax
- Executable
- High performance – comparable to C
The ACAS-X project requires the calculation of an exhaustive search of 650 billion decision points in the optimized logic table in order to identify failures. Julia reduced the time needed to perform these calculations by several years.
Most importantly, Julia drastically reduces time, costs, and errors by eliminating the problem of two languages.
Previously, FAA partners such as Lincoln Labs needed to use Matlab to develop their algorithms and then program in C++ in order to run the algorithms over very large datasets quickly and efficiently. But having to program sequentially in two languages is extremely inefficient – costing time and money, as well as introducing room for error in translation and conversion.
Furthermore, transferring the specifications to industry using this legacy system required three different types of documentation: first, the specifications were written both in variable-based pseudocode and in English descriptive pseudocode. But this approach left gaps in interpretation, leading to possible confusion or disagreement. So programmers also created state charts to fill these gaps and eliminate the potential for misinterpretation.
Julia eliminates the need for all of these different languages and specifications.
Now, the researchers at Lincoln Labs can develop their algorithms, test them, run them over massive datasets and deliver the algorithms and specifications for industry in just one language – Julia. Industry partners can use the same code for implementation, analysis, construction and testing.
This has dramatically reduced cost and time to market, increased efficiency, reduced errors and increased air safety.
Or, as Robert Moss of Lincoln Labs says:
“The previous way of doing things was very costly. Julia is very easy to understand. It’s a very familiar syntax, which helps the reader understand the document with clarity, and it helps the writer develop algorithms that are concise. Julia resolves many of our conflicts, reduces cost during technology transfer, and because Julia is fast, it enables us to run the entire system and allows the specification to be executed directly. We continue to push Julia as a standard for specifications in the avionics industry. Julia is the right answer for us and exceeds all our needs.”