diff --git a/models/Application_examples/Commercial_Flight b/models/Application_examples/Commercial_Flight index 87cd3951b834f20e3b6b57ef64ff64135a2a186f..dff2ff28e968a6d4cd77cb85edd7ea067e933a39 100644 --- a/models/Application_examples/Commercial_Flight +++ b/models/Application_examples/Commercial_Flight @@ -6,19 +6,28 @@ Edited by Pamela Dyer in July and August, 2021. Purpose: To show a system with many roots performing multiple actions, using COORDINATE and SHARE ALL statements -to make a complex web of actions linked together. +to make a web of actions linked together through phases. Description: This model demonstrates the interlacing of root events as Phases and as Actors, in order to model a -commercial flight. While complicated, users who take the -time to understand this model can learn about how to use -SHARE ALL to improve their models, and when to use -COORDINATE instead. In addition, the commented out code at -the bottom represents a simulation of COORDINATE statements -with SHARE ALL statements before COORDINATE statements were -implemented in the early MP tools. +commercial flight. References: +"Example 15: Standard flight model." + from Auguston, M. "Monterey Phoenix System and Software + Architecture and Workflow Modeling Language Manual" + (Version 4). 2020. Available online: + https://wiki.nps.edu/display/MP/Documentation + +Auguston, Mikhail, Kristin Giammarco, W. Clifton Baldwin, + Ji’on Crump, and Monica Farah-Stapleton. (2015). + "Modeling and verifying business processes with Monterey + Phoenix." Procedia Computer Science 44: 48-57. + +Giammarco, Kristin, Mikhail Auguston, W. Clifton Baldwin, + Ji’on Crump, and Monica Farah-Stapleton. (2014). + "Controlling Design Complexity with the Monterey Phoenix + Approach." Procedia Computer Science 36: 204-209 Search terms: behavior, commercial flight; event sharing; coordination, event @@ -28,13 +37,11 @@ Instructions: Run for Scope 1. ==========================================================*/ -/*----------------------------------------------------- - Phases ------------------------------------------------------*/ - SCHEMA Flight - +/*----------------------------------------------------- + Main Flight Phases +-----------------------------------------------------*/ ROOT Preflight: BoardAircraft FlightCheck @@ -43,7 +50,8 @@ ROOT Preflight: BoardAircraft IssueGroundInstruction Taxi ; -ROOT Takeoff: Clear_for_takeoff +ROOT Takeoff: (* Hold_in_queue *) + Clear_for_takeoff Liftoff Handoff_to_TRACon ; @@ -59,7 +67,7 @@ ROOT EnRoute: IssueInstruction ROOT Descent: Clear_descent Maneuver_toward_Airport ; -ROOT Approach: [ Hold ] +ROOT Approach: (* Hold *) Clear_approach Enter_approach_line Handoff_to_tower ; @@ -81,12 +89,14 @@ ROOT Passenger: BoardAircraft ROOT Pilot: FlightCheck Pushback Taxi + (* Hold_in_queue *) + Clear_for_takeoff Liftoff ChangeFrequency ( OceanicExtension | Follow_route ) ChangeFrequency2 Maneuver_toward_Airport - [ Hold ] + (* Hold *) Enter_approach_line Land Taxi_to_gate ; @@ -105,6 +115,22 @@ ROOT Controller: DepartureClearance 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 -----------------------------------------------------*/ @@ -117,7 +143,8 @@ Pilot, Preflight SHARE ALL FlightCheck, Pushback, Taxi; -Pilot, Takeoff SHARE ALL Liftoff; +Pilot, Takeoff SHARE ALL Hold_in_queue, + Liftoff; Pilot, Departure SHARE ALL ChangeFrequency; @@ -153,103 +180,3 @@ Controller, Approach SHARE ALL Clear_approach, Controller, Landing SHARE ALL Clear_landing, Taxi_instruction; - -/*--------------------------------------------------------- - Coordination between phases ----------------------------------------------------------*/ - -COORDINATE $a: BoardAircraft FROM Passenger, - $b: FlightCheck FROM Pilot, - $c: DepartureClearance FROM Controller, - $d: Pushback FROM Pilot, - $e: IssueGroundInstruction FROM Controller, - $f: ( Taxi | Hold ) FROM Pilot, - $g: Clear_for_takeoff FROM Controller, - $h: Liftoff FROM Pilot, - $i: Handoff_to_TRACon FROM Controller, - $j: ChangeFrequency FROM Pilot, - $k: IssueClearances FROM Controller - - DO ADD $a PRECEDES $b, - $b PRECEDES $c, - $c PRECEDES $d, - $d PRECEDES $e, - $e PRECEDES $f, - $f PRECEDES $g, - $g PRECEDES $h, - $h PRECEDES $i, - $i PRECEDES $j, - $j PRECEDES $k; OD; - - -COORDINATE $a: IssueInstruction FROM Controller, - $b: ( OceanicExtension | Follow_route ) FROM Pilot, - $c: ChangeFrequency2 FROM Pilot, - $d: Handoff_to_TRACon2 FROM Controller, - $e: Clear_descent FROM Controller, - $f: ( Maneuver_toward_Airport | Hold ) FROM Pilot, - $g: Clear_approach FROM Controller, - $h: Enter_approach_line FROM Pilot, - $i: Handoff_to_tower FROM Controller, - $j: Clear_landing FROM Controller, - $k: Land FROM Pilot, - $l: Taxi_instruction FROM Controller, - $m: Taxi_to_gate FROM Pilot, - $n: Disembark FROM Passenger - - DO ADD $a PRECEDES $b, - $b PRECEDES $c, - $c PRECEDES $d, - $d PRECEDES $e, - $e PRECEDES $f, - $f PRECEDES $g, - $g PRECEDES $h, - $h PRECEDES $i, - $i PRECEDES $j, - $j PRECEDES $k, - $k PRECEDES $l, - $l PRECEDES $m, - $m PRECEDES $n; OD; - -/* - -ROOT Preflight_Takeoff: Taxi - Clear_for_takeoff ; - -COORDINATE $x: Taxi FROM Preflight, - $y: Clear_for_takeoff FROM Takeoff - DO ADD $x PRECEDES $y; OD; - -ROOT Takeoff_Departure: Handoff_to_TRACon - ChangeFrequency ; - -COORDINATE $x: Handoff_to_TRACon FROM Takeoff, - $y: ChangeFrequency FROM Departure - DO ADD $x PRECEDES $y; OD; - -/* Departure and EnRoute are coordinated within Controller */ - -/* EnRoute and Descent are coordinated within Controller */ - -/*ROOT Descent_Approach: Maneuver_toward_Airport - [ Hold ] - Clear_approach ; - -COORDINATE $x: Handoff_to_TRACon FROM Descent, - $y: ChangeFrequency FROM Approach - DO ADD $x PRECEDES $y; OD; - -/* 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; -