Skip to content
Snippets Groups Projects
Commit c874893f authored by Pamela Dyer's avatar Pamela Dyer
Browse files

Update models/Application_examples/Euclids_Algorithm.mp

parent 5d61456d
No related branches found
No related tags found
1 merge request!67Update Euclids_Algorithm.mp
/*┬────────────────────────────────────────────────────────┐
│*│ ┌─[ Title and Authors ]──────────────────────────────┐ │
│*│ │ Model of Euclids Algorithm │ │
│*│ │ Created by Michael Collins │ │
│*│ │ October, 2022. │ │
│*│ │ Created by Michael Collins in October, 2022. │ │
│*│ │ Edited by Pamela Dyer and Kristin Giammarco in │ │
│*│ │ October, 2022. │ │
│*│ │ October, 2022. │ │
│*│ └────────────────────────────────────────────────────┘ │
│*│ │
│*│ ┌─[ Purpose ]────────────────────────────────────────┐ │
......@@ -29,26 +28,26 @@
│*│ │
│*│ ┌─[ Search Terms ]───────────────────────────────────┐ │
│*│ │ behavior, Euclid, GCD, Lamport ; │ │
│*│ │ coordination, event; coordination, conditional; │ │
│*│ │ coordination, event; coordination, conditional │ │
│*│ └────────────────────────────────────────────────────┘ │
│*│ │
│*│ ┌─[ Instructions ]───────────────────────────────────┐ │
│*│ │ Run for Scopes 1, 2, and 3. │ │
│*│ ├─[ Run Statistics ]─────────────────────────────────┤ │
│*│ │ Scope 1: 4 traces in less than 1 sec. │ │
│*│ │ Scope 2: 11 traces in less than 1 sec. │ │
│*│ │ Scope 3: 26 traces in less than 1 sec. │ │
│*│ │ Scope 2: 10 traces in less than 1 sec. │ │
│*│ │ Scope 3: 22 traces in less than 1 sec. │ │
│*│ └────────────────────────────────────────────────────┘ │
└*┴───────────────────────────────────────────────────────*/
SCHEMA Euclids_Algorithm
ROOT GCD: set_initial_value_for_x
set_initial_Value_for_y
ROOT GCD: set_initial_value_for_x
set_initial_Value_for_y
(*
( x_has_become_greater_than_y
x_is assigned_new_value_of_y_subtracted_from_x
x_is_assigned_new_value_of_y_subtracted_from_x
y_does_not_change_value
|
y_has_become_greater_than_x
......@@ -62,7 +61,8 @@ ROOT GCD: set_initial_value_for_x
IF #x_equals_y > 0 THEN
ENSURE FOREACH $x:x_equals_y
ENSURE #x_equals_y == 1;
ENSURE FOREACH $x: x_equals_y
#x_has_become_greater_than_y AFTER $x == 0 AND
......
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