You are on page 1of 24

Title Air Traffic Control (ATC) Simulator

Requirements and Specification

Authors Reem AL Ashaikh (0891 !"8#) $ohammad Al%arni (0890#89!1) Carl &aum%arten (0"' (800) )hilip $ac*a+ (0(1990#1#) Afnan Shah (09901" 1!)

Revision History ,rida+- 11th . /ec . #009

Table of Contents

CSC800"

0roup )ro1ect

Content )ro2lem /omain /escription Requirements Specification /ata /ictionar+ References

Page No. # 9 1( #1 #'

Problem Domain Description

CSC800"

0roup )ro1ect

Overview of Air Traffic Control The Air Traffic Control (ATC) s+stem is desi%ned to ensure the secure fli%ht of planes from their departure until their destination3 The ATC s+stem is particular important durin% landin% and take4off of planes3 ATC aims to pre5ent collisions and mana%e efficient traffic flo63 7ur ATC s+stem is a simulation of planes that are landin% and takin%4off usin% a %raphical user interface (089)3 The user is takin% on the role of an air traffic controller3 :e has to use the %raphical user interface to identif+ the current situation of planes landin% and takin% off3 The user then needs to instruct the planes 6hat to do usin% se5eral instructions at his disposal3 The %oal of this simulator is to aid the trainin% of an air traffic controller3

Air Traffic Control ub!"omains Navigation ;hen an+ plane appears in the control area- it should proceed automaticall+ to landin% or take4off in a strai%ht line- unless told other6ise 2+ controller3 (Assumption 8- 10 and 1') )lanes mi%ht chan%e their direction 2+ mo5in% to the 6est- east- north- and south or mi%ht need to 6ait in queue- or proceed to landin%<take4off3 (Assumption 1')

CSC800"

0roup )ro1ect

Run6a+

#igure $% Planes travel in straight line

Control an" communication of planes by the controller The controller %i5es instructions to planes (Assumption )3 These instructions are= 0o 6est 0o east 0o north 0o south ;ait in the departure queue ;ait in the landin% queue )roceed to land )roceed to take4off 9n addition to these instructions- the controller must take planes safet+ into consideration> therefore- the controller must make sure that there is no plane on the run6a+ 2efore %i5in% an instruction to land or take4off3 (Assumption 1#) 4

CSC800"

0roup )ro1ect

@orth

;est

?ast

South

Run6a+

#igure &% Planes ability to change "irection 'ncoming Planes An incomin% plane appears an+6here alon% the outer circle of the control area3 (Assumption !) Aone # is an area in 2et6een the run6a+ and the landin% queue3 7nce the plane enters Bone #- it 6ill take some time (fe6 seconds) for the plane to land and disappear from the run6a+3 (Assumption 1 ) ,rom enterin% Bone # until landin% of the plane the user can %i5e no further instructions to the plane3 (76n Assumption 1) 9ncomin% planes approach run6a+ from the east 6hen landin%3 (Assumption 11) 7ne queue eCists for landin%3 )lanes in landin% queue should fl+ in a predefined path until further instructions are %i5en 2+ the controller3 (Assumption 1() 5

CSC800"

0roup )ro1ect

Landin% Dueue

Run6a+

#igure (% 'ncoming planes )oining the lan"ing *ueue

Outgoing Planes 7ut%oin% planes appear at random 6ithin the queue for take4off3 (Assumption 9 and 1") Aone 1 is located in 2et6een the run6a+ and the take4off queue3 )lanes that appear at random in the queue proceed to Bone 1 and from Bone 1 enter the run6a+3 )lanes that appear at random take some time (fe6 seconds) 2efore the+ reach Bone 1 durin% 6hich the controller can %i5e instructions to the plane3 (76n assumption #) 7nce a plane has entered Bone 1- no further instructions can 2e %i5en3 (76n Assumption ') 9t 6ill take some time for the plane to take4off (fe6 seconds)3 (Assumption 1 ) 7ut%oin% planes are departin% to6ards the 6est on take4off3 (Assumption 11) 6

CSC800"

0roup )ro1ect

7ne queue eCists for out%oin% planes3 )lanes assi%ned to the take4off queue should 6ait until further instructions are %i5en 2+ the controller3 (Assumption 1")

Take4off Dueue

Run6a+

#igure +% Outgoing planes )oining the ta,e!off *ueue

Performance an" afety )lanes can appear at random an+6here around the control area or 6ithin the queue for take4off- makin% it difficult to maintain control o5er each one3 (Assumption ! and 9) 9ncomin% planes 6ill proceed directl+ to landin% 6hich could cause a potential pro2lem if there are man+ planes 6antin% to land at the same time3 (Assumption 8) 7ut%oin% planes 6ill proceed directl+ to take4off- 6hich could cause a potential pro2lem if there are other planes proceedin% to land at the same time3 The+ mi%ht crash3 (Assumption 10) 7

CSC800"

0roup )ro1ect

)lanes could 2e in dan%er of crashin% if the+ 2ecome too close to each other3 (76n Assumption ) ;hen planes appear in the user interface the+ 6ill need to 2e identified so the user kno6s 6hich plane he<she is in control of3 (76n Assumption ")

Take4off Dueue

Landin% Dueue Aone 1 Run6a+ Aone #

#igure -% Problem "omain e.planation ai"

CSC800"

0roup )ro1ect

/01 Class Diagram

Controller

1 9n5oke methods

Plane 4)lane9/ = Strin% 4/estinaion = Strin% 4Status = Strin% 4Location = Strin% E0o@orth () E0o?ast () E0o;est () E0oSouth ()

Runway 4@ame = Strin% 4Location = Strin% EClear() = &oolean ECount@um2er7f)lanes () = 9nte%er

'ncoming Plane 4Status = Strin% F )roceedToLandin% E;ait9nLandin%Dueue () G

Outgoing Plane 4Status = Strin% F )roceedToTake 47ff E;ait9nTake 47ffDueue () G

1 1an"ing 2ueue E)roceedToLandin% ()

1 Ta,e !off 2ueue E)roceedToTake 47ff ()

2ueue 4@ame = Strin% 4Location = Strin% ECount@um2er7f)lanes () = 9nte%er

Re*uirements
9

CSC800"

0roup )ro1ect

Navigation Re*uirements R1 4 R# 4 R' 4 R 4 R" 4 R( 4 $o5ements of planes should 2e 5isi2le 6ithin the control area3 (Assumption ') )lanes should tra5el in strai%ht line- unless instructed other6ise 2+ the controller3 (Assumption 1') 9ncomin% planes should proceed directl+ to landin%- unless instructed other6ise 2+ the controller3 (Assumption 8) 7ut%oin% planes should proceed directl+ to take4off- unless instructed other6ise 2+ the controller3 (Assumption 10) )lanes in the landin% queue should mo5e in a circle3 (Assumption 1() )lanes in the take4off queue should not mo5e- until the first plane in queue proceeds to take4off- then the+ can<6ill mo5e one4step for6ard3 R! 4 (76n Assumption () 0i5en the instructions from the controller- planes should 2e a2le to chan%e their direction- 1oin to the queue or proceed to landin%<take4off3 (Assumption 1') Control an" communication Re*uirements R8 4 The controller 6ill 2e a2le to communicate 6ith planes in the control area until the+ successfull+ land or lea5e the control area3 (76n R9 4 Assumption !) 9n order to communicate 6ith one of the planes- the controller must select the plane first from a list 2efore %i5in% an+ instruction3 (76n Assumption 8) R10 4 The controller can %i5e the planes instructions to %o east- %o 6est- %o north- %o south- 6ait in landin% queue- 6ait in the departure queueR11 4 proceed to land and proceed to take4off3 (Assumption ) The controller must ensure that the run6a+ is not used 2+ an+ planes 2efore %i5in% an+ instruction to a plane to land or take4off3 (Assumption 1#) (Refer to use case Hcommunication 2et6een controller and planesI3) 'ncoming Planes Re*uirements R1# 4 Aone # is located 1ust 2efore the run6a+ in the east3 (76n Assumption 9) Outgoing Planes Re*uirements 10

CSC800"

0roup )ro1ect

R1' 4 Aone 1 is located in 2et6een the run6a+ and the take4off queue3 (76n Assumption 10) Performance an" afety Re*uirements R1 4 The s+stem should 2e a2le to %enerate incomin% and out%oin% planes at random3 (Assumption #- ! and 9) R1" 4 A maCimum num2er of random planes in the control area 6ill 2e set so that the controller does not 2ecome o5er run and is a2le to cope 6ith a %i5en num2er of planes at an+ time- i3e3 10 (for arri5al and take4 off)3 (Assumption ! and 9) R1( 4 9ncomin% planes 6ill appear in time inter5als (2et6een 10 to #0 seconds)3 /urin% this time- the user can determine an action for the planes currentl+ in the area3 (76n Assumption 11) R1! 4 An out%oin% plane 6ill take #0 seconds until it enters Bone 13 /urin% the time of appearance and enterin% Bone 1- the controller can determine an action for the plane 2efore it proceeds to take4off3 (76n Assumption 1#) R18 4 The queue for out%oin% planes as 6ell as the queue for incomin% planes has to 2e as lar%e as the maCimum num2er of planes that 6ill 2e %enerated 2+ the s+stem3 (76n Assumption 1') R19 4 ;arnin% notifications 6ill 2e displa+ed in the messa%e 2oC (see user interface) for 5arious scenarios= 9f planes 2ecome too close to each other- a safe distance of # miles (#cm on screen) 6ill 2e set3 7nce the 6arnin% messa%e appears- such as J)lanes a2out to 2reach safe distance parameterK- the controller 6ill then ha5e to na5i%ate the planes to safet+3 (76n Assumption 1 ) 9f a ne6 plane enters the control area a 6arnin% messa%e 6ill 2e displa+ed3 (76n Assumption 1") 9f there are se5eral planes attemptin% to use the run6a+ at the same time- a 6arnin% messa%e 6ill 2e displa+ed3 (76n Assumption 1() R#0 4 )lanes tra5el at the same speed 6hich allo6s the user to na5i%ate the planes 6ithout ha5in% to 6orr+ a2out planes tra5ellin% faster to landin% or take4off3 (Assumption () R#1 4 Landin% and take offs 6ill require 1" seconds on the run 6a+ each allo6in% the user to calculate 6hether planes 6ill need to queue up or 11

CSC800"

0roup )ro1ect

6ill 2e a2le to simpl+ %o strai%ht to the run6a+ kno6in% ho6 soon a pre5ious plane 6ill take3 (Assumption 1 ) R#' 4 ;hene5er a plane appears in the user interface it 6ill 2e assi%ned a letter- either A or / (dependin% on 6hether it is arri5in% or departin%) and also a num2er- %i5in% it a unique 9/ Strin%3 (76n Assumption 1!) /ser 'nterface Re*uirements R# 4 The s+stem 6ill displa+ the area to 2e controlled as a circle3 (Assumption 1) R#" 4 T6o dimensions 6ill 2e used to desi%n the air space3 (Assumption ") R#( 4 The run6a+ 6ill 2e a rectan%ular shape located in the centre of the control area3 (Assumption 1 and 76n Assumption 18) R#! 4 The control area 6ill sho6 the mo5ement of out%oin% and incomin% planes3 (Assumption ') R#8 4 All planes are the same siBe (Assumption () and are represented as a small coloured circle (possi2l+ red for out%oin% and %reen for incomin% planes)3 (76n Assumption 19) R#9 4 ?ach plane 6ithin the control area is la2elled 6ith its identification num2er3 (76n Assumption #0) R'0 4 The s+stem 6ill sho6 t6o communication 2oCes3 7ne of them 6ill displa+ arri5als- the other departures3 &oth 2oCes allo6 selectin% a plane- seein% the plane status and %i5in% instructions to the plane3 (76n Assumption #1) R'1 4 There 6ill 2e a third messa%e 2oC 6hich 6ill displa+ 6arnin%<status messa%es to the controller3 (76n Assumption ##) R'# 4 The s+stem sho6s information a2out planes- 6hich include plane name and last instruction %i5en to them3 (76n Assumption #') R'' 4 The landin% queue 6ill appear in the control area as a circle at the eastern re%ion of the air space3 (Assumption 1() The take4off queue 6ill appear in the control area as a rectan%le located in the north eastern re%ion of the run6a+3 (Assumption 1")3 R' 4 Aone 1 6ill 2e a 5isi2le half4circle in the control area 2et6een the run6a+ and the take4off queue3 (76n Assumption # ) R'" 4 Aone # 6ill 2e a 5isi2le half4circle in the control area 2et6een the run6a+ and the landin% queue3 (76n Assumption #")

12

CSC800"

0roup )ro1ect

Assumptions

Assumptions provi"e" Assumption 1= Simulator 6ith animated %raphical interface- 6hich displa+s the area to 2e controlled as a circle 6ith the run6a+ in the centre3 Assumption #= Simulator 6ith animated %raphical interface- 6hich %enerates incomin% and out%oin% planes3 Assumption '= Simulator 6ith animated %raphical interface- 6hich sho6s the mo5ements of airplanes 6ithin the control area3 Assumption = Simulator 6ith animated %raphical interface- 6hich allo6s the controller to %i5e instructions to pilot- e3%3 Hturn leftI3 H6ait in queueI- Hproceed to landin%I- etc3- and sho6s the resultin% chan%es in mo5ement3 Assumption "= The air space is t6o4dimensional- i3e3 the hei%ht a2o5e %round is i%nored3 Assumption (= All planes are the same siBe and tra5el at the same speed3

13

CSC800"

0roup )ro1ect

Assumption != 9ncomin% planes arri5e at random and ma+ appear an+6here around the circumference of the control area3 $ake +our o6n assumptions a2out the sequence of arri5al instants3 Assumption 8= 9ncomin% planes proceed directl+ to landin%- unless told other6ise3 Assumption 9= 7ut%oin% planes appear in the 5icinit+ of the run6a+- at either random or re%ular inter5als3 Assumption 10= 7ut%oin% planes proceed directl+ to take4off- unless told other6ise3 Assumption 11= The run6a+ is approached from the east for landin% and is departed to6ards the 6est on take4off3 Assumption 1#= The run6a+ can accommodate onl+ one landin% or one take4 off at a time3 Assumption 1'= )lanes tra5el normall+ in a strai%ht line- 2ut ma+ need to chan%e direction 2efore landin%- or after take4off- or 6hen directed to do so 2+ the controller3 Assumption 1 = Landin%s and take4offs require a fiCed amount of time- and therefore dela+ su2sequent planes3 Assumption 1"= Dueuin% for take4off takes place near the run6a+3 Assumption 1(= Dueuin% for landin% takes place at the eastern re%ion of the air space- and is implemented 2+ fl+in% in a circle3 Own Assumptions 76n Assumption 1= ,rom enterin% Bone # until landin% of the plane the user can %i5e no further instructions to the plane3 76n Assumption #= Aone 1 is located in 2et6een the run6a+ and the take4off queue3 )lanes that appear at random in the queue proceed to Bone 1 and from Bone 1 enter the run6a+3 )lanes that appear at random take some time (fe6 seconds) 2efore the+ reach Bone 1 durin% 6hich the controller can %i5e instructions to the plane3 76n Assumption '= 7nce a plane has entered Bone 1- no further instructions can 2e %i5en3 76n Assumption = )lanes could 2e in dan%er of crashin% if the+ 2ecome too close to each other3 14

CSC800"

0roup )ro1ect

76n Assumption "= ;hen planes appear in the user interface the+ 6ill need to 2e identified so the user kno6s 6hich plane he<she is in control of3 76n Assumption (= )lanes in the take4off queue should not mo5e until the first plane in queue proceeds to take4off3 7nce the first plane took4off the other planes 6ill mo5e one4step for6ard3 76n Assumption != The controller 6ill 2e a2le to communicate 6ith planes in the control area until the+ successfull+ land or lea5e the control area3 76n Assumption 8= 9n order to communicate 6ith one of the planes- the controller must select the plane first from a list 2efore %i5in% an+ instruction3 76n Assumption 9= Aone # is located 1ust 2efore the run6a+ in the east3 76n Assumption 10= Aone 1 is located in 2et6een the run6a+ and the take4off queue3 76n Assumption 11= 9ncomin% planes 6ill appear in time inter5als (2et6een 10 to #0 seconds)3 /urin% this time- the user can determine an action for the planes currentl+ in the area3 76n Assumption 1#= An out%oin% plane 6ill take #0 seconds until it enters Bone 13 /urin% the time of appearance and enterin% Bone 1- the controller can determine an action for the plane 2efore it proceeds to take4off3 76n Assumption 1'= The queue for out%oin% planes as 6ell as the queue for incomin% planes has to 2e as lar%e as the maCimum num2er of planes that 6ill 2e %enerated 2+ the s+stem3 76n Assumption 1 = 9f planes 2ecome too close to each other- a 6arnin% messa%e 6ill 2e displa+ed in the messa%e 2oC3 The safe distance 2et6een t6o planes is said to 2e # miles (#cm on screen)3 76n Assumption 1"= 9f a ne6 plane enters the control area a 6arnin% messa%e 6ill 2e displa+ed in the messa%e 2oC3 76n Assumption 1(= 9f there are se5eral planes attemptin% to use the run6a+ at the same time- a 6arnin% messa%e 6ill 2e displa+ed in the messa%e 2oC3 76n Assumption 1!= ;hene5er a plane appears in the user interface it 6ill 2e assi%ned a letter- either A or / (dependin% on 6hether it is arri5in% or departin%) and also a num2er- %i5in% it a unique 9/ Strin%3 76n Assumption 18= The run6a+ 6ill 2e a rectan%ular shape3 76n Assumption 19= All planes are the same siBe (Assumption () and are represented as a small coloured circle (possi2l+ red for out%oin% and %reen for incomin% planes)3 15

CSC800"

0roup )ro1ect

76n Assumption #0= ?ach plane 6ithin the control area is la2elled 6ith its identification num2er3 76n Assumption #1= The s+stem 6ill sho6 t6o communication 2oCes3 7ne of them 6ill displa+ arri5als- the other departures3 &oth 2oCes allo6 selectin% a plane- seein% the plane status and %i5in% instructions to the plane3 76n Assumption ##= There 6ill 2e a third messa%e 2oC- 6hich 6ill displa+ 6arnin%<status messa%es to the controller3 76n Assumption #'= The s+stem sho6s information a2out planes- 6hich include plane name and last instruction %i5en to them3 76n Assumption # = Aone 1 6ill 2e a 5isi2le half4circle in the control area 2et6een the run6a+ and the take4off queue3 76n Assumption #"= Aone # 6ill 2e a 5isi2le half4circle in the control area 2et6een the run6a+ and the landin% queue3

pecification

'ntro"uction The simulator is desi%ned to support an air traffic controller as a trainin% aid3 The simulator %enerates out%oin% and incomin% planes3 8pon appearin% of planes on the screen- the controllerIs task is to control the efficient flo6 of air traffic and a5oid collisions3 The controller can do this usin% communication 2oCes 6hich are desi%ned to allo6 communication 2et6een indi5idual planes and the controller3 To further the controllerIs kno6led%e a2out the current circumstances- there is a messa%e 2oC 6hich 6ill sho6 6arnin% messa%es in case there is a situation that demands immediate action3 9t is a sin%le user s+stem and 6ill operate usin% La5a3 A description of the pro2lem domain and a list of requirements can 2e found in the ATC requirements document3 The /ser 'nterface

16

CSC800"

0roup )ro1ect

There is onl+ one interface to the user3 The interface adopts a ;9$) st+le3 9n interface there is the control area includin% run6a+- Bone1- Bone#- landin% queue- take4off queue and t6o communication 2oCes and one messa%e 2oC3 ?ach communication 2oC displa+s the plane 9/- indi5idual plane status and a list of instructions 5ia a drop do6n list3 The messa%e 2oC displa+s 6arnin% messa%es to the controller3

3raphical /ser 'nterface

17

CSC800"

0roup )ro1ect

Take4off Dueue
/' /#

Landin% Dueue
A#

Aone 1 Run6a+

/1

Aone #
A1

A'

Arriving planes

Departing planes

18

CSC800"

0roup )ro1ect

Plane 'D tatus A1 )roceed to landin% A# ;ait in the landin% queue A' )roceed to landin% M 1ist of instructions

Plane 'D tatus /1 )roceed to take4off /# ;ait in the take4off queue /' ;ait in the take4off queue M 1ist of instructions 0essage bo.

)lanes a2out to 2reach safe distance parameter @e6 plane appears in the control area Option Navigation The user can %i5e an instruction to a plane 2+ selectin% the plane from the communication 2oC for arri5in% planes or the communication 2oC for departin% planes3 This 6ill ena2le the drop4do6n list 2elo6 the communication 2oC- 6hich has all the instructions that the user can %i5e to the selected plane3 The t6o drop4do6n lists are= incomin% plane instructions and out%oin% plane instructions3 The options in incomin% plane instructions drop4do6n list are= %o east- %o 6est- %o north- %o 6est- proceed to land- and 6ait in the landin% queue3 The options in out%oin% plane instructions drop4do6n list are= %o east- %o 6est- %o north- %o 6est- proceed to take4off- and 6ait in the take4off queue3

Plane 'D tatus A1 )roceed to landin% A# ;ait in the landin% queue A' )roceed to landin% M 1ist of instructions 0o @orth 0o South 0o ?ast 0o ;est )roceed to landin% ;ait in the landin% queue Departing planes

Arriving planes Plane 'D tatus /1 )roceed to take4off /# ;ait in the take4off queue /' ;ait in the take4off queue M 1ist of instructions 0o @orth 0o South 0o ?ast 0o ;est )roceed to take4off ;ait in the take4off queue 19

CSC800"

0roup )ro1ect

ATC /se Cases

C7$$8@9CAT97@ &?T;??@ C7@TR7LL?R A@/ )LA@?S Allo6 the controller to %i5e instructions to planes3 Actor= Controller ,lo6 of e5ents= 13 The controller selects a plane from the communication 2oC3 #3 The controller selects an instruction from a drop do6n list 2elo6 the communication 2oC3 '3 The status of the selected plane chan%es to the %i5en instruction3 J:old the run6a+K is not an instruction 2ut refers to a task of the controller3 The controller has to instruct planes so that onl+ one plane uses the run6a+ at an+ one time3 :ence 6h+ it is marked differentl+3 20

CSC800"

0roup )ro1ect

ATC Activity Diagrams Acti5it+ dia%ram for incomin% plane

0enerate 9ncomin% )lane

NnotO Ncontrol O

)roceed to Landin%

)lane /isappear

Nselect )roceed to Landin% O Select 9nstruction NelseO

Acti5it+ dia%ram for out%oin% plane

Nenterin% Bone 1O 0enerate 7ut%oin% )lane NelseO ;ait in the Take 4off Dueue NelseO )roceed to Take 4off

Ncontrol O

Select 9nstruction

Nenterin% Bone 1O

NnotO

)lane /isappear

21

CSC800"

0roup )ro1ect

Data Dictionary

Controller 9n5okes follo6in% methods

Give instruction for directions (see Plane below) Give Proceed to Land/Take-off and Wait in Queue
instructions (see Plane below)

Hold t e runwa! " #akes sure t at at t e current ti$e no


ot er %lanes are able to access t e runwa! Plane )lane9/ . uniquel+ identifies each plane /estination . informs the controller of the destination of the plane (arri5in% or departin%) Status . The current status of the plane e3%3 6aitin% in queueproceedin% to landin% etc3 Location . ;here the plane has appeared in the user interface 9nstruction for directions 0o@orth() . $ethod to make the plane mo5e in a northerl+ direction 0o?ast() . $ethod to make the plane mo5e in a easterl+ direction 0o;est() . $ethod to make the plane mo5e in a 6esterl+ direction 0o;est() . $ethod to make the plane mo5e in a southerl+ direction

22

CSC800"

0roup )ro1ect

Runway @ame . The name of the run6a+ Location . The location of the run6a+ Clear() . $ethod to esta2lish if the run6a+ is a5aila2le for use Count@um2er7f)lane() . $ethod to count the num2er of planes currentl+ in the user interface Incoming Plane ;ait9nLandin%Dueue() . $ethod makin% a plane 6ait in the landin& 'ueue Status . The current status of the plane- default J)roceed to Landin%K

Outgoing Plane ;ait9nTake47ffDueue() . $ethod makin% a plane 6ait in the take-off 'ueue Status . The current status of the plane- default J)roceed to Take47ffK

Landing Queue )roceedToLandin%() . $ethod makin% a plane proceed to run6a+ for landin% Take-Off Queue )roceedToTake47ff() . $ethod makin% a plane proceed to run6a+ for take4off Queue @ame . The name of the queue Location . The location of the queue Count@um2er7f)lane() . $ethod to count the num2er of planes currentl+ in the queue

23

CSC800"

0roup )ro1ect

References
http=<<6663airport4technolo%+3com<%lossar+<air4traffic4control3html

24

You might also like