diff --git a/models/Application_examples/OODA_Loop.mp b/models/Application_examples/OODA_Loop.mp
index 8b137891791fe96927ad78e64b0aad7bded08bdc..aefe0b760f7f0839f7516cb26f076cdf09b4495c 100644
--- a/models/Application_examples/OODA_Loop.mp
+++ b/models/Application_examples/OODA_Loop.mp
@@ -1 +1,185 @@
+/*┬────────────────────────────────────────────────────────┐
+│*│ ┌─[ Title and Authors ]──────────────────────────────┐ │
+│*│ │ Model of OODA Loop                                 │ │
+│*│ │  Created by Pamela Dyer, Kristin Giammarco, and    │ │
+│*│ │   Shelley Gallup in July, 2022.                    │ │
+│*│ │  Modified by Pamela Dyer in August, 2022.          │ │
+│*│ │  Edited by Pamela Dyer and Kristin Giammarco in    │ │
+│*│ │   October, 2022.                                   │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ Purpose ]────────────────────────────────────────┐ │
+│*│ │ To use MP to model an adaptation of the well-known │ │
+│*│ │ Observe-Orient-Decide-Act cycle (OODA Loop), and to│ │
+│*│ │ generate accompanying state diagrams that visually │ │
+│*│ │ demonstrate this process.                          │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ Description ]────────────────────────────────────┐ │
+│*│ │ In this MP model, the four main OODA Loop steps are│ │
+│*│ │ defined in one root as the States, and then all    │ │
+│*│ │ events representing forward flow or feedback that  │ │
+│*│ │ connects states together are defined in a second   │ │
+│*│ │ root as the Transitions. The States root below     │ │
+│*│ │ contains outer loop(s) of Observe-Orient-Decide-Act│ │
+│*│ │ and inner loop(s) of Observe-Orient-Decide. The    │ │
+│*│ │ <1..3> gives the option of 1, 2, or 3 inner loops  │ │
+│*│ │ of Observe-Orient-Decide within each outer loop of │ │
+│*│ │ Observe-Orient-Decide-Act. The last four COORDINATE│ │
+│*│ │ statements below properly connect States to the    │ │
+│*│ │ appropriate Transitions - if Observe is the event  │ │
+│*│ │ immediately following Decide in the States root,   │ │
+│*│ │ then "decide_to_observe_feedback" is the Transition│ │
+│*│ │ between them, for example. It is also important to │ │
+│*│ │ note that the state diagram produced at Scope 1    │ │
+│*│ │ does not show the one portion of moving from Act   │ │
+│*│ │ back to Observe. This is because only one full     │ │
+│*│ │ cycle of Observe-Orient-Decide-Act is allowed in   │ │
+│*│ │ this model at Scope 1, per the iteration structure.│ │
+│*│ │ Starting at Scope 2 and above, multiple full cycles│ │
+│*│ │ can be seen in the generated traces, and therefore │ │
+│*│ │ the full state diagram is also visible.            │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ References ]─────────────────────────────────────┐ │
+│*│ │ Osinga, Frans P.B. Science, Strategy and War: The  │ │
+│*│ │ Strategic Theory of John Boyd. London ; New York : │ │
+│*│ │ Routledge, 2007.                                   │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ Search Terms ]───────────────────────────────────┐ │
+│*│ │ behavior, OODA Loop; scope, local;                 │ │
+│*│ │ coordination, event; coordination, conditional;    │ │
+│*│ │ graph, finite state transition diagram;            │ │
+│*│ │ tables, for debugging; graph, activity diagram     │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ Instructions ]───────────────────────────────────┐ │
+│*│ │ Run for Scopes 1, 2, and 3.                        │ │
+│*│ ├─[ Run Statistics ]─────────────────────────────────┤ │
+│*│ │ Scope 1: 2 traces in less than 1 sec.              │ │
+│*│ │ Scope 2: 12 traces in less than 1 sec.             │ │
+│*│ │ Scope 3: 39 traces in approx. 1.2 min.             │ │
+│*│ └────────────────────────────────────────────────────┘ │
+└*┴───────────────────────────────────────────────────────*/
 
+
+SCHEMA OODA_Loop
+
+
+ROOT States:        (+  (+ <1..3> Observe
+                                  Orient
+                                  Decide  +)
+                                  Act         +)
+;
+
+ROOT Transitions:   (+  observe_to_orient
+                        orient_to_decide
+                        (* decide_to_observe_feedback 
+                           observe_to_orient
+                           orient_to_decide            *)
+                        decide_to_act
+                        [ act_to_observe_feedback ]        +)
+;
+
+
+COORDINATE  $x: Observe, 
+            $y: observe_to_orient
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: observe_to_orient, 
+            $y: Orient
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: Orient, 
+            $y: orient_to_decide
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: orient_to_decide,
+            $y: Decide
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: Decide
+     SUCH THAT #Act FOLLOWS $x == 1,
+            $y: decide_to_act
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: decide_to_act,
+            $y: Act
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: Decide
+     SUCH THAT #Observe FOLLOWS $x == 1,
+            $y: decide_to_observe_feedback
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: decide_to_observe_feedback,
+            $y: Observe
+     SUCH THAT #Decide PRECEDES $y == 1
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: Act
+     SUCH THAT #Observe FOLLOWS $x == 1,
+            $y: act_to_observe_feedback
+    DO ADD  $x PRECEDES $y; OD;
+
+COORDINATE  $x: act_to_observe_feedback,
+            $y: Observe
+     SUCH THAT #Act PRECEDES $y == 1
+    DO ADD  $x PRECEDES $y; OD;
+
+
+/* 	Create a diagnostic table on each event trace showing 
+	the state-transition-state triples used to graph the 
+    state diagram */
+
+TABLE StatechartDiagnosticTable 
+	{	TITLE ("Statechart Triples from This Trace");
+    	TABS 	string state1,
+				string transition,
+				string state2;
+    };
+
+/*	The following command empties the table before
+	populating it for each trace */							
+CLEAR StatechartDiagnosticTable;
+
+
+/*  Build the state diagram */
+
+GRAPH StateDiagram{ TITLE("OODA Loop State Diagram"); };
+
+COORDINATE 
+	<CUT_END>   $state1:
+					( Observe | Orient | Decide | Act ), 
+
+			 	$transition:
+     				( observe_to_orient | orient_to_decide | decide_to_act | 
+                         act_to_observe_feedback | decide_to_observe_feedback ),
+
+	<CUT_FRONT> $state2:
+				 	( Observe | Orient | Decide | Act )
+
+	 DO	WITHIN StateDiagram { ADD 	LAST ($state1) 
+        							ARROW($transition) 
+        							LAST ($state2); 
+							 }; 
+
+	/* 	Populate the diagnostic table with each state1-transition-state2 
+    	triple */ 		
+
+	StatechartDiagnosticTable <|
+							state1: SAY($state1),
+							transition: SAY($transition),
+							state2: SAY($state2) ;
+	 OD; 
+
+/* Print the tables and graphs */
+
+SHOW StatechartDiagnosticTable;
+
+GLOBAL
+
+SHOW ACTIVITY DIAGRAM States;
+
+SHOW StateDiagram;