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