Translating TCAS

As a research intern at the Stanford Intelligent Systems Lab, I translated Traffic Collision Avoidance System (TCAS) algorithm to the Julia language.

TCAS is the standard collision avoidance system used on aircraft worldwide. It has been used in aircraft in the United States since an aircraft collision over Cerritos, California in 1986 prompted the US Congress pass legislation to mandate TCAS on most commercial aircraft.

TCAS consists of a transponder, a computer, and a display. When another aircraft comes within range, the computer uses data from the transponder and the TCAS algorithm to tell the pilot how to avoid a collision. It is a last-resort mechanism, kicking in when instructions from traffic control fail prevent a collision situation.

Most implementations of the TCAS algorithm are proprietary, so researchers need my translation to perform collision avoidance algorithm research. I based my translation off of the Minimum Operational Performance Standards, a 2000 page long document by the FAA that provides a pseudocode description of the algorithm. The completed Julia translation was a little over 5000 lines. Thankfully, I was able to write a parsing script to machine translate much of it. Still, a good amount of manual translation was required to get the translation running, and it is yet to be fully validated.

Hopefully researchers will use this translation to identify TCAS's shortcomings and improve future collision avoidance systems.

Excerpt of Parsing Script Grammar Excerpt of Parsing Script Grammar Tracking Pseudocode Excerpt TCAS Block Diagram Aircraft