diff --git a/models/Application_examples/Stopwatch.mp b/models/Application_examples/Stopwatch.mp
index 8b137891791fe96927ad78e64b0aad7bded08bdc..51d73248a1061f1d20e63a1b5613b6976df999ad 100644
--- a/models/Application_examples/Stopwatch.mp
+++ b/models/Application_examples/Stopwatch.mp
@@ -1 +1,243 @@
+/*┬────────────────────────────────────────────────────────┐
+│*│ ┌─[ Title and Authors ]──────────────────────────────┐ │
+│*│ │ Model of a Simple Stopwatch                        │ │
+│*│ │  Created by Kristin Giammarco and Pamela Dyer      │ │
+│*│ │   in June, 2022.                                   │ │
+│*│ │  Modified by Pamela Dyer in July, 2022.            │ │
+│*│ │  Edited by Pamela Dyer in August, 2022.            │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ Purpose ]────────────────────────────────────────┐ │
+│*│ │ To illustrate how to construct a state diagram in  │ │
+│*│ │ MP based on an example model that comes with the   │ │
+│*│ │ 3DS Magic System of Systems Architect (MSOSA) tool │ │
+│*│ │ (formerly No Magic's Cameo tool), and use MP's     │ │
+│*│ │ event trace generator to trace through all paths   │ │ 
+│*│ │ of the state diagram at Scope 1.                   │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ Description ]────────────────────────────────────┐ │
+│*│ │ One of the tutorials that accompanies the MSOSA    │ │
+│*│ │ tool shows how to build an executable state diagram│ │
+│*│ │ of a simple stopwatch. Consisting of only four 	 │ │
+│*│ │ states and nine transitions, the model is ideal 	 │ │
+│*│ │ for learning the process. This MP schema aims to   │ │
+│*│ │ recreate that MSOSA model, here using events to    │ │
+│*│ │ represent alternating states and transitions. The  │ │
+│*│ │ states and transitions are placed in separate      │ │
+│*│ │ coordinated roots, resulting in two swim lanes in  │ │
+│*│ │ each event trace. This makes for more compact event│ │
+│*│ │ traces that are a little easier to read than having│ │
+│*│ │ every event within one root, for example.          │ │
+│*│ │ Event triples of state-transition-state are   	 │ │
+│*│ │ extracted from the event traces and accumulated in │ │
+│*│ │ a global graph, which is the state diagram.        │ │
+│*│ │ A table is printed on each trace to illustrate the │ │
+│*│ │ state-transition-state triples contributed by that │ │
+│*│ │ trace. This is a useful table for debugging as     │ │
+│*│ │ the model is being built. To ensure the correct    │ │
+│*│ │ state diagram here, it is important to not only    │ │
+│*│ │ remember to alternate consistently between states  │ │
+│*│ │ and transitions but to alternate consistently 	 │ │
+│*│ │ states in one root and transitions in the other.   │ │
+│*│ │ That is, do not place a transition in the state    │ │
+│*│ │ root, or a state in the transition root.           │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ References ]─────────────────────────────────────┐ │
+│*│ │ "Magic Model Analyst 2021x LTR User Guide," from   │ │
+│*│ │ No Magic, Inc., a Dassault Systèmes company. 2020. │ │
+│*│ │ Stopwatch model sample pp. 530-581.                │ │
+│*│ │ Available online:                                  │ │
+│*│ │ https://docs.nomagic.com/display/MSI190SP4/Executing+the+StopWatch+class
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ Search Terms ]───────────────────────────────────┐ │
+│*│ │ behavior, stopwatch; coordination, event;          │ │
+│*│ │ graph, finite state transition diagram;            │ │
+│*│ │ event traces, compact; tables, for debugging       │ │
+│*│ └────────────────────────────────────────────────────┘ │
+│*│                                                        │
+│*│ ┌─[ Instructions ]───────────────────────────────────┐ │
+│*│ │ Run for Scope 1.                                   │ │
+│*│ ├─[ Run Statistics ]─────────────────────────────────┤ │
+│*│ │ Scope 1: 42 traces in approx. 1.86 sec.            │ │
+│*│ └────────────────────────────────────────────────────┘ │
+└*┴───────────────────────────────────────────────────────*/
 
+
+SCHEMA StopWatch_States_and_Transitions
+
+
+ROOT States:  /* In this root, transitions in between the states are 
+                 noted as comments */
+
+        START
+        /*initialize*/
+      	
+        ready
+        /*start*/ 
+        running	
+
+        /*transition to self*/
+        (* ( /*at_1s*/ running 					      |  
+        /*transition to paused and back to running*/ 
+             /*split*/ paused /*unsplit*/ running 	) 
+         *)
+        /*transition to paused and then to stopped*/
+        ( /*split*/ paused /*pause_stop*/ | /*running_stop*/ )
+
+        stopped
+                
+
+        /*option to reset and run more times */
+        (*  /*reset*/
+            ready
+            /*start*/
+            running	
+        (* ( /*at_1s*/ running 					       | 
+             /*split*/ paused /*unsplit*/ running 	) 
+         *)
+        ( /*split*/ paused /*pause_stop*/ | /*running_stop*/ )
+
+        stopped
+        *)
+
+        /*end_stop*/
+        END
+;
+
+
+ROOT Transitions:  /* In this root, states in between the transitions are 
+                      noted as comments */
+
+        /*START*/
+        initialize /* an empty transition in 3DS tutorial */
+      	
+        /*ready*/
+        start  
+        /*running*/
+
+        /*transition to self*/
+        (* ( at_1s /*running*/						  | 
+        /*transition to paused and back to running*/ 
+             split /*paused*/ unsplit /*running*/	) 
+         *)
+        /*transition to paused and then to stopped*/
+        ( split /*paused*/ pause_stop | running_stop )
+
+        /*stopped*/
+
+        /*option to reset and run more times */
+        (*  reset
+            /*ready*/
+            start
+            /*running*/
+            (* ( at_1s /*running*/ 					   | 
+                 split /*paused*/ unsplit /*running*/ 	) 
+            *)
+            ( split /*paused*/ pause_stop | running_stop )
+
+            /*stopped*/
+        *)
+
+        end_stop
+        /*END*/
+;
+
+
+
+/* 	Coordinate statements to zip together states and transitions from 
+	separate roots */
+
+COORDINATE $a: START, $b: initialize
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: ( initialize | reset ), $b: ready
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: ready, $b: start
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: ( start | unsplit | at_1s ), $b: running
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: running, $b: ( split | running_stop | at_1s ) 
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: split, $b: paused
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: paused, $b: ( unsplit | pause_stop )
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: ( running_stop | pause_stop ), $b: stopped
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: stopped, $b: ( reset | end_stop )
+	DO ADD $a PRECEDES $b ; OD;
+
+COORDINATE $a: end_stop, $b: END
+	DO ADD $a PRECEDES $b ; 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("StopWatch State Diagram"); };
+
+COORDINATE 
+	<CUT_END>   $state1:
+					( START | ready | running | paused | stopped | END ), 
+
+			 	$transition:
+     				( initialize | start | at_1s | split | unsplit | 
+                        pause_stop | running_stop | end_stop | reset ),
+
+	<CUT_FRONT> $state2:
+				 	( START | ready | running | paused | stopped | END )  
+
+	 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 StateDiagram;  
+
+/* 	Comment in the following to see separate activity diagrams for the 
+	Transitions and the States */
+/*  SHOW ACTIVITY DIAGRAM Transitions, States; */