PROJECT NOTES / SYSTEMS
Air Traffic Control Scheduler
One runway. Many moving parts.
A concurrent runway simulation that coordinates aircraft, emergency priority, and shared state using POSIX threads.
- C
- pthreads
- Mutexes
- Condition variables
THE CONTEXT
A closer look.
The problem
Several aircraft compete for a shared runway. Admission must account for capacity, aircraft type, direction, controller breaks, and urgent arrivals without unsafe concurrent state changes.
What I built
I built a multithreaded simulation in C with a dedicated controller thread, mutex-protected runway state, and condition variables that coordinate admission. The résumé describes support for up to 1,000 aircraft.
HOW IT FITS TOGETHER
The architecture.
- 01
Aircraft threads request runway access.
- 02
A controller evaluates capacity, direction, fairness, and emergency priority.
- 03
A shared mutex protects runway state.
- 04
Condition variables suspend and wake waiting aircraft as admission rules change.
ENGINEERING DETAILS
Decisions that matter.
Shared-state safety
Mutexes protect runway state and assertions validate concurrency safety properties during the simulation.
Fairness and urgency
The scheduler alternates aircraft types after consecutive use, prioritizes emergencies, and escalates aircraft when fuel runs low.
Operational constraints
The simulation models runway-capacity limits, direction changes, and mandatory controller breaks.
Public Concurrency README and résumé. This is an academic simulation, not operational air traffic control software.
UP NEXTMeowVerse · Mobile Game