Diagrams
Nodes
Package Diagram SAAMS
package:
Visibility:
public
Hyperlinks to Elements:
Sequence Diagram GOCAllocatesGate
package:
The GOC allocates a FREE gate for an aircraft that has LANDED and is waiting to taxi to a gate.
Note: The messages following each "notifyObservers" are omitted, as they are (may be) 'broadcast' widely in the system.
Visibility:
public
Hyperlinks to Elements:
ReceivesAircraft
Sequence Diagram MaintenanceFailCheck
package:
The Maintenance Inspector sees an aircraft ready for maintenance on his screen, and sends a team to carry out the safety check (this is not part of SAAMS). When the team returns they report that the aircraft has failed its check. The Inspector notifies SAAMS of this, entering a text description of the problem. Some time later the repair is complete, and the Inspector notifies SAAMS of this.
Note: The messages following each "notifyObservers" are omitted, as they are (may be) 'broadcast' widely in the system.
Visibility:
public
Hyperlinks to Elements:
OrganizesFailCheck
Sequence Diagram RadarDetectsVisitingAircraft
package:
The aircraft is detected entering local airspace by the (simulated) Radar/Transceiver, downloads its flight descriptor, and a radarDetect event occurs. A ManagementRecord is set up for the aircraft.
Note: The messages following "notifyObservers" are omitted, as they are (may be) 'broadcast' widely in the system.
Visibility:
public
Hyperlinks to Elements:
State Diagram GateState
package:
This state diagram shows the life cycle of a single Gate (right-click this note or the diagram background for hyperlinks)
Visibility:
public
Hyperlinks to Elements:
State Diagram MRState
package:
This state diagram shows the life cycle of a single ManagementRecord. One cycle corresponds to one aircraft passing through "in transit" or landing, reloading and departing again (right click this note or the diagram background for hyperlinks).
Visibility:
public
Hyperlinks to Elements:
Use Case Diagram AircraftUC
package:
This use case diagram shows the different interactions that an aircraft (or aircraft's staff, or on-board computer) has with SAAMS. Note that aircraft is an ACTOR and NOT a part of SAAMS, so no implementation is required for the aircraft itself!
Visibility:
public
Hyperlinks to Elements:
Use Case Diagram GateStaffUC
package:
This use case diagram shows the ways that gate staff interact with SAAMS.
Visibility:
public
Hyperlinks to Elements:
Use Case Diagram GroundOperCUC
package:
This use case diagram shows the ways that a Ground Operations Controller interacts with SAAMS: indicating to SAAMS the different status changes that occur. Note that the Ground Operations Controller will, as a separate activity, be in radio contact with the aircraft - SAAMS is only concerned with RECORDING the status and providing information for decision making.
Visibility:
public
Hyperlinks to Elements:
Use Case Diagram GroundServicesUC
package:
This use case diagram shows the ways in which Ground Services support staff interact with SAAMS.
Visibility:
public
Hyperlinks to Elements:
Maintenance Inspector
Use Case Diagram Introduction to SAAMS
package:
Visibility:
public
Hyperlinks to Elements:
Use Case Diagram LocalATCUC
package:
This use case diagram shows the ways in which a Local Air Traffic Controller interacts with SAAMS. Note that the Local Air Traffic Controller will, as a separate activity, be in radio contact with the aircraft - SAAMS is only concerned with RECORDING the status and providing information for decision making.
Visibility:
public
Hyperlinks to Elements:
Use Case Diagram PassengersAndPublic
package:
This use case diagram shows the ways in which ordinary members of the public interact with SAAMS.
Visibility:
public
Hyperlinks to Elements:
Class AircraftManagementDatabase
|
public class AircraftManagementDatabase
A central database ("model" class):
It is intended that there will be only one instance of this class.
Maintains an array of ManagementRecords (MRs), one per potential visiting aircraft. Some MRs hold information about aircraft currently being managed by SAAMS, and some may have the status "Free".
The index of each ManagementRecord in the array is its "management code" ("mCode"), and the mCode of any particular visiting aircraft's ManagementRecord must remain fixed once it is allocated.
Many classes register as observers of this class, and are notified whenever any aircraft's (MR's) state changes.
Stereotype:
model
Hyperlinks to Elements:
aircraftDB
aircraftDB
aircraftDB
Field Summary |
public int |
The size of the array MRs holding ManagementRecords. |
|
The array of ManagementRecords. |
Method Summary |
public void |
The given passenger is boarding the aircraft with the given mCode. |
public void |
The Maintenance Supervisor has reported faults with the given description in the aircraft with the given mCode. |
public String |
Return the flight code from the given MR supplied as a parameter. |
public Itinerary |
Return the Itinerary of the aircraft with the given mCode. |
public PassengerList |
Return the PassengerList of the aircraft with the given mCode. |
public int |
Return the status of the MR with the given mCode supplied as a parameter. |
public int[] |
Returns an array of mCodes: Just the mCodes of those MRs with the given status supplied as a parameter. |
public void |
The radar has detected a new aircraft, and has obtained flight descriptor fd from it. |
public void |
The aircraft in the MR given by mCode supplied as a parameter has departed from the local airspace. |
public void |
Forward a status change request to the MR given by the mCode supplied as a parameter. |
public void |
taxiTo(int mCode, int gateNumber) A GOC has allocated the given gate to the aircraft with the given mCode supplied as a parameter for unloading passengers. |
Association Link
All Properties
Client cardinality:
1
Directed:
true
Supplier cardinality:
0..*
Type:
association
public int maxMRs = 10
The size of the array MRs holding ManagementRecords.
In this simple system 10 will do!
Initial value:
10
Multiplicity:
1
The array of ManagementRecords. Attribute maxMRs specifies how large this array should be.
Initialize to a collection of MRs each in the FREE state.
Note: This array could be replaced by another other suitable collection data structure.
Multiplicity:
1
The given passenger is boarding the aircraft with the given mCode. Forward the message to the given MR for recording in the passenger list.
public void faultsFound(int mCode, String description)
The Maintenance Supervisor has reported faults with the given description in the aircraft with the given mCode. The message is forwarded to the given MR for status update.
public String getFlightCode(int mCode)
Return the flight code from the given MR supplied as a parameter.
The request is forwarded to the MR.
public Itinerary getItinerary(int mCode)
Return the Itinerary of the aircraft with the given mCode.
public PassengerList getPassengerList(int mCode)
Return the PassengerList of the aircraft with the given mCode.
public int getStatus(int mCode)
Return the status of the MR with the given mCode supplied as a parameter.
public int[] getWithStatus(int statusCode)
Returns an array of mCodes:
Just the mCodes of those MRs with the given status supplied as a parameter.
Principally for call by the various interface screens.
The radar has detected a new aircraft, and has obtained flight descriptor fd from it.
This operation finds a currently FREE MR and forwards the radarDetect request to it for recording.
public void radarLostContact(int mCode)
The aircraft in the MR given by mCode supplied as a parameter has departed from the local airspace. The message is forwarded to the MR, which can then delete/archive its contents and become FREE.
public void setStatus(int mCode, int newStatus)
Forward a status change request to the MR given by the mCode supplied as a parameter. Parameter newStatus is the requested new status. No effect is expected if the current status is not a valid preceding status. This operation is appropriate when the status change does not need any additional information to be noted. It is present instead of a large collection of public operations for requesting specific status changes.
public void taxiTo(int mCode, int gateNumber)
A GOC has allocated the given gate to the aircraft with the given mCode supplied as a parameter for unloading passengers. The message is forwarded to the given MR for status update.
public class CleaningSupervisor
An interface to SAAMS:
Cleaning Supervisor Screen:
Inputs events from the Cleaning Supervisor, and displays aircraft information.
This class is a controller for the AircraftManagementDatabase: sending it messages to change the aircraft status information.
This class also registers as an observer of the AircraftManagementDatabase, and is notified whenever any change occurs in that <> element.
See written documentation.
Stereotype:
boundary/view/controller
Hyperlinks to Elements:
Field Summary |
|
The Cleaning Supervisor Screen interface has access to the AircraftManagementDatabase. |
Association Link
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
association
The Cleaning Supervisor Screen interface has access to the AircraftManagementDatabase.
Multiplicity:
1
public class FlightDescriptor
Contains all details of a flight: the flight code, itinerary and passenger list.
This is the package of information downloaded from an aircraft by the RadarTransceiver as the aircraft enters Stirling Airport's airspace.
Not obvious from the class diagram is that the RadarTransceiver boundary class should construct a FlightDescriptor when it "detects" an aircraft, and passes that object to the AircraftManagementDatabase as the parameter of a radarDetect message. (Since this will probably/possibly be local to an event handler method in RadarTransceiver, there is no attribute association from RadarTransceiver to FlightDescriptor.)
Stereotype:
entity
Hyperlinks to Elements:
fD
Field Summary |
private String |
A short string identifying the flight:
Usually airline abbreviation plus number, e.g. |
|
Each Flight Descriptor contains a flight Itinerary.. |
|
Each Flight Descriptor contains a list of passengers on the flight. |
Constructor Summary |
public void |
Constructor: A new FlightDescriptor must be given a flightCode (String), an Itinerary, and the current PassengerList. |
Association Link
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
aggregation
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
aggregation
private String flightCode
A short string identifying the flight:
Usually airline abbreviation plus number, e.g. BA127.
Obtained from flight descriptor when aircraft is first detected.
This is the code used in timetables, and is useful to show on public information screens.
Multiplicity:
1
Each Flight Descriptor contains a flight Itinerary..
Multiplicity:
1
Each Flight Descriptor contains a list of passengers on the flight.
Multiplicity:
1
Constructor: A new FlightDescriptor must be given a flightCode (String), an Itinerary,
and the current PassengerList.
public class Gate
An individual gate's status.
See GateState diagram for operational details. This class has public static int identifiers for the
individual status codes.
An instance of GateInfoDatabase holds a collection of Gates, and sends the Gates messages to control/fetch their status.
Stereotype:
entity
Hyperlinks to Elements:
Field Summary |
public static int |
Status code representing the situation when the gate is currently allocated to no aircraft. |
private int |
If the gate is reserved or occupied, the mCode of the MR of the aircraft which is expected/present. |
public static int |
Status code representing the situation when an aircraft is currently at the gate - either unloading passengers, being cleaned and maintained, loading new passengers or finished loading but no permission to taxi to the runway has yet been granted. |
public static int |
Status code representing the situation when the gate has been allocated to an aircraft that has just landed, but the aircraft has not yet docked at the gate. |
private int |
Holds the code indicating the current status of this gate. |
Method Summary |
public void |
The gate has been allocated to the given aircraft, identified by mCode: Change status from FREE to RESERVED and note the mCode. |
public void |
Change status from OCCUPIED to FREE as the docked aircraft has now departed. |
public void |
Change gate status from RESERVED to OCCUPIED to indicate that aircraft has now docked. |
public int |
Return the status code for this gate. |
public static int FREE = 0
Status code representing the situation when the gate is currently allocated to no aircraft.
Initial value:
0
Multiplicity:
1
Static.
private int mCode
If the gate is reserved or occupied, the mCode of the MR of the aircraft which is expected/present.
Multiplicity:
1
public static int OCCUPIED = 2
Status code representing the situation when an aircraft is currently at the gate - either unloading passengers, being cleaned and maintained, loading new passengers or finished loading but no permission to taxi to the runway has yet been granted.
Initial value:
2
Multiplicity:
1
Static.
public static int RESERVED = 1
Status code representing the situation when the gate has been allocated to an aircraft that has just landed, but the aircraft has not yet docked at the gate.
Initial value:
1
Multiplicity:
1
Static.
private int status = FREE
Holds the code indicating the current status of this gate.
Initial value:
FREE
Multiplicity:
1
public void allocate(int mCode)
The gate has been allocated to the given aircraft, identified by mCode: Change status from FREE to RESERVED and note the mCode.
Preconditions:
Status must be Free
public void departed()
Change status from OCCUPIED to FREE as the docked aircraft has now departed.
Preconditions:
Status must be Occupied
public void docked()
Change gate status from RESERVED to OCCUPIED to indicate that aircraft has now docked.
Preconditions:
Status must be Reserved
public int getStatus()
Return the status code for this gate.
public class GateConsole
An interface to SAAMS:
Gate Control Console:
Inputs events from gate staff, and displays aircraft and gate information.
This class is a controller for the GateInfoDatabase and the AircraftManagementDatabase: sends messages when aircraft dock, have finished disembarking, and are fully emarked and ready to depart.
This class also registers as an observer of the GateInfoDatabase and the
AircraftManagementDatabase, and is notified whenever any change occurs in those <> elements.
See written documentation.
Stereotype:
boundary/view/controller
Hyperlinks to Elements:
Field Summary |
private int |
This gate's gateNumber - for identifying this gate's information in the GateInfoDatabase. |
|
The GateConsole interface has access to the GateInfoDatabase. |
|
The GateConsole interface has access to the AircraftManagementDatabase. |
Association Link
All Properties
Client cardinality:
0..*
Supplier cardinality:
1
Type:
association
All Properties
Client cardinality:
0..*
Supplier cardinality:
1
Type:
association
private int gateNumber
This gate's gateNumber
- for identifying this gate's information in the GateInfoDatabase.
Multiplicity:
1
The GateConsole interface has access to the GateInfoDatabase.
Multiplicity:
1
The GateConsole interface has access to the AircraftManagementDatabase.
Multiplicity:
1
public class GateInfoDatabase
A central database ("model" class):
It is intended that there will be only one instance of this class.
Maintains an array of Gates.
Each gate's number is its index in the array (0..)
GateConsoles and GroundOperationsControllers are controllers of this class: sending it messages when the gate status is to be changed.
GateConsoles and GroundOperationsControllers also register as observers of this class. Whenever a change occurs to any gate, the obervers are notified.
Stereotype:
model
Hyperlinks to Elements:
Association Link contains to Class Gate
Field Summary |
|
Holds one gate object per gate in the airport. |
public int |
A constant: the number of aircraft gates at the airport. |
Method Summary |
public void |
Forward a status change request to the given gate identified by the gateNumber parameter. |
public void |
Forward a status change request to the given gate identified by the gateNumber parameter. |
public void |
Forward a status change request to the given gate identified by the gateNumber parameter. |
public int |
Obtain and return the status of the given gate identified by the gateNumber parameter. |
public int[] |
Returns an array containing the status of all gates. |
All Properties
Client cardinality:
1
Directed:
true
Supplier cardinality:
0..*
Type:
aggregationByValue
Holds one gate object per gate in the airport.
Multiplicity:
1
public int maxGateNumber = 2
A constant: the number of aircraft gates at the airport.
Initial value:
2
Multiplicity:
1
public void allocate(int gateNumber, int mCode)
Forward a status change request to the given gate identified by the gateNumber parameter. Called to allocate a free gate to the aircraft identified by mCode.
public void departed(int gateNumber)
Forward a status change request to the given gate identified by the gateNumber parameter. Called to indicate that the aircraft has departed and that the gate is now free.
public void docked(int gateNumber)
Forward a status change request to the given gate identified by the gateNumber parameter. Called to indicate that the expected aircraft has arrived at the gate.
public int getStatus(int gateNumber)
Obtain and return the status of the given gate identified by the gateNumber parameter.
public int[] getStatuses()
Returns an array containing the status of all gates.
For data collection by the GOC.
public class GOC
An interface to SAAMS:
A Ground Operations Controller Screen:
Inputs events from GOC (a person), and displays aircraft and gate information.
This class is a controller for the GateInfoDatabase and the AircraftManagementDatabase: sending them messages to change the gate or aircraft status information.
This class also registers as an observer of the GateInfoDatabase and the AircraftManagementDatabase, and is notified whenever any change occurs in those <> elements.
See written documentation.
Stereotype:
boundary/view/controller
Hyperlinks to Elements:
GOC interface
Field Summary |
|
The Ground Operations Controller Screen interface has access to the GateInfoDatabase. |
|
The Ground Operations Controller Screen interface has access to the AircraftManagementDatabase. |
Association Link
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
association
Association Link
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
association
The Ground Operations Controller Screen interface has access to the GateInfoDatabase.
Multiplicity:
1
The Ground Operations Controller Screen interface has access to the AircraftManagementDatabase.
Multiplicity:
1
public class Itinerary
Describes an aircraft's flight plan.
An aircraft entering an airport's airspace has come from the "from" airport, and wishes to land at the "to" airport, before travelling on to the "next" airport.
So, an aircraft whose flight descriptor contains an itinerary with "Stirling" as the "to" attribute wishes to land at Stirling now, otherwise it is just passing through local airspace on its way to its destination.
Incoming flights supply their Itinerary in their flight descriptor, and the ManagementRecord for the flight extracts the Itinerary and holds it separately.
Outbound flights have their Itineraries uploaded to the aircraft as it departs in a newly built FlightDescriptor.
Stereotype:
entity
Hyperlinks to Elements:
Field Summary |
private String |
See Itinerary class description. |
private String |
See Itinerary class description. |
private String |
See Itinerary class description. |
Constructor Summary |
public void |
Itinerary(String from, String to, String next) Constructor: Requires names of where the flight is coming from, where it is going to now, and where next after that. |
Method Summary |
public String |
Return the from attribute. |
public String |
Return the next attribute. |
public String |
Return the to attribute. |
private String from
See Itinerary class description.
Multiplicity:
1
private String next
See Itinerary class description.
Multiplicity:
1
private String to
See Itinerary class description.
Multiplicity:
1
public void Itinerary(String from, String to, String next)
Constructor: Requires names of where the flight is coming from,
where it is going to now, and where next after that.
public String getFrom()
Return the from attribute.
public String getNext()
Return the next attribute.
public String getTo()
Return the to attribute.
public class LATC
An interface to SAAMS:
Local Air Traffic Controller Screen:
Inputs events from LATC (a person), and displays aircraft information.
This class is a controller for the AircraftManagementDatabase: sending it messages to change the aircraft status information.
This class also registers as an observer of the AircraftManagementDatabase, and is notified whenever any change occurs in that <> element.
See written documentation.
Stereotype:
boundary/view/controller
Hyperlinks to Elements:
Field Summary |
|
The Local Air Traffic Controller Screen interface has access to the AircraftManagementDatabase. |
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
association
The Local Air Traffic Controller Screen interface has access to the AircraftManagementDatabase.
Multiplicity:
1
public class Main
The Main class.
The principal component is the usual main method required by Java application to launch the application.
Instantiates the databases.
Instantiates and shows all the system interfaces as Frames.
Stereotype:
control
Method Summary |
public static void |
Launch SAAMS. |
public static void main(String args)
Launch SAAMS.
Static.
Class MaintenanceInspector
|
public class MaintenanceInspector
An interface to SAAMS:
Maintenance Inspector Screen:
Inputs events from the Maintenance Inspector, and displays aircraft information.
This class is a controller for the AircraftManagementDatabase: sending it messages to change the aircraft status information.
This class also registers as an observer of the AircraftManagementDatabase, and is notified whenever any change occurs in that <> element.
See written documentation.
Stereotype:
boundary/view/controller
Hyperlinks to Elements:
Maintenance Inspector interface
Field Summary |
|
The Maintenance Inspector Screen interface has access to the AircraftManagementDatabase. |
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
association
The Maintenance Inspector Screen interface has access to the AircraftManagementDatabase.
Multiplicity:
1
public class ManagementRecord
An individual aircraft management record:
Either FREE or models an aircraft currently known to SAAMS.
See MRState diagram for operational details, and written documentation.
This class has public static int identifiers for the individual status codes.
An MR may be "FREE", or may contain a record of the status of an individual aircraft under the management of SAAMS.
An instance of AircraftManagementDatabase holds a collection of ManagementRecords, and sends the ManagementRecords messages to control/fetch their status.
Stereotype:
entity
Hyperlinks to Elements:
MR
MR
MR
Field Summary |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
private String |
Contains a description of what is wrong with the aircraft if it is found to be faulty during maintenance inspection. |
public static int |
Status code
See MRState diagram. |
private String |
A short string identifying the flight:
Usually airline abbreviation plus number, e.g. |
public static int |
Status code: This MR is currently not managing any aircraft information
See MRState diagram. |
private int |
The gate number allocated to this aircraft, when there is one. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
|
Holds the aircraft's itinerary. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
|
The list of passengers on the aircraft. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
private int |
The status code for this ManagementRecord. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
public static int |
Status code
See MRState diagram. |
Method Summary |
public void |
The given passenger is boarding this aircraft. |
public void |
The Maintenance Supervisor has reported faults. |
public String |
Return the flight code of this MR. |
public Itinerary |
Return the aircraft's Itinerary. |
public PassengerList |
Return the entire current PassengerList. |
public int |
Return the status code of this MR. |
public void |
Sets up the MR with details of newly detected flight
Status must be FREE now, and becomes either IN_TRANSIT or WANTING_TO_LAND depending on the details in the flight descriptor. |
public void |
This aircraft has departed from local airspace. |
public void |
Request to set the MR into a new status. |
public void |
GOC has allocated the given gate for unloading passengers. |
All Properties
Client cardinality:
1
Directed:
true
Supplier cardinality:
1
Type:
association
Association Link
All Properties
Client cardinality:
1
Directed:
true
Supplier cardinality:
1
Type:
association
public static int AWAITING_TAKEOFF = 17
Status code
See MRState diagram.
Initial value:
17
Multiplicity:
1
Static.
public static int AWAITING_TAXI = 16
Status code
See MRState diagram.
Initial value:
16
Multiplicity:
1
Static.
public static int AWAIT_REPAIR = 12
Status code
See MRState diagram.
Initial value:
12
Multiplicity:
1
Static.
public static int CLEAN_AWAIT_MAINT = 10
Status code
See MRState diagram.
Initial value:
10
Multiplicity:
1
Static.
DEPARTING_THROUGH_LOCAL_AIRSPACE
public static int DEPARTING_THROUGH_LOCAL_AIRSPACE = 18
Status code
See MRState diagram.
Initial value:
18
Multiplicity:
1
Static.
private String faultDescription
Contains a description of what is wrong with the aircraft if it is found to be faulty during maintenance inspection.
Multiplicity:
1
public static int FAULTY_AWAIT_CLEAN = 9
Status code
See MRState diagram.
Initial value:
9
Multiplicity:
1
Static.
private String flightCode
A short string identifying the flight:
Usually airline abbreviation plus number, e.g. BA127.
Obtained from the flight descriptor when the aircraft is first detected.
This is the code used in timetables, and is useful to show on public information screens.
Multiplicity:
1
public static int FREE = 0
Status code: This MR is currently not managing any aircraft information
See MRState diagram.
Initial value:
0
Multiplicity:
1
Static.
private int gateNumber
The gate number allocated to this aircraft, when there is one.
Multiplicity:
1
public static int GROUND_CLEARANCE_GRANTED = 3
Status code
See MRState diagram.
Initial value:
3
Multiplicity:
1
Static.
public static int IN_TRANSIT = 1
Status code
See MRState diagram.
Initial value:
1
Multiplicity:
1
Static.
Holds the aircraft's itinerary.
Downloaded from the flight descriptor when the aircraft is first detected.
Multiplicity:
1
public static int LANDED = 5
Status code
See MRState diagram.
Initial value:
5
Multiplicity:
1
Static.
public static int LANDING = 4
Status code
See MRState diagram.
Initial value:
4
Multiplicity:
1
Static.
public static int OK_AWAIT_CLEAN = 11
Status code
See MRState diagram.
Initial value:
11
Multiplicity:
1
Static.
The list of passengers on the aircraft.
Incoming flights supply their passenger list in their flight decsriptor.
Outbound flights have passenger lists built from passenger details supplied by the gate consoles.
Multiplicity:
1
public static int READY_CLEAN_AND_MAINT = 8
Status code
See MRState diagram.
Initial value:
8
Multiplicity:
1
Static.
public static int READY_DEPART = 15
Status code
See MRState diagram.
Initial value:
15
Multiplicity:
1
Static.
public static int READY_PASSENGERS = 14
Status code
See MRState diagram.
Initial value:
14
Multiplicity:
1
Static.
public static int READY_REFUEL = 13
Status code
See MRState diagram.
Initial value:
13
Multiplicity:
1
Static.
private int status
The status code for this ManagementRecord.
Multiplicity:
1
public static int TAXIING = 6
Status code
See MRState diagram.
Initial value:
6
Multiplicity:
1
Static.
public static int UNLOADING = 7
Status code
See MRState diagram.
Initial value:
7
Multiplicity:
1
Static.
public static int WANTING_TO_LAND = 2
Status code
See MRState diagram.
Initial value:
2
Multiplicity:
1
Static.
The given passenger is boarding this aircraft.
Their details are recorded in the passengerList.
For this operation to be applicable, the status must be READY_PASSENGERS, and it doesn't change.
Preconditions:
Status is READY_PASSENGERS
public void faultsFound(String description)
The Maintenance Supervisor has reported faults.
The problem description is recorded.
The status must have been READY_CLEAN_MAINT or CLEAN_AWAIT_MAINT and becomes FAULTY_AWAIT_CLEAN or AWAIT_REPAIR respectively.
Preconditions:
Status is READY_CLEAN_MAINT or CLEAN_AWAIT_MAINT
public String getFlightCode()
Return the flight code of this MR.
public Itinerary getItinerary()
Return the aircraft's Itinerary.
public PassengerList getPassengerList()
Return the entire current PassengerList.
public int getStatus()
Return the status code of this MR.
Sets up the MR with details of newly detected flight
Status must be FREE now, and becomes either IN_TRANSIT or WANTING_TO_LAND depending on the details in the flight descriptor.
Preconditions:
Status is FREE
public void radarLostContact()
This aircraft has departed from local airspace.
Status must have been either IN_TRANSIT or DEPARTING_THROUGH_LOCAL_AIRSPACE, and becomes FREE (and the flight details are cleared).
Preconditions:
Status is IN_TRANSIT or DEPARTING_THROUGH_LOCAL_AIRSPACE
public void setStatus(int newStatus)
Request to set the MR into a new status.
Only succeeds if the state change conforms to the MRState diagram.
This is a general purpose state change request where no special details accompany the state change.
[Special status changers are, for example, "taxiTo", where a gate number is supplied.]
Preconditions:
Valid transition requested
public void taxiTo(int gateNumber)
GOC has allocated the given gate for unloading passengers.
The gate number is recorded.The status must have been LANDED and becomes TAXIING.
Preconditions:
Status is LANDED
public class PassengerDetails
The details of an individual passenger: just a name for simplicity!
A PassengerList holds a collection of PassengerDetails.
Stereotype:
entity
Hyperlinks to Elements:
Field Summary |
private String |
The passenger's name! |
Constructor Summary |
public void |
Constructor: Just a name required. |
Method Summary |
public String |
Return the name of this passenger. |
private String name
The passenger's name!
Multiplicity:
1
public void PassengerDetails(String name)
Constructor: Just a name required.
public String getName()
Return the name of this passenger.
public class PassengerList
Contains an array of PassengerDetails objects - one per passenger on a flight.
Incoming flights supply their passenger list in their flight descriptor, and the ManagementRecord for the flight extracts the PassengerList and holds it separately.
Outbound flights have PassengerLists built from passenger details supplied by the gate consoles, and the list is uploaded to the aircraft as it departs in a newly built FlightDescriptor.
Stereotype:
entity
Hyperlinks to Elements:
Field Summary |
|
The array of PassengerDetails objects. |
Method Summary |
public void |
The given passenger is boarding. |
All Properties
Client cardinality:
1
Directed:
true
Supplier cardinality:
0..*
Type:
association
The array of PassengerDetails objects.
Multiplicity:
1
The given passenger is boarding.
Their details are recorded, in the passenger list.
Preconditions:
Status is READY_PASSENGERS
public class PublicInfo
An interface to SAAMS:
Public Information Screen:
Display of useful information about aircraft.
This class registers as an observer of the AircraftManagementDatabase, and is notified whenever any change occurs in that <> element.
See written documentation.
Stereotype:
boundary/view
Hyperlinks to Elements:
Field Summary |
|
Each Public Information Screen interface has access to the AircraftManagementDatabase. |
All Properties
Client cardinality:
0..*
Supplier cardinality:
1
Type:
association
Each Public Information Screen interface has access to the AircraftManagementDatabase.
Multiplicity:
1
public class RadarTransceiver
An interface to SAAMS:
Radar tracking of arriving and departing aircraft, and transceiver for downloading of flight descriptors
(by aircraft entering the local airspace) and uploading of passenger lists (to aircraft about to depart).
A screen simulation of the radar/transceiver system.
This class is a controller for the AircraftManagementDatabase: it sends messages to notify when a new aircraft is detected
(message contains a FlightDescriptor), and when radar contact with an aircraft is lost.
It also registers as an observer of the AircraftManagementDatabase, and is notified whenever any change occurs in that <> element.
See written documentation.
Stereotype:
boundary/view/controller
Hyperlinks to Elements:
Radar/transceiver interface
Field Summary |
|
The Radar Transceiver interface has access to the AircraftManagementDatabase. |
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
association
The Radar Transceiver interface has access to the AircraftManagementDatabase.
Multiplicity:
1
Class RefuellingSupervisor
|
public class RefuellingSupervisor
An interface to SAAMS:
Refuelling Supervisor Screen:
Inputs events from the Refuelling Supervisor, and displays aircraft information.
This class is a controller for the AircraftManagementDatabase: sending it messages to change the aircraft status information.
This class also registers as an observer of the AircraftManagementDatabase, and is notified whenever any change occurs in that <> element.
See written documentation.
Stereotype:
boundary/view/controller
Hyperlinks to Elements:
Field Summary |
|
The Refuelling Supervisor Screen interface has access to the AircraftManagementDatabase. |
All Properties
Client cardinality:
1
Supplier cardinality:
1
Type:
association
The Refuelling Supervisor Screen interface has access to the AircraftManagementDatabase.
Multiplicity:
1