Title: 6894 workshop in software design lecture 2 september 14, 1998 CTAS
16894 workshop in software designlecture 2
september 14, 1998 CTAS
2the arrival scheduling problem
- a resource allocation problem
- aircraft arriving at an airport need to be
sequenced for landing - cant let them land in same order as they arrive
in terminal area - runway may not be available when they get there
- faster aircraft would overtake slower ones
- current manual solution
- aircraft pass through meter gates on border of
terminal area - arrivals at meter gate are delayed, and aircraft
may be reordered - currently, controllers use judgment experience
to make these decisions - an opportunity for automation
- better scheduling can increase airport throughput
and minimize delays - (but cannot be optimal because of unpredictable
weather, etc) - reduce controller workload, and thus improve
safety
3what is CTAS?
- basics
- Center/TRACON Automation System
- set of tools to help controllers manage air
traffic flow at large airports - developed at NASA by Erzberger and colleagues
- chosen in 1991 by FAA as future automation system
for terminal area - technical innovations
- algorithms for trajectory synthesis and runway
allocation - user interface human-centered automation
- a suite of tools
- TMA (Traffic Management Advisor)
- provides advisories on sequencing incoming
aircraft to controllers in Center - FAST (Final Approach Spacing Tool)
- provides advisories on sequencing for landing to
controllers in TRACON - DA (Descent Advisor), EDP (Expedite Departure
Path), UPR (User Preferred Routing) - exploit CTASs trajectory info for analyzing
arrival/departure paths - CAP (Collaborative Arrival Planning)
- pass scheduling info to airlines to optimize
planning at hubs
4what TMA does (roughly)
- from
- rapidly changing info (seconds)
- radar information giving aircraft positions and
velocities - flight plan info received from host computers and
entered by controllers - availability of runways
- slowly changing info (hours)
- weather data
- very slowly changing info (weeks)
- map of airspace
- static info
- characteristics of different kinds of aircraft
- computes
- suggested arrival times at meter gates for
incoming aircraft - so
- CTASs function is to provide advisories
- not safety-critical in a narrow technical sense
- but obviously reliability is of paramount concern
- CTAS especially useful during rushes
5organization of TMA software
INPUTSOURCEMANAGER
COMMUNICATIONSMANAGER
USERINTERFACE(TGUI, PGUI)
ROUTEANALYZER
DYNAMICPLANNER
6our project
- what Erzberger told me (June 98)
- algorithmic components (eg, DP, RA/TS)
- well understood
- mostly reliable
- concerned about two areas of software
- TGUI, PGUI code
- CM (communications manager)
- CM a much harder problem because wed need to
learn domain - why i chose CM
- a more interesting problem
- large-scale engineering issues
- more about software design, less about
algorithms, GUIs, etc - CM is a vital component of TMA and FAST
- CM shapes the entire CTAS system
7CM (Communication Manager)
- main functions
- maintains aircraft tree (database of aircraft
states) - calls algorithmic components periodically to
process entire tree - maintains GUIs, handles user requests
- basic stats
- all in C
- connected only by sockets to other processes no
shared memory - about 70kloc (including headers)
- but only about 20kloc of essential stuff
- history of development
- algorithmic components are focus of NASA
research, startingin 1980s - dynamic planner was designed with OMT, an OO
method - route analyzer translated from Fortran
- CM was first written in 1991 most of current
code from 1997-98
8basic control loop of CM
cm_motif.cmain_loop(every 300ms)
cm_sock_util.cselect_active_sockets
ism_socket.cism_socket_read
cm_read.cread_ra
update_aircraft.cism_socket.cism_socket_checkha
ndle_weather_updatefind_and_send_fps
(1)request_etas_for_new_fps (2)distribute_ac.c
distribute_aircaft_to_ras (3)update_active_aircra
ft
update_aircraft.cupdate_aircraft
cm_send.c(1) forward_flight_plan_add(2)
send_request_for_flight_plan(3)
handoff_aircraft_to_ra
9project goals structure
- experiment with new technology
- design notions tools
- evaluate pitfalls successes
- invent refinements, new approaches
- improve CTAS
- help NASA/CSC improve design of CM
- explain existing problems and propose solutions
- uncover problems
- a research project
- be willing to adjust plans as we learn more
- lots of cooperation, between teams too
- can change goals to more exciting ones