diff --git a/Commercial_Flight.mp b/Commercial_Flight.mp new file mode 100644 index 0000000000000000000000000000000000000000..a69ad564f78826a38a17330e00e22b13362c361a --- /dev/null +++ b/Commercial_Flight.mp @@ -0,0 +1,163 @@ +/* Commercial_Flight.mp + + All major segments and actors in a flight are modeled by roots, +and their interconnected actions are modeled by "share all" statements +that connect multiple roots to the same actions. This creates a web +of interdependencies while also showing which actions are shared by +multiple parties in the flight. + + This model demonstrates how "SHARE ALL" can be used to + +*/ + +/************************/ +/* Main flight phases */ +/************************/ + +SCHEMA Commercial_Flight + +ROOT Preflight: + BoardAircraft + FlightCheck + DepartureClearance + Pushback + IssueGroundInstruction + Taxi + Clear_for_takeoff; + +ROOT Takeoff: + (* Hold_in_queue *) + 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 *) + 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 + (* Hold_in_queue *) + Clear_for_takeoff + Liftoff + ChangeFrequency + ( OceanicExtension | Follow_route ) + ChangeFrequency2 + Maneuver_toward_Airport + (* Hold *) + 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; + +/*---------------------------------------------------*/ +/* Interactions between phases */ +/*---------------------------------------------------*/ + +COORDINATE $a: Taxi FROM Preflight, +$b: Clear_for_takeoff FROM Takeoff +DO ADD $a PRECEDES $b; OD; + +COORDINATE $a: Handoff_to_TRACon FROM Takeoff, +$b: IssueClearances FROM Departure +DO ADD $a PRECEDES $b; OD; + +COORDINATE $a:Maneuver_toward_Airport FROM Descent, +$b:Clear_approach FROM Approach +DO ADD $a PRECEDES $b; OD; + +/*-----------------------------------------------------------*/ +/* Overlapping 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 Hold_in_queue, + 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; \ No newline at end of file