Skip to content
Snippets Groups Projects
Commit 72ce2d15 authored by Giammarco, Kristin M's avatar Giammarco, Kristin M
Browse files

Update models/Application_examples/Commercial_Flight

parent 87f46a25
No related branches found
No related tags found
No related merge requests found
......@@ -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;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment