Documente Academic
Documente Profesional
Documente Cultură
Authors
Reem AL Ashaikh (089147582)
Mohammad Algarni (089028971)
Carl Baumgarten (053446800)
Philip MacKay (061990212)
Afnan Shah (099015417)
Revision History
Friday, 11th – Dec – 2009
Table of Contents
CSC8005 Group Project
Requirements 9
Specification 16
Data Dictionary 21
References 23
2
CSC8005 Group Project
3
CSC8005 Group Project
Runway
4
CSC8005 Group Project
North
West East
South
Runway
Incoming Planes
• An incoming plane appears anywhere along the outer circle of the control
area. (Assumption 7)
• Zone 2 is an area in between the runway and the landing queue. Once the
plane enters zone 2, it will take some time (few seconds) for the plane to
land and disappear from the runway. (Assumption 14)
• From entering zone 2 until landing of the plane the user can give no further
instructions to the plane. (Own Assumption 1)
• Incoming planes approach runway from the east when landing.
(Assumption 11)
• One queue exists for landing. Planes in landing queue should fly in a
predefined path until further instructions are given by the controller.
(Assumption 16)
5
CSC8005 Group Project
Landing
Queue
Runway
Outgoing Planes
• Outgoing planes appear at random within the queue for take-off.
(Assumption 9 and 15)
• Zone 1 is located in between the runway and the take-off queue. Planes
that appear at random in the queue proceed to zone 1 and from zone 1
enter the runway. Planes that appear at random take some time (few
seconds) before they reach zone 1 during which the controller can give
instructions to the plane. (Own assumption 2)
• Once a plane has entered zone 1, no further instructions can be given.
(Own Assumption 3) It will take some time for the plane to take-off (few
seconds). (Assumption 14)
• Outgoing planes are departing towards the west on take-off. (Assumption
11)
6
CSC8005 Group Project
• One queue exists for outgoing planes. Planes assigned to the take-off
queue should wait until further instructions are given by the controller.
(Assumption 15)
Take-off
Queue
Runway
7
CSC8005 Group Project
Take-off
Queue
Landing
Queue
Zone 1
Runway
Zone 2
8
CSC8005 Group Project
Plane
Controller 1 * * 1 Runway
-PlaneID : String
Invoke -Destinaion : String -Name : String
methods -Status : String -Location : String
-Location : String +Clear() : Boolean
+GoNorth () +CountNumberOfPlanes () : Integer
+GoEast ()
+GoWest ()
+GoSouth ()
* *
1 1
Queue
-Name : String
-Location : String
+CountNumberOfPlanes () : Integer
Requirements
9
CSC8005 Group Project
Navigation Requirements
R1 - Movements of planes should be visible within the control area.
(Assumption 3)
R2 - Planes should travel in straight line, unless instructed otherwise by the
controller. (Assumption 13)
R3 - Incoming planes should proceed directly to landing, unless instructed
otherwise by the controller. (Assumption 8)
R4 - Outgoing planes should proceed directly to take-off, unless instructed
otherwise by the controller. (Assumption 10)
R5 - Planes in the landing queue should move in a circle. (Assumption 16)
R6 - Planes in the take-off queue should not move, until the first plane in
queue proceeds to take-off, then they can/will move one-step forward.
(Own Assumption 6)
R7 - Given the instructions from the controller, planes should be able to
change their direction, join to the queue or proceed to landing/take-off.
(Assumption 13)
10
CSC8005 Group Project
R13 - Zone 1 is located in between the runway and the take-off queue. (Own
Assumption 10)
11
CSC8005 Group Project
12
CSC8005 Group Project
Assumptions
Assumptions provided
Assumption 1: Simulator with animated graphical interface, which displays the
area to be controlled as a circle with the runway in the centre.
Assumption 2: Simulator with animated graphical interface, which generates
incoming and outgoing planes.
Assumption 3: Simulator with animated graphical interface, which shows the
movements of airplanes within the control area.
Assumption 4: Simulator with animated graphical interface, which allows the
controller to give instructions to pilot, e.g. ‘turn left’. ‘wait in queue’, ‘proceed to
landing’, etc., and shows the resulting changes in movement.
Assumption 5: The air space is two-dimensional, i.e. the height above ground
is ignored.
Assumption 6: All planes are the same size and travel at the same speed.
13
CSC8005 Group Project
Own Assumptions
Own Assumption 1: From entering zone 2 until landing of the plane the user
can give no further instructions to the plane.
Own Assumption 2: Zone 1 is located in between the runway and the take-off
queue. Planes that appear at random in the queue proceed to zone 1 and
from zone 1 enter the runway. Planes that appear at random take some time
(few seconds) before they reach zone 1 during which the controller can give
instructions to the plane.
Own Assumption 3: Once a plane has entered zone 1, no further instructions
can be given.
Own Assumption 4: Planes could be in danger of crashing if they become too
close to each other.
14
CSC8005 Group Project
Own Assumption 5: When planes appear in the user interface they will need
to be identified so the user knows which plane he/she is in control of.
Own Assumption 6: Planes in the take-off queue should not move until the
first plane in queue proceeds to take-off. Once the first plane took-off the
other planes will move one-step forward.
Own Assumption 7: The controller will be able to communicate with planes in
the control area until they successfully land or leave the control area.
Own Assumption 8: In order to communicate with one of the planes, the
controller must select the plane first from a list before giving any instruction.
Own Assumption 9: Zone 2 is located just before the runway in the east.
Own Assumption 10: Zone 1 is located in between the runway and the take-off
queue.
Own Assumption 11: Incoming planes will appear in time intervals (between
10 to 20 seconds). During this time, the user can determine an action for the
planes currently in the area.
Own Assumption 12: An outgoing plane will take 20 seconds until it enters
zone 1. During the time of appearance and entering zone 1, the controller can
determine an action for the plane before it proceeds to take-off.
Own Assumption 13: The queue for outgoing planes as well as the queue for
incoming planes has to be as large as the maximum number of planes that
will be generated by the system.
Own Assumption 14: If planes become too close to each other, a warning
message will be displayed in the message box. The safe distance between
two planes is said to be 2 miles (2cm on screen).
Own Assumption 15: If a new plane enters the control area a warning
message will be displayed in the message box.
Own Assumption 16: If there are several planes attempting to use the runway
at the same time, a warning message will be displayed in the message box.
Own Assumption 17: Whenever a plane appears in the user interface it will be
assigned a letter, either A or D (depending on whether it is arriving or
departing) and also a number, giving it a unique ID String.
Own Assumption 18: The runway will be a rectangular shape.
Own Assumption 19: All planes are the same size (Assumption 6) and are
represented as a small coloured circle (possibly red for outgoing and green for
incoming planes).
15
CSC8005 Group Project
Own Assumption 20: Each plane within the control area is labelled with its
identification number.
Own Assumption 21: The system will show two communication boxes. One of
them will display arrivals, the other departures. Both boxes allow selecting a
plane, seeing the plane status and giving instructions to the plane.
Own Assumption 22: There will be a third message box, which will display
warning/status messages to the controller.
Own Assumption 23: The system shows information about planes, which
include plane name and last instruction given to them.
Own Assumption 24: Zone 1 will be a visible half-circle in the control area
between the runway and the take-off queue.
Own Assumption 25: Zone 2 will be a visible half-circle in the control area
between the runway and the landing queue.
Specification
Introduction
The simulator is designed to support an air traffic controller as a training aid.
The simulator generates outgoing and incoming planes. Upon appearing of
planes on the screen, the controller’s task is to control the efficient flow of air
traffic and avoid collisions. The controller can do this using communication
boxes which are designed to allow communication between individual planes
and the controller. To further the controller’s knowledge about the current
circumstances, there is a message box which will show warning messages in
case there is a situation that demands immediate action. It is a single user
system and will operate using Java. A description of the problem domain and
a list of requirements can be found in the ATC requirements document.
16
CSC8005 Group Project
There is only one interface to the user. The interface adopts a WIMP style. In
interface there is the control area including runway, zone1, zone2, landing
queue, take-off queue and two communication boxes and one message box.
Each communication box displays the plane ID, individual plane status and a
list of instructions via a drop down list. The message box displays warning
messages to the controller.
17
CSC8005 Group Project
Take-off
Queue
D3
D2 Landing
Queue
Zone 1 D1
A2
Runway
Zone 2
A1
A3
18
CSC8005 Group Project
Message box
Planes about to breach safe distance parameter
New plane appears in the control area
Option Navigation
• The user can give an instruction to a plane by selecting the plane from the
communication box for arriving planes or the communication box for
departing planes. This will enable the drop-down list below the
communication box, which has all the instructions that the user can give to
the selected plane.
• The two drop-down lists are: incoming plane instructions and outgoing
plane instructions.
Arriving planes
Plane ID Status
A1 Proceed to landing
Plane ID Status
A2 Wait in the landing queue
D1 Proceed to take-off
A3 Proceed to landing
D2 Wait in the take-off queue
▼ List of instructions
D3 Wait in the take-off queue
Go North ▼ List of instructions
Go South Go North
Go East Go South
Go West Go East
Proceed to landing Go West
Wait in the landing queue Proceed to take-off
Departing planes Wait in the take-off queue
19
CSC8005 Group Project
20
CSC8005 Group Project
[not]
Generate Incoming Plane Proceed to Landing Plane Disappear
[control]
[select Proceed to Landing
]
Select Instruction
[else]
[else] [not]
[entering zone1]
[else]
Plane Disappear
21
CSC8005 Group Project
Data Dictionary
Controller
• Invokes following methods
Give instruction for directions (see “Plane” below)
Give Proceed to Land/Take-off and Wait in Queue
instructions (see “Plane” below)
Hold the runway – Makes sure that at the current time no
other planes are able to access the runway
Plane
• PlaneID – uniquely identifies each plane
• Destination – informs the controller of the destination of the plane
(arriving or departing)
• Status – The current status of the plane e.g. waiting in queue,
proceeding to landing etc.
• Location – Where the plane has appeared in the user interface
• Instruction for directions
GoNorth() – Method to make the plane move in a
northerly direction
GoEast() – Method to make the plane move in a easterly
direction
GoWest() – Method to make the plane move in a westerly
direction
GoWest() – Method to make the plane move in a
southerly direction
22
CSC8005 Group Project
Runway
• Name – The name of the runway
• Location – The location of the runway
• Clear() – Method to establish if the runway is available for use
• CountNumberOfPlane() – Method to count the number of planes
currently in the user interface
Incoming Plane
• WaitInLandingQueue() – Method making a plane wait in the landing
queue
• Status – The current status of the plane, default “Proceed to Landing”
Outgoing Plane
• WaitInTake-OffQueue() – Method making a plane wait in the take-off
queue
• Status – The current status of the plane, default “Proceed to Take-Off”
Landing Queue
• ProceedToLanding() – Method making a plane proceed to runway for
landing
Take-Off Queue
• ProceedToTake-Off() – Method making a plane proceed to runway for
take-off
Queue
• Name – The name of the queue
• Location – The location of the queue
• CountNumberOfPlane() – Method to count the number of planes
currently in the queue
23
CSC8005 Group Project
References
– http://www.airport-technology.com/glossary/air-traffic-control.html
24