//--------------------------------------------------------- // flight MP model, November 27, 2013 // main phases //--------------------------------------------------------- ROOT Preflight: BoardAircraft FlightCheck DepartureClearance Pushback IssueGroundInstruction Taxi ; ROOT Takeoff: Clear_for_takeoff Liftoff Handoff_to_TRACon ; ROOT Departure: ChangeFrequency IssueClearances Handoff_to_ARTCC ; ROOT EnRoute: IssueInstruction ( OceanicExtension | Follow_route ) ChangeFrequency2 Handoff_to_TRACon2 ; ROOT Descent: Clear_descent Maneuver_toward_Airport ; ROOT Approach: [ Hold ] // optional Clear_approach Enter_approach_line Handoff_to_tower ; ROOT Landing: Clear_landing Land Taxi_instruction Taxi_to_gate Disembark ; //----------------------------------------------------- // main actors //----------------------------------------------------- ROOT Passenger: BoardAircraft InsideCabin Disembark ; ROOT Pilot: FlightCheck Pushback Taxi Liftoff ChangeFrequency ( OceanicExtension | Follow_route ) ChangeFrequency2 Maneuver_toward_Airport [ Hold ] // optional Enter_approach_line Land Taxi_to_gate ; ROOT Controller: DepartureClearance IssueGroundInstruction Clear_for_takeoff Handoff_to_TRACon IssueClearances Handoff_to_ARTCC IssueInstruction Handoff_to_TRACon2 Clear_descent Clear_approach Handoff_to_tower Clear_landing Taxi_instruction ; //----------------------------------------------------- // overlaping between actors and process phases //----------------------------------------------------- Passenger, Preflight SHARE ALL BoardAircraft; Passenger, Landing SHARE ALL Disembark; Pilot, Preflight SHARE ALL FlightCheck, Pushback, Taxi; Pilot, Takeoff SHARE ALL Liftoff; Pilot, Departure SHARE ALL ChangeFrequency; Pilot, EnRoute SHARE ALL OceanicExtension, Follow_route, ChangeFrequency2; Pilot, Descent SHARE ALL Maneuver_toward_Airport; Pilot, Approach SHARE ALL Hold, Enter_approach_line; Pilot, Landing SHARE ALL Land, Taxi_to_gate; Controller, Preflight SHARE ALL DepartureClearance, IssueGroundInstruction; Controller, Takeoff SHARE ALL Clear_for_takeoff, Handoff_to_TRACon; Controller, Departure SHARE ALL IssueClearances, Handoff_to_ARTCC; Controller, EnRoute SHARE ALL IssueInstruction, Handoff_to_TRACon2; Controller, Descent SHARE ALL Clear_descent; Controller, Approach SHARE ALL Clear_approach, Handoff_to_tower; Controller, Landing SHARE ALL Clear_landing, Taxi_instruction; //--------------------------------------------------------- // coordination between phases // simulating COORDINATE with SHARE ALL //--------------------------------------------------------- ROOT Preflight_Takeoff: Taxi Clear_for_takeoff ; ROOT Takeoff_Departure: Handoff_to_TRACon ChangeFrequency ; // Departure and EnRoute are coordinated within Controller // EnRoute and Descent are coordinated within Controller ROOT Descent_Approach: Maneuver_toward_Airport [ Hold ] Clear_approach ; // Approach and Landing are coordinated within Controller Preflight, Preflight_Takeoff SHARE ALL Taxi; Preflight_Takeoff, Takeoff SHARE ALL Clear_for_takeoff; Takeoff, Takeoff_Departure SHARE ALL Handoff_to_TRACon; Takeoff_Departure, Departure SHARE ALL ChangeFrequency; Descent, Descent_Approach SHARE ALL Maneuver_toward_Airport; Descent_Approach, Approach SHARE ALL Hold, Clear_approach;