← All projects

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
View public source

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.

  1. 01

    Aircraft threads request runway access.

  2. 02

    A controller evaluates capacity, direction, fairness, and emergency priority.

  3. 03

    A shared mutex protects runway state.

  4. 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