aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Aren Babikian <aren.babikian@mail.mcgill.ca>2021-01-14 09:20:51 -0500
committerLibravatar Aren Babikian <aren.babikian@mail.mcgill.ca>2021-01-14 09:20:51 -0500
commit0868e0abe8008dd3f5b237581386d44ac38c1125 (patch)
tree29ffa643d071147774daa502bf36b18713f658f7
parentAdd some documents to debug MG issue (diff)
downloadVIATRA-Generator-0868e0abe8008dd3f5b237581386d44ac38c1125.tar.gz
VIATRA-Generator-0868e0abe8008dd3f5b237581386d44ac38c1125.tar.zst
VIATRA-Generator-0868e0abe8008dd3f5b237581386d44ac38c1125.zip
Adjust simpleScenario MM and add constraints
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/Actor.java43
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/Lane.java26
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/SeperationDistance.java23
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenario.java23
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenarioPackage.java148
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/VisionBlocked.java2
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/impl/ActorImpl.java102
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/impl/LaneImpl.java64
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java56
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java56
-rw-r--r--Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java52
-rw-r--r--Domains/simpleScenario/inputs/simpleScenarioGen.vsconfig2
-rw-r--r--Domains/simpleScenario/model/simpleScenario.aird117
-rw-r--r--Domains/simpleScenario/model/simpleScenario.ecore20
-rw-r--r--Domains/simpleScenario/model/simpleScenario.genmodel11
-rw-r--r--Domains/simpleScenario/plugin.xml13
-rw-r--r--Domains/simpleScenario/queries/simpleScenarioQueries.vql392
17 files changed, 825 insertions, 325 deletions
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/Actor.java b/Domains/simpleScenario/ecore-gen/simpleScenario/Actor.java
index 996d349c..92c0ee3f 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/Actor.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/Actor.java
@@ -19,9 +19,10 @@ import org.eclipse.emf.ecore.EObject;
19 * <li>{@link simpleScenario.Actor#getYPos <em>YPos</em>}</li> 19 * <li>{@link simpleScenario.Actor#getYPos <em>YPos</em>}</li>
20 * <li>{@link simpleScenario.Actor#getLength <em>Length</em>}</li> 20 * <li>{@link simpleScenario.Actor#getLength <em>Length</em>}</li>
21 * <li>{@link simpleScenario.Actor#getWidth <em>Width</em>}</li> 21 * <li>{@link simpleScenario.Actor#getWidth <em>Width</em>}</li>
22 * <li>{@link simpleScenario.Actor#getSpeed <em>Speed</em>}</li> 22 * <li>{@link simpleScenario.Actor#getXSpeed <em>XSpeed</em>}</li>
23 * <li>{@link simpleScenario.Actor#getRelations <em>Relations</em>}</li> 23 * <li>{@link simpleScenario.Actor#getRelations <em>Relations</em>}</li>
24 * <li>{@link simpleScenario.Actor#getPlacedOn <em>Placed On</em>}</li> 24 * <li>{@link simpleScenario.Actor#getPlacedOn <em>Placed On</em>}</li>
25 * <li>{@link simpleScenario.Actor#getYSpeed <em>YSpeed</em>}</li>
25 * </ul> 26 * </ul>
26 * 27 *
27 * @see simpleScenario.SimpleScenarioPackage#getActor() 28 * @see simpleScenario.SimpleScenarioPackage#getActor()
@@ -119,27 +120,27 @@ public interface Actor extends EObject {
119 void setWidth(double value); 120 void setWidth(double value);
120 121
121 /** 122 /**
122 * Returns the value of the '<em><b>Speed</b></em>' attribute. 123 * Returns the value of the '<em><b>XSpeed</b></em>' attribute.
123 * The default value is <code>"0.0"</code>. 124 * The default value is <code>"0.0"</code>.
124 * <!-- begin-user-doc --> 125 * <!-- begin-user-doc -->
125 * <!-- end-user-doc --> 126 * <!-- end-user-doc -->
126 * @return the value of the '<em>Speed</em>' attribute. 127 * @return the value of the '<em>XSpeed</em>' attribute.
127 * @see #setSpeed(double) 128 * @see #setXSpeed(double)
128 * @see simpleScenario.SimpleScenarioPackage#getActor_Speed() 129 * @see simpleScenario.SimpleScenarioPackage#getActor_XSpeed()
129 * @model default="0.0" required="true" 130 * @model default="0.0" required="true"
130 * @generated 131 * @generated
131 */ 132 */
132 double getSpeed(); 133 double getXSpeed();
133 134
134 /** 135 /**
135 * Sets the value of the '{@link simpleScenario.Actor#getSpeed <em>Speed</em>}' attribute. 136 * Sets the value of the '{@link simpleScenario.Actor#getXSpeed <em>XSpeed</em>}' attribute.
136 * <!-- begin-user-doc --> 137 * <!-- begin-user-doc -->
137 * <!-- end-user-doc --> 138 * <!-- end-user-doc -->
138 * @param value the new value of the '<em>Speed</em>' attribute. 139 * @param value the new value of the '<em>XSpeed</em>' attribute.
139 * @see #getSpeed() 140 * @see #getXSpeed()
140 * @generated 141 * @generated
141 */ 142 */
142 void setSpeed(double value); 143 void setXSpeed(double value);
143 144
144 /** 145 /**
145 * Returns the value of the '<em><b>Relations</b></em>' containment reference list. 146 * Returns the value of the '<em><b>Relations</b></em>' containment reference list.
@@ -177,4 +178,26 @@ public interface Actor extends EObject {
177 */ 178 */
178 void setPlacedOn(Lane value); 179 void setPlacedOn(Lane value);
179 180
181 /**
182 * Returns the value of the '<em><b>YSpeed</b></em>' attribute.
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @return the value of the '<em>YSpeed</em>' attribute.
186 * @see #setYSpeed(double)
187 * @see simpleScenario.SimpleScenarioPackage#getActor_YSpeed()
188 * @model required="true"
189 * @generated
190 */
191 double getYSpeed();
192
193 /**
194 * Sets the value of the '{@link simpleScenario.Actor#getYSpeed <em>YSpeed</em>}' attribute.
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @param value the new value of the '<em>YSpeed</em>' attribute.
198 * @see #getYSpeed()
199 * @generated
200 */
201 void setYSpeed(double value);
202
180} // Actor 203} // Actor
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/Lane.java b/Domains/simpleScenario/ecore-gen/simpleScenario/Lane.java
index 9532cd64..376117d0 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/Lane.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/Lane.java
@@ -18,7 +18,7 @@ import org.eclipse.emf.ecore.EObject;
18 * <li>{@link simpleScenario.Lane#getOrientation <em>Orientation</em>}</li> 18 * <li>{@link simpleScenario.Lane#getOrientation <em>Orientation</em>}</li>
19 * <li>{@link simpleScenario.Lane#getWidth <em>Width</em>}</li> 19 * <li>{@link simpleScenario.Lane#getWidth <em>Width</em>}</li>
20 * <li>{@link simpleScenario.Lane#getReferenceCoord <em>Reference Coord</em>}</li> 20 * <li>{@link simpleScenario.Lane#getReferenceCoord <em>Reference Coord</em>}</li>
21 * <li>{@link simpleScenario.Lane#getAdjacent <em>Adjacent</em>}</li> 21 * <li>{@link simpleScenario.Lane#getPrevLane <em>Prev Lane</em>}</li>
22 * <li>{@link simpleScenario.Lane#getActors <em>Actors</em>}</li> 22 * <li>{@link simpleScenario.Lane#getActors <em>Actors</em>}</li>
23 * <li>{@link simpleScenario.Lane#getNumWidth <em>Num Width</em>}</li> 23 * <li>{@link simpleScenario.Lane#getNumWidth <em>Num Width</em>}</li>
24 * </ul> 24 * </ul>
@@ -101,16 +101,26 @@ public interface Lane extends EObject {
101 void setReferenceCoord(double value); 101 void setReferenceCoord(double value);
102 102
103 /** 103 /**
104 * Returns the value of the '<em><b>Adjacent</b></em>' reference list. 104 * Returns the value of the '<em><b>Prev Lane</b></em>' reference.
105 * The list contents are of type {@link simpleScenario.Lane}.
106 * <!-- begin-user-doc --> 105 * <!-- begin-user-doc -->
107 * <!-- end-user-doc --> 106 * <!-- end-user-doc -->
108 * @return the value of the '<em>Adjacent</em>' reference list. 107 * @return the value of the '<em>Prev Lane</em>' reference.
109 * @see simpleScenario.SimpleScenarioPackage#getLane_Adjacent() 108 * @see #setPrevLane(Lane)
110 * @model upper="2" 109 * @see simpleScenario.SimpleScenarioPackage#getLane_PrevLane()
110 * @model
111 * @generated 111 * @generated
112 */ 112 */
113 EList<Lane> getAdjacent(); 113 Lane getPrevLane();
114
115 /**
116 * Sets the value of the '{@link simpleScenario.Lane#getPrevLane <em>Prev Lane</em>}' reference.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @param value the new value of the '<em>Prev Lane</em>' reference.
120 * @see #getPrevLane()
121 * @generated
122 */
123 void setPrevLane(Lane value);
114 124
115 /** 125 /**
116 * Returns the value of the '<em><b>Actors</b></em>' reference list. 126 * Returns the value of the '<em><b>Actors</b></em>' reference list.
@@ -134,7 +144,7 @@ public interface Lane extends EObject {
134 * @return the value of the '<em>Num Width</em>' attribute. 144 * @return the value of the '<em>Num Width</em>' attribute.
135 * @see #setNumWidth(double) 145 * @see #setNumWidth(double)
136 * @see simpleScenario.SimpleScenarioPackage#getLane_NumWidth() 146 * @see simpleScenario.SimpleScenarioPackage#getLane_NumWidth()
137 * @model default="0.0" required="true" derived="true" 147 * @model default="0.0" required="true"
138 * @generated 148 * @generated
139 */ 149 */
140 double getNumWidth(); 150 double getNumWidth();
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/SeperationDistance.java b/Domains/simpleScenario/ecore-gen/simpleScenario/SeperationDistance.java
index 140b4e4b..8af1f25e 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/SeperationDistance.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/SeperationDistance.java
@@ -13,7 +13,6 @@ package simpleScenario;
13 * </p> 13 * </p>
14 * <ul> 14 * <ul>
15 * <li>{@link simpleScenario.SeperationDistance#getDistance <em>Distance</em>}</li> 15 * <li>{@link simpleScenario.SeperationDistance#getDistance <em>Distance</em>}</li>
16 * <li>{@link simpleScenario.SeperationDistance#getNumDistance <em>Num Distance</em>}</li>
17 * </ul> 16 * </ul>
18 * 17 *
19 * @see simpleScenario.SimpleScenarioPackage#getSeperationDistance() 18 * @see simpleScenario.SimpleScenarioPackage#getSeperationDistance()
@@ -46,26 +45,4 @@ public interface SeperationDistance extends SpatialRelation {
46 */ 45 */
47 void setDistance(Distance value); 46 void setDistance(Distance value);
48 47
49 /**
50 * Returns the value of the '<em><b>Num Distance</b></em>' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Num Distance</em>' attribute.
54 * @see #setNumDistance(double)
55 * @see simpleScenario.SimpleScenarioPackage#getSeperationDistance_NumDistance()
56 * @model required="true" derived="true"
57 * @generated
58 */
59 double getNumDistance();
60
61 /**
62 * Sets the value of the '{@link simpleScenario.SeperationDistance#getNumDistance <em>Num Distance</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Num Distance</em>' attribute.
66 * @see #getNumDistance()
67 * @generated
68 */
69 void setNumDistance(double value);
70
71} // SeperationDistance 48} // SeperationDistance
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenario.java b/Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenario.java
index bc92c51c..718d5bea 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenario.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenario.java
@@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.EObject;
19 * <li>{@link simpleScenario.SimpleScenario#getYSize <em>YSize</em>}</li> 19 * <li>{@link simpleScenario.SimpleScenario#getYSize <em>YSize</em>}</li>
20 * <li>{@link simpleScenario.SimpleScenario#getActors <em>Actors</em>}</li> 20 * <li>{@link simpleScenario.SimpleScenario#getActors <em>Actors</em>}</li>
21 * <li>{@link simpleScenario.SimpleScenario#getLanes <em>Lanes</em>}</li> 21 * <li>{@link simpleScenario.SimpleScenario#getLanes <em>Lanes</em>}</li>
22 * <li>{@link simpleScenario.SimpleScenario#getMaxTime <em>Max Time</em>}</li>
22 * </ul> 23 * </ul>
23 * 24 *
24 * @see simpleScenario.SimpleScenarioPackage#getSimpleScenario() 25 * @see simpleScenario.SimpleScenarioPackage#getSimpleScenario()
@@ -94,4 +95,26 @@ public interface SimpleScenario extends EObject {
94 */ 95 */
95 EList<Lane> getLanes(); 96 EList<Lane> getLanes();
96 97
98 /**
99 * Returns the value of the '<em><b>Max Time</b></em>' attribute.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @return the value of the '<em>Max Time</em>' attribute.
103 * @see #setMaxTime(double)
104 * @see simpleScenario.SimpleScenarioPackage#getSimpleScenario_MaxTime()
105 * @model
106 * @generated
107 */
108 double getMaxTime();
109
110 /**
111 * Sets the value of the '{@link simpleScenario.SimpleScenario#getMaxTime <em>Max Time</em>}' attribute.
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @param value the new value of the '<em>Max Time</em>' attribute.
115 * @see #getMaxTime()
116 * @generated
117 */
118 void setMaxTime(double value);
119
97} // SimpleScenario 120} // SimpleScenario
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenarioPackage.java b/Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenarioPackage.java
index 3458d7c7..897d4653 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenarioPackage.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/SimpleScenarioPackage.java
@@ -104,13 +104,22 @@ public interface SimpleScenarioPackage extends EPackage {
104 int SIMPLE_SCENARIO__LANES = 3; 104 int SIMPLE_SCENARIO__LANES = 3;
105 105
106 /** 106 /**
107 * The feature id for the '<em><b>Max Time</b></em>' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 * @ordered
112 */
113 int SIMPLE_SCENARIO__MAX_TIME = 4;
114
115 /**
107 * The number of structural features of the '<em>Simple Scenario</em>' class. 116 * The number of structural features of the '<em>Simple Scenario</em>' class.
108 * <!-- begin-user-doc --> 117 * <!-- begin-user-doc -->
109 * <!-- end-user-doc --> 118 * <!-- end-user-doc -->
110 * @generated 119 * @generated
111 * @ordered 120 * @ordered
112 */ 121 */
113 int SIMPLE_SCENARIO_FEATURE_COUNT = 4; 122 int SIMPLE_SCENARIO_FEATURE_COUNT = 5;
114 123
115 /** 124 /**
116 * The number of operations of the '<em>Simple Scenario</em>' class. 125 * The number of operations of the '<em>Simple Scenario</em>' class.
@@ -159,13 +168,13 @@ public interface SimpleScenarioPackage extends EPackage {
159 int LANE__REFERENCE_COORD = 2; 168 int LANE__REFERENCE_COORD = 2;
160 169
161 /** 170 /**
162 * The feature id for the '<em><b>Adjacent</b></em>' reference list. 171 * The feature id for the '<em><b>Prev Lane</b></em>' reference.
163 * <!-- begin-user-doc --> 172 * <!-- begin-user-doc -->
164 * <!-- end-user-doc --> 173 * <!-- end-user-doc -->
165 * @generated 174 * @generated
166 * @ordered 175 * @ordered
167 */ 176 */
168 int LANE__ADJACENT = 3; 177 int LANE__PREV_LANE = 3;
169 178
170 /** 179 /**
171 * The feature id for the '<em><b>Actors</b></em>' reference list. 180 * The feature id for the '<em><b>Actors</b></em>' reference list.
@@ -250,13 +259,13 @@ public interface SimpleScenarioPackage extends EPackage {
250 int ACTOR__WIDTH = 3; 259 int ACTOR__WIDTH = 3;
251 260
252 /** 261 /**
253 * The feature id for the '<em><b>Speed</b></em>' attribute. 262 * The feature id for the '<em><b>XSpeed</b></em>' attribute.
254 * <!-- begin-user-doc --> 263 * <!-- begin-user-doc -->
255 * <!-- end-user-doc --> 264 * <!-- end-user-doc -->
256 * @generated 265 * @generated
257 * @ordered 266 * @ordered
258 */ 267 */
259 int ACTOR__SPEED = 4; 268 int ACTOR__XSPEED = 4;
260 269
261 /** 270 /**
262 * The feature id for the '<em><b>Relations</b></em>' containment reference list. 271 * The feature id for the '<em><b>Relations</b></em>' containment reference list.
@@ -277,13 +286,22 @@ public interface SimpleScenarioPackage extends EPackage {
277 int ACTOR__PLACED_ON = 6; 286 int ACTOR__PLACED_ON = 6;
278 287
279 /** 288 /**
289 * The feature id for the '<em><b>YSpeed</b></em>' attribute.
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 * @ordered
294 */
295 int ACTOR__YSPEED = 7;
296
297 /**
280 * The number of structural features of the '<em>Actor</em>' class. 298 * The number of structural features of the '<em>Actor</em>' class.
281 * <!-- begin-user-doc --> 299 * <!-- begin-user-doc -->
282 * <!-- end-user-doc --> 300 * <!-- end-user-doc -->
283 * @generated 301 * @generated
284 * @ordered 302 * @ordered
285 */ 303 */
286 int ACTOR_FEATURE_COUNT = 7; 304 int ACTOR_FEATURE_COUNT = 8;
287 305
288 /** 306 /**
289 * The number of operations of the '<em>Actor</em>' class. 307 * The number of operations of the '<em>Actor</em>' class.
@@ -480,22 +498,13 @@ public interface SimpleScenarioPackage extends EPackage {
480 int SEPERATION_DISTANCE__DISTANCE = SPATIAL_RELATION_FEATURE_COUNT + 0; 498 int SEPERATION_DISTANCE__DISTANCE = SPATIAL_RELATION_FEATURE_COUNT + 0;
481 499
482 /** 500 /**
483 * The feature id for the '<em><b>Num Distance</b></em>' attribute.
484 * <!-- begin-user-doc -->
485 * <!-- end-user-doc -->
486 * @generated
487 * @ordered
488 */
489 int SEPERATION_DISTANCE__NUM_DISTANCE = SPATIAL_RELATION_FEATURE_COUNT + 1;
490
491 /**
492 * The number of structural features of the '<em>Seperation Distance</em>' class. 501 * The number of structural features of the '<em>Seperation Distance</em>' class.
493 * <!-- begin-user-doc --> 502 * <!-- begin-user-doc -->
494 * <!-- end-user-doc --> 503 * <!-- end-user-doc -->
495 * @generated 504 * @generated
496 * @ordered 505 * @ordered
497 */ 506 */
498 int SEPERATION_DISTANCE_FEATURE_COUNT = SPATIAL_RELATION_FEATURE_COUNT + 2; 507 int SEPERATION_DISTANCE_FEATURE_COUNT = SPATIAL_RELATION_FEATURE_COUNT + 1;
499 508
500 /** 509 /**
501 * The number of operations of the '<em>Seperation Distance</em>' class. 510 * The number of operations of the '<em>Seperation Distance</em>' class.
@@ -636,13 +645,13 @@ public interface SimpleScenarioPackage extends EPackage {
636 int PEDESTRIAN__WIDTH = ACTOR__WIDTH; 645 int PEDESTRIAN__WIDTH = ACTOR__WIDTH;
637 646
638 /** 647 /**
639 * The feature id for the '<em><b>Speed</b></em>' attribute. 648 * The feature id for the '<em><b>XSpeed</b></em>' attribute.
640 * <!-- begin-user-doc --> 649 * <!-- begin-user-doc -->
641 * <!-- end-user-doc --> 650 * <!-- end-user-doc -->
642 * @generated 651 * @generated
643 * @ordered 652 * @ordered
644 */ 653 */
645 int PEDESTRIAN__SPEED = ACTOR__SPEED; 654 int PEDESTRIAN__XSPEED = ACTOR__XSPEED;
646 655
647 /** 656 /**
648 * The feature id for the '<em><b>Relations</b></em>' containment reference list. 657 * The feature id for the '<em><b>Relations</b></em>' containment reference list.
@@ -663,6 +672,15 @@ public interface SimpleScenarioPackage extends EPackage {
663 int PEDESTRIAN__PLACED_ON = ACTOR__PLACED_ON; 672 int PEDESTRIAN__PLACED_ON = ACTOR__PLACED_ON;
664 673
665 /** 674 /**
675 * The feature id for the '<em><b>YSpeed</b></em>' attribute.
676 * <!-- begin-user-doc -->
677 * <!-- end-user-doc -->
678 * @generated
679 * @ordered
680 */
681 int PEDESTRIAN__YSPEED = ACTOR__YSPEED;
682
683 /**
666 * The number of structural features of the '<em>Pedestrian</em>' class. 684 * The number of structural features of the '<em>Pedestrian</em>' class.
667 * <!-- begin-user-doc --> 685 * <!-- begin-user-doc -->
668 * <!-- end-user-doc --> 686 * <!-- end-user-doc -->
@@ -727,13 +745,13 @@ public interface SimpleScenarioPackage extends EPackage {
727 int VEHICLE__WIDTH = ACTOR__WIDTH; 745 int VEHICLE__WIDTH = ACTOR__WIDTH;
728 746
729 /** 747 /**
730 * The feature id for the '<em><b>Speed</b></em>' attribute. 748 * The feature id for the '<em><b>XSpeed</b></em>' attribute.
731 * <!-- begin-user-doc --> 749 * <!-- begin-user-doc -->
732 * <!-- end-user-doc --> 750 * <!-- end-user-doc -->
733 * @generated 751 * @generated
734 * @ordered 752 * @ordered
735 */ 753 */
736 int VEHICLE__SPEED = ACTOR__SPEED; 754 int VEHICLE__XSPEED = ACTOR__XSPEED;
737 755
738 /** 756 /**
739 * The feature id for the '<em><b>Relations</b></em>' containment reference list. 757 * The feature id for the '<em><b>Relations</b></em>' containment reference list.
@@ -754,6 +772,15 @@ public interface SimpleScenarioPackage extends EPackage {
754 int VEHICLE__PLACED_ON = ACTOR__PLACED_ON; 772 int VEHICLE__PLACED_ON = ACTOR__PLACED_ON;
755 773
756 /** 774 /**
775 * The feature id for the '<em><b>YSpeed</b></em>' attribute.
776 * <!-- begin-user-doc -->
777 * <!-- end-user-doc -->
778 * @generated
779 * @ordered
780 */
781 int VEHICLE__YSPEED = ACTOR__YSPEED;
782
783 /**
757 * The number of structural features of the '<em>Vehicle</em>' class. 784 * The number of structural features of the '<em>Vehicle</em>' class.
758 * <!-- begin-user-doc --> 785 * <!-- begin-user-doc -->
759 * <!-- end-user-doc --> 786 * <!-- end-user-doc -->
@@ -856,6 +883,17 @@ public interface SimpleScenarioPackage extends EPackage {
856 EReference getSimpleScenario_Lanes(); 883 EReference getSimpleScenario_Lanes();
857 884
858 /** 885 /**
886 * Returns the meta object for the attribute '{@link simpleScenario.SimpleScenario#getMaxTime <em>Max Time</em>}'.
887 * <!-- begin-user-doc -->
888 * <!-- end-user-doc -->
889 * @return the meta object for the attribute '<em>Max Time</em>'.
890 * @see simpleScenario.SimpleScenario#getMaxTime()
891 * @see #getSimpleScenario()
892 * @generated
893 */
894 EAttribute getSimpleScenario_MaxTime();
895
896 /**
859 * Returns the meta object for class '{@link simpleScenario.Lane <em>Lane</em>}'. 897 * Returns the meta object for class '{@link simpleScenario.Lane <em>Lane</em>}'.
860 * <!-- begin-user-doc --> 898 * <!-- begin-user-doc -->
861 * <!-- end-user-doc --> 899 * <!-- end-user-doc -->
@@ -899,15 +937,15 @@ public interface SimpleScenarioPackage extends EPackage {
899 EAttribute getLane_ReferenceCoord(); 937 EAttribute getLane_ReferenceCoord();
900 938
901 /** 939 /**
902 * Returns the meta object for the reference list '{@link simpleScenario.Lane#getAdjacent <em>Adjacent</em>}'. 940 * Returns the meta object for the reference '{@link simpleScenario.Lane#getPrevLane <em>Prev Lane</em>}'.
903 * <!-- begin-user-doc --> 941 * <!-- begin-user-doc -->
904 * <!-- end-user-doc --> 942 * <!-- end-user-doc -->
905 * @return the meta object for the reference list '<em>Adjacent</em>'. 943 * @return the meta object for the reference '<em>Prev Lane</em>'.
906 * @see simpleScenario.Lane#getAdjacent() 944 * @see simpleScenario.Lane#getPrevLane()
907 * @see #getLane() 945 * @see #getLane()
908 * @generated 946 * @generated
909 */ 947 */
910 EReference getLane_Adjacent(); 948 EReference getLane_PrevLane();
911 949
912 /** 950 /**
913 * Returns the meta object for the reference list '{@link simpleScenario.Lane#getActors <em>Actors</em>}'. 951 * Returns the meta object for the reference list '{@link simpleScenario.Lane#getActors <em>Actors</em>}'.
@@ -986,15 +1024,15 @@ public interface SimpleScenarioPackage extends EPackage {
986 EAttribute getActor_Width(); 1024 EAttribute getActor_Width();
987 1025
988 /** 1026 /**
989 * Returns the meta object for the attribute '{@link simpleScenario.Actor#getSpeed <em>Speed</em>}'. 1027 * Returns the meta object for the attribute '{@link simpleScenario.Actor#getXSpeed <em>XSpeed</em>}'.
990 * <!-- begin-user-doc --> 1028 * <!-- begin-user-doc -->
991 * <!-- end-user-doc --> 1029 * <!-- end-user-doc -->
992 * @return the meta object for the attribute '<em>Speed</em>'. 1030 * @return the meta object for the attribute '<em>XSpeed</em>'.
993 * @see simpleScenario.Actor#getSpeed() 1031 * @see simpleScenario.Actor#getXSpeed()
994 * @see #getActor() 1032 * @see #getActor()
995 * @generated 1033 * @generated
996 */ 1034 */
997 EAttribute getActor_Speed(); 1035 EAttribute getActor_XSpeed();
998 1036
999 /** 1037 /**
1000 * Returns the meta object for the containment reference list '{@link simpleScenario.Actor#getRelations <em>Relations</em>}'. 1038 * Returns the meta object for the containment reference list '{@link simpleScenario.Actor#getRelations <em>Relations</em>}'.
@@ -1019,6 +1057,17 @@ public interface SimpleScenarioPackage extends EPackage {
1019 EReference getActor_PlacedOn(); 1057 EReference getActor_PlacedOn();
1020 1058
1021 /** 1059 /**
1060 * Returns the meta object for the attribute '{@link simpleScenario.Actor#getYSpeed <em>YSpeed</em>}'.
1061 * <!-- begin-user-doc -->
1062 * <!-- end-user-doc -->
1063 * @return the meta object for the attribute '<em>YSpeed</em>'.
1064 * @see simpleScenario.Actor#getYSpeed()
1065 * @see #getActor()
1066 * @generated
1067 */
1068 EAttribute getActor_YSpeed();
1069
1070 /**
1022 * Returns the meta object for class '{@link simpleScenario.Relation <em>Relation</em>}'. 1071 * Returns the meta object for class '{@link simpleScenario.Relation <em>Relation</em>}'.
1023 * <!-- begin-user-doc --> 1072 * <!-- begin-user-doc -->
1024 * <!-- end-user-doc --> 1073 * <!-- end-user-doc -->
@@ -1102,17 +1151,6 @@ public interface SimpleScenarioPackage extends EPackage {
1102 EAttribute getSeperationDistance_Distance(); 1151 EAttribute getSeperationDistance_Distance();
1103 1152
1104 /** 1153 /**
1105 * Returns the meta object for the attribute '{@link simpleScenario.SeperationDistance#getNumDistance <em>Num Distance</em>}'.
1106 * <!-- begin-user-doc -->
1107 * <!-- end-user-doc -->
1108 * @return the meta object for the attribute '<em>Num Distance</em>'.
1109 * @see simpleScenario.SeperationDistance#getNumDistance()
1110 * @see #getSeperationDistance()
1111 * @generated
1112 */
1113 EAttribute getSeperationDistance_NumDistance();
1114
1115 /**
1116 * Returns the meta object for class '{@link simpleScenario.CollisionExists <em>Collision Exists</em>}'. 1154 * Returns the meta object for class '{@link simpleScenario.CollisionExists <em>Collision Exists</em>}'.
1117 * <!-- begin-user-doc --> 1155 * <!-- begin-user-doc -->
1118 * <!-- end-user-doc --> 1156 * <!-- end-user-doc -->
@@ -1259,6 +1297,14 @@ public interface SimpleScenarioPackage extends EPackage {
1259 EReference SIMPLE_SCENARIO__LANES = eINSTANCE.getSimpleScenario_Lanes(); 1297 EReference SIMPLE_SCENARIO__LANES = eINSTANCE.getSimpleScenario_Lanes();
1260 1298
1261 /** 1299 /**
1300 * The meta object literal for the '<em><b>Max Time</b></em>' attribute feature.
1301 * <!-- begin-user-doc -->
1302 * <!-- end-user-doc -->
1303 * @generated
1304 */
1305 EAttribute SIMPLE_SCENARIO__MAX_TIME = eINSTANCE.getSimpleScenario_MaxTime();
1306
1307 /**
1262 * The meta object literal for the '{@link simpleScenario.impl.LaneImpl <em>Lane</em>}' class. 1308 * The meta object literal for the '{@link simpleScenario.impl.LaneImpl <em>Lane</em>}' class.
1263 * <!-- begin-user-doc --> 1309 * <!-- begin-user-doc -->
1264 * <!-- end-user-doc --> 1310 * <!-- end-user-doc -->
@@ -1293,12 +1339,12 @@ public interface SimpleScenarioPackage extends EPackage {
1293 EAttribute LANE__REFERENCE_COORD = eINSTANCE.getLane_ReferenceCoord(); 1339 EAttribute LANE__REFERENCE_COORD = eINSTANCE.getLane_ReferenceCoord();
1294 1340
1295 /** 1341 /**
1296 * The meta object literal for the '<em><b>Adjacent</b></em>' reference list feature. 1342 * The meta object literal for the '<em><b>Prev Lane</b></em>' reference feature.
1297 * <!-- begin-user-doc --> 1343 * <!-- begin-user-doc -->
1298 * <!-- end-user-doc --> 1344 * <!-- end-user-doc -->
1299 * @generated 1345 * @generated
1300 */ 1346 */
1301 EReference LANE__ADJACENT = eINSTANCE.getLane_Adjacent(); 1347 EReference LANE__PREV_LANE = eINSTANCE.getLane_PrevLane();
1302 1348
1303 /** 1349 /**
1304 * The meta object literal for the '<em><b>Actors</b></em>' reference list feature. 1350 * The meta object literal for the '<em><b>Actors</b></em>' reference list feature.
@@ -1359,12 +1405,12 @@ public interface SimpleScenarioPackage extends EPackage {
1359 EAttribute ACTOR__WIDTH = eINSTANCE.getActor_Width(); 1405 EAttribute ACTOR__WIDTH = eINSTANCE.getActor_Width();
1360 1406
1361 /** 1407 /**
1362 * The meta object literal for the '<em><b>Speed</b></em>' attribute feature. 1408 * The meta object literal for the '<em><b>XSpeed</b></em>' attribute feature.
1363 * <!-- begin-user-doc --> 1409 * <!-- begin-user-doc -->
1364 * <!-- end-user-doc --> 1410 * <!-- end-user-doc -->
1365 * @generated 1411 * @generated
1366 */ 1412 */
1367 EAttribute ACTOR__SPEED = eINSTANCE.getActor_Speed(); 1413 EAttribute ACTOR__XSPEED = eINSTANCE.getActor_XSpeed();
1368 1414
1369 /** 1415 /**
1370 * The meta object literal for the '<em><b>Relations</b></em>' containment reference list feature. 1416 * The meta object literal for the '<em><b>Relations</b></em>' containment reference list feature.
@@ -1383,6 +1429,14 @@ public interface SimpleScenarioPackage extends EPackage {
1383 EReference ACTOR__PLACED_ON = eINSTANCE.getActor_PlacedOn(); 1429 EReference ACTOR__PLACED_ON = eINSTANCE.getActor_PlacedOn();
1384 1430
1385 /** 1431 /**
1432 * The meta object literal for the '<em><b>YSpeed</b></em>' attribute feature.
1433 * <!-- begin-user-doc -->
1434 * <!-- end-user-doc -->
1435 * @generated
1436 */
1437 EAttribute ACTOR__YSPEED = eINSTANCE.getActor_YSpeed();
1438
1439 /**
1386 * The meta object literal for the '{@link simpleScenario.impl.RelationImpl <em>Relation</em>}' class. 1440 * The meta object literal for the '{@link simpleScenario.impl.RelationImpl <em>Relation</em>}' class.
1387 * <!-- begin-user-doc --> 1441 * <!-- begin-user-doc -->
1388 * <!-- end-user-doc --> 1442 * <!-- end-user-doc -->
@@ -1457,14 +1511,6 @@ public interface SimpleScenarioPackage extends EPackage {
1457 EAttribute SEPERATION_DISTANCE__DISTANCE = eINSTANCE.getSeperationDistance_Distance(); 1511 EAttribute SEPERATION_DISTANCE__DISTANCE = eINSTANCE.getSeperationDistance_Distance();
1458 1512
1459 /** 1513 /**
1460 * The meta object literal for the '<em><b>Num Distance</b></em>' attribute feature.
1461 * <!-- begin-user-doc -->
1462 * <!-- end-user-doc -->
1463 * @generated
1464 */
1465 EAttribute SEPERATION_DISTANCE__NUM_DISTANCE = eINSTANCE.getSeperationDistance_NumDistance();
1466
1467 /**
1468 * The meta object literal for the '{@link simpleScenario.impl.CollisionExistsImpl <em>Collision Exists</em>}' class. 1514 * The meta object literal for the '{@link simpleScenario.impl.CollisionExistsImpl <em>Collision Exists</em>}' class.
1469 * <!-- begin-user-doc --> 1515 * <!-- begin-user-doc -->
1470 * <!-- end-user-doc --> 1516 * <!-- end-user-doc -->
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/VisionBlocked.java b/Domains/simpleScenario/ecore-gen/simpleScenario/VisionBlocked.java
index c461d323..cdf5a074 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/VisionBlocked.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/VisionBlocked.java
@@ -27,7 +27,7 @@ public interface VisionBlocked extends SpatialRelation {
27 * @return the value of the '<em>Blocked By</em>' reference. 27 * @return the value of the '<em>Blocked By</em>' reference.
28 * @see #setBlockedBy(Actor) 28 * @see #setBlockedBy(Actor)
29 * @see simpleScenario.SimpleScenarioPackage#getVisionBlocked_BlockedBy() 29 * @see simpleScenario.SimpleScenarioPackage#getVisionBlocked_BlockedBy()
30 * @model 30 * @model required="true"
31 * @generated 31 * @generated
32 */ 32 */
33 Actor getBlockedBy(); 33 Actor getBlockedBy();
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/ActorImpl.java b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/ActorImpl.java
index ffd19846..780cd305 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/ActorImpl.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/ActorImpl.java
@@ -35,9 +35,10 @@ import simpleScenario.SimpleScenarioPackage;
35 * <li>{@link simpleScenario.impl.ActorImpl#getYPos <em>YPos</em>}</li> 35 * <li>{@link simpleScenario.impl.ActorImpl#getYPos <em>YPos</em>}</li>
36 * <li>{@link simpleScenario.impl.ActorImpl#getLength <em>Length</em>}</li> 36 * <li>{@link simpleScenario.impl.ActorImpl#getLength <em>Length</em>}</li>
37 * <li>{@link simpleScenario.impl.ActorImpl#getWidth <em>Width</em>}</li> 37 * <li>{@link simpleScenario.impl.ActorImpl#getWidth <em>Width</em>}</li>
38 * <li>{@link simpleScenario.impl.ActorImpl#getSpeed <em>Speed</em>}</li> 38 * <li>{@link simpleScenario.impl.ActorImpl#getXSpeed <em>XSpeed</em>}</li>
39 * <li>{@link simpleScenario.impl.ActorImpl#getRelations <em>Relations</em>}</li> 39 * <li>{@link simpleScenario.impl.ActorImpl#getRelations <em>Relations</em>}</li>
40 * <li>{@link simpleScenario.impl.ActorImpl#getPlacedOn <em>Placed On</em>}</li> 40 * <li>{@link simpleScenario.impl.ActorImpl#getPlacedOn <em>Placed On</em>}</li>
41 * <li>{@link simpleScenario.impl.ActorImpl#getYSpeed <em>YSpeed</em>}</li>
41 * </ul> 42 * </ul>
42 * 43 *
43 * @generated 44 * @generated
@@ -124,24 +125,24 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
124 protected double width = WIDTH_EDEFAULT; 125 protected double width = WIDTH_EDEFAULT;
125 126
126 /** 127 /**
127 * The default value of the '{@link #getSpeed() <em>Speed</em>}' attribute. 128 * The default value of the '{@link #getXSpeed() <em>XSpeed</em>}' attribute.
128 * <!-- begin-user-doc --> 129 * <!-- begin-user-doc -->
129 * <!-- end-user-doc --> 130 * <!-- end-user-doc -->
130 * @see #getSpeed() 131 * @see #getXSpeed()
131 * @generated 132 * @generated
132 * @ordered 133 * @ordered
133 */ 134 */
134 protected static final double SPEED_EDEFAULT = 0.0; 135 protected static final double XSPEED_EDEFAULT = 0.0;
135 136
136 /** 137 /**
137 * The cached value of the '{@link #getSpeed() <em>Speed</em>}' attribute. 138 * The cached value of the '{@link #getXSpeed() <em>XSpeed</em>}' attribute.
138 * <!-- begin-user-doc --> 139 * <!-- begin-user-doc -->
139 * <!-- end-user-doc --> 140 * <!-- end-user-doc -->
140 * @see #getSpeed() 141 * @see #getXSpeed()
141 * @generated 142 * @generated
142 * @ordered 143 * @ordered
143 */ 144 */
144 protected double speed = SPEED_EDEFAULT; 145 protected double xSpeed = XSPEED_EDEFAULT;
145 146
146 /** 147 /**
147 * The cached value of the '{@link #getRelations() <em>Relations</em>}' containment reference list. 148 * The cached value of the '{@link #getRelations() <em>Relations</em>}' containment reference list.
@@ -164,6 +165,26 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
164 protected Lane placedOn; 165 protected Lane placedOn;
165 166
166 /** 167 /**
168 * The default value of the '{@link #getYSpeed() <em>YSpeed</em>}' attribute.
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @see #getYSpeed()
172 * @generated
173 * @ordered
174 */
175 protected static final double YSPEED_EDEFAULT = 0.0;
176
177 /**
178 * The cached value of the '{@link #getYSpeed() <em>YSpeed</em>}' attribute.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @see #getYSpeed()
182 * @generated
183 * @ordered
184 */
185 protected double ySpeed = YSPEED_EDEFAULT;
186
187 /**
167 * <!-- begin-user-doc --> 188 * <!-- begin-user-doc -->
168 * <!-- end-user-doc --> 189 * <!-- end-user-doc -->
169 * @generated 190 * @generated
@@ -280,8 +301,8 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
280 * @generated 301 * @generated
281 */ 302 */
282 @Override 303 @Override
283 public double getSpeed() { 304 public double getXSpeed() {
284 return speed; 305 return xSpeed;
285 } 306 }
286 307
287 /** 308 /**
@@ -290,11 +311,11 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
290 * @generated 311 * @generated
291 */ 312 */
292 @Override 313 @Override
293 public void setSpeed(double newSpeed) { 314 public void setXSpeed(double newXSpeed) {
294 double oldSpeed = speed; 315 double oldXSpeed = xSpeed;
295 speed = newSpeed; 316 xSpeed = newXSpeed;
296 if (eNotificationRequired()) 317 if (eNotificationRequired())
297 eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__SPEED, oldSpeed, speed)); 318 eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__XSPEED, oldXSpeed, xSpeed));
298 } 319 }
299 320
300 /** 321 /**
@@ -378,6 +399,29 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
378 * @generated 399 * @generated
379 */ 400 */
380 @Override 401 @Override
402 public double getYSpeed() {
403 return ySpeed;
404 }
405
406 /**
407 * <!-- begin-user-doc -->
408 * <!-- end-user-doc -->
409 * @generated
410 */
411 @Override
412 public void setYSpeed(double newYSpeed) {
413 double oldYSpeed = ySpeed;
414 ySpeed = newYSpeed;
415 if (eNotificationRequired())
416 eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__YSPEED, oldYSpeed, ySpeed));
417 }
418
419 /**
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 */
424 @Override
381 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 425 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
382 switch (featureID) { 426 switch (featureID) {
383 case SimpleScenarioPackage.ACTOR__PLACED_ON: 427 case SimpleScenarioPackage.ACTOR__PLACED_ON:
@@ -420,13 +464,15 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
420 return getLength(); 464 return getLength();
421 case SimpleScenarioPackage.ACTOR__WIDTH: 465 case SimpleScenarioPackage.ACTOR__WIDTH:
422 return getWidth(); 466 return getWidth();
423 case SimpleScenarioPackage.ACTOR__SPEED: 467 case SimpleScenarioPackage.ACTOR__XSPEED:
424 return getSpeed(); 468 return getXSpeed();
425 case SimpleScenarioPackage.ACTOR__RELATIONS: 469 case SimpleScenarioPackage.ACTOR__RELATIONS:
426 return getRelations(); 470 return getRelations();
427 case SimpleScenarioPackage.ACTOR__PLACED_ON: 471 case SimpleScenarioPackage.ACTOR__PLACED_ON:
428 if (resolve) return getPlacedOn(); 472 if (resolve) return getPlacedOn();
429 return basicGetPlacedOn(); 473 return basicGetPlacedOn();
474 case SimpleScenarioPackage.ACTOR__YSPEED:
475 return getYSpeed();
430 } 476 }
431 return super.eGet(featureID, resolve, coreType); 477 return super.eGet(featureID, resolve, coreType);
432 } 478 }
@@ -452,8 +498,8 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
452 case SimpleScenarioPackage.ACTOR__WIDTH: 498 case SimpleScenarioPackage.ACTOR__WIDTH:
453 setWidth((Double)newValue); 499 setWidth((Double)newValue);
454 return; 500 return;
455 case SimpleScenarioPackage.ACTOR__SPEED: 501 case SimpleScenarioPackage.ACTOR__XSPEED:
456 setSpeed((Double)newValue); 502 setXSpeed((Double)newValue);
457 return; 503 return;
458 case SimpleScenarioPackage.ACTOR__RELATIONS: 504 case SimpleScenarioPackage.ACTOR__RELATIONS:
459 getRelations().clear(); 505 getRelations().clear();
@@ -462,6 +508,9 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
462 case SimpleScenarioPackage.ACTOR__PLACED_ON: 508 case SimpleScenarioPackage.ACTOR__PLACED_ON:
463 setPlacedOn((Lane)newValue); 509 setPlacedOn((Lane)newValue);
464 return; 510 return;
511 case SimpleScenarioPackage.ACTOR__YSPEED:
512 setYSpeed((Double)newValue);
513 return;
465 } 514 }
466 super.eSet(featureID, newValue); 515 super.eSet(featureID, newValue);
467 } 516 }
@@ -486,8 +535,8 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
486 case SimpleScenarioPackage.ACTOR__WIDTH: 535 case SimpleScenarioPackage.ACTOR__WIDTH:
487 setWidth(WIDTH_EDEFAULT); 536 setWidth(WIDTH_EDEFAULT);
488 return; 537 return;
489 case SimpleScenarioPackage.ACTOR__SPEED: 538 case SimpleScenarioPackage.ACTOR__XSPEED:
490 setSpeed(SPEED_EDEFAULT); 539 setXSpeed(XSPEED_EDEFAULT);
491 return; 540 return;
492 case SimpleScenarioPackage.ACTOR__RELATIONS: 541 case SimpleScenarioPackage.ACTOR__RELATIONS:
493 getRelations().clear(); 542 getRelations().clear();
@@ -495,6 +544,9 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
495 case SimpleScenarioPackage.ACTOR__PLACED_ON: 544 case SimpleScenarioPackage.ACTOR__PLACED_ON:
496 setPlacedOn((Lane)null); 545 setPlacedOn((Lane)null);
497 return; 546 return;
547 case SimpleScenarioPackage.ACTOR__YSPEED:
548 setYSpeed(YSPEED_EDEFAULT);
549 return;
498 } 550 }
499 super.eUnset(featureID); 551 super.eUnset(featureID);
500 } 552 }
@@ -515,12 +567,14 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
515 return length != LENGTH_EDEFAULT; 567 return length != LENGTH_EDEFAULT;
516 case SimpleScenarioPackage.ACTOR__WIDTH: 568 case SimpleScenarioPackage.ACTOR__WIDTH:
517 return width != WIDTH_EDEFAULT; 569 return width != WIDTH_EDEFAULT;
518 case SimpleScenarioPackage.ACTOR__SPEED: 570 case SimpleScenarioPackage.ACTOR__XSPEED:
519 return speed != SPEED_EDEFAULT; 571 return xSpeed != XSPEED_EDEFAULT;
520 case SimpleScenarioPackage.ACTOR__RELATIONS: 572 case SimpleScenarioPackage.ACTOR__RELATIONS:
521 return relations != null && !relations.isEmpty(); 573 return relations != null && !relations.isEmpty();
522 case SimpleScenarioPackage.ACTOR__PLACED_ON: 574 case SimpleScenarioPackage.ACTOR__PLACED_ON:
523 return placedOn != null; 575 return placedOn != null;
576 case SimpleScenarioPackage.ACTOR__YSPEED:
577 return ySpeed != YSPEED_EDEFAULT;
524 } 578 }
525 return super.eIsSet(featureID); 579 return super.eIsSet(featureID);
526 } 580 }
@@ -543,8 +597,10 @@ public abstract class ActorImpl extends MinimalEObjectImpl.Container implements
543 result.append(length); 597 result.append(length);
544 result.append(", width: "); 598 result.append(", width: ");
545 result.append(width); 599 result.append(width);
546 result.append(", speed: "); 600 result.append(", xSpeed: ");
547 result.append(speed); 601 result.append(xSpeed);
602 result.append(", ySpeed: ");
603 result.append(ySpeed);
548 result.append(')'); 604 result.append(')');
549 return result.toString(); 605 return result.toString();
550 } 606 }
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/LaneImpl.java b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/LaneImpl.java
index fa250be8..929f8d9c 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/LaneImpl.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/LaneImpl.java
@@ -3,7 +3,6 @@
3package simpleScenario.impl; 3package simpleScenario.impl;
4 4
5import java.util.Collection; 5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification; 6import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain; 7import org.eclipse.emf.common.notify.NotificationChain;
9 8
@@ -14,8 +13,6 @@ import org.eclipse.emf.ecore.InternalEObject;
14 13
15import org.eclipse.emf.ecore.impl.ENotificationImpl; 14import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EObjectResolvingEList;
19import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; 16import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
20import org.eclipse.emf.ecore.util.InternalEList; 17import org.eclipse.emf.ecore.util.InternalEList;
21 18
@@ -36,7 +33,7 @@ import simpleScenario.Size;
36 * <li>{@link simpleScenario.impl.LaneImpl#getOrientation <em>Orientation</em>}</li> 33 * <li>{@link simpleScenario.impl.LaneImpl#getOrientation <em>Orientation</em>}</li>
37 * <li>{@link simpleScenario.impl.LaneImpl#getWidth <em>Width</em>}</li> 34 * <li>{@link simpleScenario.impl.LaneImpl#getWidth <em>Width</em>}</li>
38 * <li>{@link simpleScenario.impl.LaneImpl#getReferenceCoord <em>Reference Coord</em>}</li> 35 * <li>{@link simpleScenario.impl.LaneImpl#getReferenceCoord <em>Reference Coord</em>}</li>
39 * <li>{@link simpleScenario.impl.LaneImpl#getAdjacent <em>Adjacent</em>}</li> 36 * <li>{@link simpleScenario.impl.LaneImpl#getPrevLane <em>Prev Lane</em>}</li>
40 * <li>{@link simpleScenario.impl.LaneImpl#getActors <em>Actors</em>}</li> 37 * <li>{@link simpleScenario.impl.LaneImpl#getActors <em>Actors</em>}</li>
41 * <li>{@link simpleScenario.impl.LaneImpl#getNumWidth <em>Num Width</em>}</li> 38 * <li>{@link simpleScenario.impl.LaneImpl#getNumWidth <em>Num Width</em>}</li>
42 * </ul> 39 * </ul>
@@ -105,14 +102,14 @@ public class LaneImpl extends MinimalEObjectImpl.Container implements Lane {
105 protected double referenceCoord = REFERENCE_COORD_EDEFAULT; 102 protected double referenceCoord = REFERENCE_COORD_EDEFAULT;
106 103
107 /** 104 /**
108 * The cached value of the '{@link #getAdjacent() <em>Adjacent</em>}' reference list. 105 * The cached value of the '{@link #getPrevLane() <em>Prev Lane</em>}' reference.
109 * <!-- begin-user-doc --> 106 * <!-- begin-user-doc -->
110 * <!-- end-user-doc --> 107 * <!-- end-user-doc -->
111 * @see #getAdjacent() 108 * @see #getPrevLane()
112 * @generated 109 * @generated
113 * @ordered 110 * @ordered
114 */ 111 */
115 protected EList<Lane> adjacent; 112 protected Lane prevLane;
116 113
117 /** 114 /**
118 * The cached value of the '{@link #getActors() <em>Actors</em>}' reference list. 115 * The cached value of the '{@link #getActors() <em>Actors</em>}' reference list.
@@ -238,11 +235,38 @@ public class LaneImpl extends MinimalEObjectImpl.Container implements Lane {
238 * @generated 235 * @generated
239 */ 236 */
240 @Override 237 @Override
241 public EList<Lane> getAdjacent() { 238 public Lane getPrevLane() {
242 if (adjacent == null) { 239 if (prevLane != null && prevLane.eIsProxy()) {
243 adjacent = new EObjectResolvingEList<Lane>(Lane.class, this, SimpleScenarioPackage.LANE__ADJACENT); 240 InternalEObject oldPrevLane = (InternalEObject)prevLane;
241 prevLane = (Lane)eResolveProxy(oldPrevLane);
242 if (prevLane != oldPrevLane) {
243 if (eNotificationRequired())
244 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimpleScenarioPackage.LANE__PREV_LANE, oldPrevLane, prevLane));
245 }
244 } 246 }
245 return adjacent; 247 return prevLane;
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 public Lane basicGetPrevLane() {
256 return prevLane;
257 }
258
259 /**
260 * <!-- begin-user-doc -->
261 * <!-- end-user-doc -->
262 * @generated
263 */
264 @Override
265 public void setPrevLane(Lane newPrevLane) {
266 Lane oldPrevLane = prevLane;
267 prevLane = newPrevLane;
268 if (eNotificationRequired())
269 eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.LANE__PREV_LANE, oldPrevLane, prevLane));
246 } 270 }
247 271
248 /** 272 /**
@@ -324,8 +348,9 @@ public class LaneImpl extends MinimalEObjectImpl.Container implements Lane {
324 return getWidth(); 348 return getWidth();
325 case SimpleScenarioPackage.LANE__REFERENCE_COORD: 349 case SimpleScenarioPackage.LANE__REFERENCE_COORD:
326 return getReferenceCoord(); 350 return getReferenceCoord();
327 case SimpleScenarioPackage.LANE__ADJACENT: 351 case SimpleScenarioPackage.LANE__PREV_LANE:
328 return getAdjacent(); 352 if (resolve) return getPrevLane();
353 return basicGetPrevLane();
329 case SimpleScenarioPackage.LANE__ACTORS: 354 case SimpleScenarioPackage.LANE__ACTORS:
330 return getActors(); 355 return getActors();
331 case SimpleScenarioPackage.LANE__NUM_WIDTH: 356 case SimpleScenarioPackage.LANE__NUM_WIDTH:
@@ -352,9 +377,8 @@ public class LaneImpl extends MinimalEObjectImpl.Container implements Lane {
352 case SimpleScenarioPackage.LANE__REFERENCE_COORD: 377 case SimpleScenarioPackage.LANE__REFERENCE_COORD:
353 setReferenceCoord((Double)newValue); 378 setReferenceCoord((Double)newValue);
354 return; 379 return;
355 case SimpleScenarioPackage.LANE__ADJACENT: 380 case SimpleScenarioPackage.LANE__PREV_LANE:
356 getAdjacent().clear(); 381 setPrevLane((Lane)newValue);
357 getAdjacent().addAll((Collection<? extends Lane>)newValue);
358 return; 382 return;
359 case SimpleScenarioPackage.LANE__ACTORS: 383 case SimpleScenarioPackage.LANE__ACTORS:
360 getActors().clear(); 384 getActors().clear();
@@ -384,8 +408,8 @@ public class LaneImpl extends MinimalEObjectImpl.Container implements Lane {
384 case SimpleScenarioPackage.LANE__REFERENCE_COORD: 408 case SimpleScenarioPackage.LANE__REFERENCE_COORD:
385 setReferenceCoord(REFERENCE_COORD_EDEFAULT); 409 setReferenceCoord(REFERENCE_COORD_EDEFAULT);
386 return; 410 return;
387 case SimpleScenarioPackage.LANE__ADJACENT: 411 case SimpleScenarioPackage.LANE__PREV_LANE:
388 getAdjacent().clear(); 412 setPrevLane((Lane)null);
389 return; 413 return;
390 case SimpleScenarioPackage.LANE__ACTORS: 414 case SimpleScenarioPackage.LANE__ACTORS:
391 getActors().clear(); 415 getActors().clear();
@@ -411,8 +435,8 @@ public class LaneImpl extends MinimalEObjectImpl.Container implements Lane {
411 return width != WIDTH_EDEFAULT; 435 return width != WIDTH_EDEFAULT;
412 case SimpleScenarioPackage.LANE__REFERENCE_COORD: 436 case SimpleScenarioPackage.LANE__REFERENCE_COORD:
413 return referenceCoord != REFERENCE_COORD_EDEFAULT; 437 return referenceCoord != REFERENCE_COORD_EDEFAULT;
414 case SimpleScenarioPackage.LANE__ADJACENT: 438 case SimpleScenarioPackage.LANE__PREV_LANE:
415 return adjacent != null && !adjacent.isEmpty(); 439 return prevLane != null;
416 case SimpleScenarioPackage.LANE__ACTORS: 440 case SimpleScenarioPackage.LANE__ACTORS:
417 return actors != null && !actors.isEmpty(); 441 return actors != null && !actors.isEmpty();
418 case SimpleScenarioPackage.LANE__NUM_WIDTH: 442 case SimpleScenarioPackage.LANE__NUM_WIDTH:
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java
index d0f6f231..dfa19427 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java
@@ -21,7 +21,6 @@ import simpleScenario.SimpleScenarioPackage;
21 * </p> 21 * </p>
22 * <ul> 22 * <ul>
23 * <li>{@link simpleScenario.impl.SeperationDistanceImpl#getDistance <em>Distance</em>}</li> 23 * <li>{@link simpleScenario.impl.SeperationDistanceImpl#getDistance <em>Distance</em>}</li>
24 * <li>{@link simpleScenario.impl.SeperationDistanceImpl#getNumDistance <em>Num Distance</em>}</li>
25 * </ul> 24 * </ul>
26 * 25 *
27 * @generated 26 * @generated
@@ -48,26 +47,6 @@ public class SeperationDistanceImpl extends SpatialRelationImpl implements Seper
48 protected Distance distance = DISTANCE_EDEFAULT; 47 protected Distance distance = DISTANCE_EDEFAULT;
49 48
50 /** 49 /**
51 * The default value of the '{@link #getNumDistance() <em>Num Distance</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #getNumDistance()
55 * @generated
56 * @ordered
57 */
58 protected static final double NUM_DISTANCE_EDEFAULT = 0.0;
59
60 /**
61 * The cached value of the '{@link #getNumDistance() <em>Num Distance</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getNumDistance()
65 * @generated
66 * @ordered
67 */
68 protected double numDistance = NUM_DISTANCE_EDEFAULT;
69
70 /**
71 * <!-- begin-user-doc --> 50 * <!-- begin-user-doc -->
72 * <!-- end-user-doc --> 51 * <!-- end-user-doc -->
73 * @generated 52 * @generated
@@ -115,35 +94,10 @@ public class SeperationDistanceImpl extends SpatialRelationImpl implements Seper
115 * @generated 94 * @generated
116 */ 95 */
117 @Override 96 @Override
118 public double getNumDistance() {
119 return numDistance;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public void setNumDistance(double newNumDistance) {
129 double oldNumDistance = numDistance;
130 numDistance = newNumDistance;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.SEPERATION_DISTANCE__NUM_DISTANCE, oldNumDistance, numDistance));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public Object eGet(int featureID, boolean resolve, boolean coreType) { 97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
142 switch (featureID) { 98 switch (featureID) {
143 case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE: 99 case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE:
144 return getDistance(); 100 return getDistance();
145 case SimpleScenarioPackage.SEPERATION_DISTANCE__NUM_DISTANCE:
146 return getNumDistance();
147 } 101 }
148 return super.eGet(featureID, resolve, coreType); 102 return super.eGet(featureID, resolve, coreType);
149 } 103 }
@@ -159,9 +113,6 @@ public class SeperationDistanceImpl extends SpatialRelationImpl implements Seper
159 case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE: 113 case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE:
160 setDistance((Distance)newValue); 114 setDistance((Distance)newValue);
161 return; 115 return;
162 case SimpleScenarioPackage.SEPERATION_DISTANCE__NUM_DISTANCE:
163 setNumDistance((Double)newValue);
164 return;
165 } 116 }
166 super.eSet(featureID, newValue); 117 super.eSet(featureID, newValue);
167 } 118 }
@@ -177,9 +128,6 @@ public class SeperationDistanceImpl extends SpatialRelationImpl implements Seper
177 case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE: 128 case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE:
178 setDistance(DISTANCE_EDEFAULT); 129 setDistance(DISTANCE_EDEFAULT);
179 return; 130 return;
180 case SimpleScenarioPackage.SEPERATION_DISTANCE__NUM_DISTANCE:
181 setNumDistance(NUM_DISTANCE_EDEFAULT);
182 return;
183 } 131 }
184 super.eUnset(featureID); 132 super.eUnset(featureID);
185 } 133 }
@@ -194,8 +142,6 @@ public class SeperationDistanceImpl extends SpatialRelationImpl implements Seper
194 switch (featureID) { 142 switch (featureID) {
195 case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE: 143 case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE:
196 return distance != DISTANCE_EDEFAULT; 144 return distance != DISTANCE_EDEFAULT;
197 case SimpleScenarioPackage.SEPERATION_DISTANCE__NUM_DISTANCE:
198 return numDistance != NUM_DISTANCE_EDEFAULT;
199 } 145 }
200 return super.eIsSet(featureID); 146 return super.eIsSet(featureID);
201 } 147 }
@@ -212,8 +158,6 @@ public class SeperationDistanceImpl extends SpatialRelationImpl implements Seper
212 StringBuilder result = new StringBuilder(super.toString()); 158 StringBuilder result = new StringBuilder(super.toString());
213 result.append(" (distance: "); 159 result.append(" (distance: ");
214 result.append(distance); 160 result.append(distance);
215 result.append(", numDistance: ");
216 result.append(numDistance);
217 result.append(')'); 161 result.append(')');
218 return result.toString(); 162 return result.toString();
219 } 163 }
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java
index 9d542c65..e027c457 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java
@@ -35,6 +35,7 @@ import simpleScenario.SimpleScenarioPackage;
35 * <li>{@link simpleScenario.impl.SimpleScenarioImpl#getYSize <em>YSize</em>}</li> 35 * <li>{@link simpleScenario.impl.SimpleScenarioImpl#getYSize <em>YSize</em>}</li>
36 * <li>{@link simpleScenario.impl.SimpleScenarioImpl#getActors <em>Actors</em>}</li> 36 * <li>{@link simpleScenario.impl.SimpleScenarioImpl#getActors <em>Actors</em>}</li>
37 * <li>{@link simpleScenario.impl.SimpleScenarioImpl#getLanes <em>Lanes</em>}</li> 37 * <li>{@link simpleScenario.impl.SimpleScenarioImpl#getLanes <em>Lanes</em>}</li>
38 * <li>{@link simpleScenario.impl.SimpleScenarioImpl#getMaxTime <em>Max Time</em>}</li>
38 * </ul> 39 * </ul>
39 * 40 *
40 * @generated 41 * @generated
@@ -101,6 +102,26 @@ public class SimpleScenarioImpl extends MinimalEObjectImpl.Container implements
101 protected EList<Lane> lanes; 102 protected EList<Lane> lanes;
102 103
103 /** 104 /**
105 * The default value of the '{@link #getMaxTime() <em>Max Time</em>}' attribute.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see #getMaxTime()
109 * @generated
110 * @ordered
111 */
112 protected static final double MAX_TIME_EDEFAULT = 0.0;
113
114 /**
115 * The cached value of the '{@link #getMaxTime() <em>Max Time</em>}' attribute.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @see #getMaxTime()
119 * @generated
120 * @ordered
121 */
122 protected double maxTime = MAX_TIME_EDEFAULT;
123
124 /**
104 * <!-- begin-user-doc --> 125 * <!-- begin-user-doc -->
105 * <!-- end-user-doc --> 126 * <!-- end-user-doc -->
106 * @generated 127 * @generated
@@ -197,6 +218,29 @@ public class SimpleScenarioImpl extends MinimalEObjectImpl.Container implements
197 * @generated 218 * @generated
198 */ 219 */
199 @Override 220 @Override
221 public double getMaxTime() {
222 return maxTime;
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public void setMaxTime(double newMaxTime) {
232 double oldMaxTime = maxTime;
233 maxTime = newMaxTime;
234 if (eNotificationRequired())
235 eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.SIMPLE_SCENARIO__MAX_TIME, oldMaxTime, maxTime));
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 @Override
200 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 244 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
201 switch (featureID) { 245 switch (featureID) {
202 case SimpleScenarioPackage.SIMPLE_SCENARIO__ACTORS: 246 case SimpleScenarioPackage.SIMPLE_SCENARIO__ACTORS:
@@ -223,6 +267,8 @@ public class SimpleScenarioImpl extends MinimalEObjectImpl.Container implements
223 return getActors(); 267 return getActors();
224 case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES: 268 case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES:
225 return getLanes(); 269 return getLanes();
270 case SimpleScenarioPackage.SIMPLE_SCENARIO__MAX_TIME:
271 return getMaxTime();
226 } 272 }
227 return super.eGet(featureID, resolve, coreType); 273 return super.eGet(featureID, resolve, coreType);
228 } 274 }
@@ -250,6 +296,9 @@ public class SimpleScenarioImpl extends MinimalEObjectImpl.Container implements
250 getLanes().clear(); 296 getLanes().clear();
251 getLanes().addAll((Collection<? extends Lane>)newValue); 297 getLanes().addAll((Collection<? extends Lane>)newValue);
252 return; 298 return;
299 case SimpleScenarioPackage.SIMPLE_SCENARIO__MAX_TIME:
300 setMaxTime((Double)newValue);
301 return;
253 } 302 }
254 super.eSet(featureID, newValue); 303 super.eSet(featureID, newValue);
255 } 304 }
@@ -274,6 +323,9 @@ public class SimpleScenarioImpl extends MinimalEObjectImpl.Container implements
274 case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES: 323 case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES:
275 getLanes().clear(); 324 getLanes().clear();
276 return; 325 return;
326 case SimpleScenarioPackage.SIMPLE_SCENARIO__MAX_TIME:
327 setMaxTime(MAX_TIME_EDEFAULT);
328 return;
277 } 329 }
278 super.eUnset(featureID); 330 super.eUnset(featureID);
279 } 331 }
@@ -294,6 +346,8 @@ public class SimpleScenarioImpl extends MinimalEObjectImpl.Container implements
294 return actors != null && !actors.isEmpty(); 346 return actors != null && !actors.isEmpty();
295 case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES: 347 case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES:
296 return lanes != null && !lanes.isEmpty(); 348 return lanes != null && !lanes.isEmpty();
349 case SimpleScenarioPackage.SIMPLE_SCENARIO__MAX_TIME:
350 return maxTime != MAX_TIME_EDEFAULT;
297 } 351 }
298 return super.eIsSet(featureID); 352 return super.eIsSet(featureID);
299 } 353 }
@@ -312,6 +366,8 @@ public class SimpleScenarioImpl extends MinimalEObjectImpl.Container implements
312 result.append(xSize); 366 result.append(xSize);
313 result.append(", ySize: "); 367 result.append(", ySize: ");
314 result.append(ySize); 368 result.append(ySize);
369 result.append(", maxTime: ");
370 result.append(maxTime);
315 result.append(')'); 371 result.append(')');
316 return result.toString(); 372 return result.toString();
317 } 373 }
diff --git a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java
index 837e0d0d..d68c10c9 100644
--- a/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java
+++ b/Domains/simpleScenario/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java
@@ -257,6 +257,16 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
257 * @generated 257 * @generated
258 */ 258 */
259 @Override 259 @Override
260 public EAttribute getSimpleScenario_MaxTime() {
261 return (EAttribute)simpleScenarioEClass.getEStructuralFeatures().get(4);
262 }
263
264 /**
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 */
269 @Override
260 public EClass getLane() { 270 public EClass getLane() {
261 return laneEClass; 271 return laneEClass;
262 } 272 }
@@ -297,7 +307,7 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
297 * @generated 307 * @generated
298 */ 308 */
299 @Override 309 @Override
300 public EReference getLane_Adjacent() { 310 public EReference getLane_PrevLane() {
301 return (EReference)laneEClass.getEStructuralFeatures().get(3); 311 return (EReference)laneEClass.getEStructuralFeatures().get(3);
302 } 312 }
303 313
@@ -377,7 +387,7 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
377 * @generated 387 * @generated
378 */ 388 */
379 @Override 389 @Override
380 public EAttribute getActor_Speed() { 390 public EAttribute getActor_XSpeed() {
381 return (EAttribute)actorEClass.getEStructuralFeatures().get(4); 391 return (EAttribute)actorEClass.getEStructuralFeatures().get(4);
382 } 392 }
383 393
@@ -407,6 +417,16 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
407 * @generated 417 * @generated
408 */ 418 */
409 @Override 419 @Override
420 public EAttribute getActor_YSpeed() {
421 return (EAttribute)actorEClass.getEStructuralFeatures().get(7);
422 }
423
424 /**
425 * <!-- begin-user-doc -->
426 * <!-- end-user-doc -->
427 * @generated
428 */
429 @Override
410 public EClass getRelation() { 430 public EClass getRelation() {
411 return relationEClass; 431 return relationEClass;
412 } 432 }
@@ -487,16 +507,6 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
487 * @generated 507 * @generated
488 */ 508 */
489 @Override 509 @Override
490 public EAttribute getSeperationDistance_NumDistance() {
491 return (EAttribute)seperationDistanceEClass.getEStructuralFeatures().get(1);
492 }
493
494 /**
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @generated
498 */
499 @Override
500 public EClass getCollisionExists() { 510 public EClass getCollisionExists() {
501 return collisionExistsEClass; 511 return collisionExistsEClass;
502 } 512 }
@@ -605,12 +615,13 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
605 createEAttribute(simpleScenarioEClass, SIMPLE_SCENARIO__YSIZE); 615 createEAttribute(simpleScenarioEClass, SIMPLE_SCENARIO__YSIZE);
606 createEReference(simpleScenarioEClass, SIMPLE_SCENARIO__ACTORS); 616 createEReference(simpleScenarioEClass, SIMPLE_SCENARIO__ACTORS);
607 createEReference(simpleScenarioEClass, SIMPLE_SCENARIO__LANES); 617 createEReference(simpleScenarioEClass, SIMPLE_SCENARIO__LANES);
618 createEAttribute(simpleScenarioEClass, SIMPLE_SCENARIO__MAX_TIME);
608 619
609 laneEClass = createEClass(LANE); 620 laneEClass = createEClass(LANE);
610 createEAttribute(laneEClass, LANE__ORIENTATION); 621 createEAttribute(laneEClass, LANE__ORIENTATION);
611 createEAttribute(laneEClass, LANE__WIDTH); 622 createEAttribute(laneEClass, LANE__WIDTH);
612 createEAttribute(laneEClass, LANE__REFERENCE_COORD); 623 createEAttribute(laneEClass, LANE__REFERENCE_COORD);
613 createEReference(laneEClass, LANE__ADJACENT); 624 createEReference(laneEClass, LANE__PREV_LANE);
614 createEReference(laneEClass, LANE__ACTORS); 625 createEReference(laneEClass, LANE__ACTORS);
615 createEAttribute(laneEClass, LANE__NUM_WIDTH); 626 createEAttribute(laneEClass, LANE__NUM_WIDTH);
616 627
@@ -619,9 +630,10 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
619 createEAttribute(actorEClass, ACTOR__YPOS); 630 createEAttribute(actorEClass, ACTOR__YPOS);
620 createEAttribute(actorEClass, ACTOR__LENGTH); 631 createEAttribute(actorEClass, ACTOR__LENGTH);
621 createEAttribute(actorEClass, ACTOR__WIDTH); 632 createEAttribute(actorEClass, ACTOR__WIDTH);
622 createEAttribute(actorEClass, ACTOR__SPEED); 633 createEAttribute(actorEClass, ACTOR__XSPEED);
623 createEReference(actorEClass, ACTOR__RELATIONS); 634 createEReference(actorEClass, ACTOR__RELATIONS);
624 createEReference(actorEClass, ACTOR__PLACED_ON); 635 createEReference(actorEClass, ACTOR__PLACED_ON);
636 createEAttribute(actorEClass, ACTOR__YSPEED);
625 637
626 relationEClass = createEClass(RELATION); 638 relationEClass = createEClass(RELATION);
627 createEReference(relationEClass, RELATION__TARGET); 639 createEReference(relationEClass, RELATION__TARGET);
@@ -635,7 +647,6 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
635 647
636 seperationDistanceEClass = createEClass(SEPERATION_DISTANCE); 648 seperationDistanceEClass = createEClass(SEPERATION_DISTANCE);
637 createEAttribute(seperationDistanceEClass, SEPERATION_DISTANCE__DISTANCE); 649 createEAttribute(seperationDistanceEClass, SEPERATION_DISTANCE__DISTANCE);
638 createEAttribute(seperationDistanceEClass, SEPERATION_DISTANCE__NUM_DISTANCE);
639 650
640 collisionExistsEClass = createEClass(COLLISION_EXISTS); 651 collisionExistsEClass = createEClass(COLLISION_EXISTS);
641 createEAttribute(collisionExistsEClass, COLLISION_EXISTS__COLLISION_TIME); 652 createEAttribute(collisionExistsEClass, COLLISION_EXISTS__COLLISION_TIME);
@@ -695,23 +706,25 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
695 initEAttribute(getSimpleScenario_YSize(), ecorePackage.getEDouble(), "ySize", null, 0, 1, SimpleScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 706 initEAttribute(getSimpleScenario_YSize(), ecorePackage.getEDouble(), "ySize", null, 0, 1, SimpleScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
696 initEReference(getSimpleScenario_Actors(), this.getActor(), null, "actors", null, 0, -1, SimpleScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 707 initEReference(getSimpleScenario_Actors(), this.getActor(), null, "actors", null, 0, -1, SimpleScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
697 initEReference(getSimpleScenario_Lanes(), this.getLane(), null, "lanes", null, 0, -1, SimpleScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 708 initEReference(getSimpleScenario_Lanes(), this.getLane(), null, "lanes", null, 0, -1, SimpleScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
709 initEAttribute(getSimpleScenario_MaxTime(), ecorePackage.getEDouble(), "maxTime", null, 0, 1, SimpleScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
698 710
699 initEClass(laneEClass, Lane.class, "Lane", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 711 initEClass(laneEClass, Lane.class, "Lane", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
700 initEAttribute(getLane_Orientation(), this.getOrientation(), "orientation", null, 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 712 initEAttribute(getLane_Orientation(), this.getOrientation(), "orientation", null, 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
701 initEAttribute(getLane_Width(), this.getSize(), "width", null, 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 713 initEAttribute(getLane_Width(), this.getSize(), "width", null, 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
702 initEAttribute(getLane_ReferenceCoord(), ecorePackage.getEDouble(), "referenceCoord", null, 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 714 initEAttribute(getLane_ReferenceCoord(), ecorePackage.getEDouble(), "referenceCoord", null, 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
703 initEReference(getLane_Adjacent(), this.getLane(), null, "adjacent", null, 0, 2, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 715 initEReference(getLane_PrevLane(), this.getLane(), null, "prevLane", null, 0, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
704 initEReference(getLane_Actors(), this.getActor(), this.getActor_PlacedOn(), "actors", null, 0, -1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 716 initEReference(getLane_Actors(), this.getActor(), this.getActor_PlacedOn(), "actors", null, 0, -1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
705 initEAttribute(getLane_NumWidth(), ecorePackage.getEDouble(), "numWidth", "0.0", 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); 717 initEAttribute(getLane_NumWidth(), ecorePackage.getEDouble(), "numWidth", "0.0", 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
706 718
707 initEClass(actorEClass, Actor.class, "Actor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 719 initEClass(actorEClass, Actor.class, "Actor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
708 initEAttribute(getActor_XPos(), ecorePackage.getEDouble(), "xPos", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 720 initEAttribute(getActor_XPos(), ecorePackage.getEDouble(), "xPos", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
709 initEAttribute(getActor_YPos(), ecorePackage.getEDouble(), "yPos", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 721 initEAttribute(getActor_YPos(), ecorePackage.getEDouble(), "yPos", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
710 initEAttribute(getActor_Length(), ecorePackage.getEDouble(), "length", "0.0", 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); 722 initEAttribute(getActor_Length(), ecorePackage.getEDouble(), "length", "0.0", 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
711 initEAttribute(getActor_Width(), ecorePackage.getEDouble(), "width", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); 723 initEAttribute(getActor_Width(), ecorePackage.getEDouble(), "width", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
712 initEAttribute(getActor_Speed(), ecorePackage.getEDouble(), "speed", "0.0", 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 724 initEAttribute(getActor_XSpeed(), ecorePackage.getEDouble(), "xSpeed", "0.0", 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
713 initEReference(getActor_Relations(), this.getRelation(), null, "relations", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 725 initEReference(getActor_Relations(), this.getRelation(), null, "relations", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
714 initEReference(getActor_PlacedOn(), this.getLane(), this.getLane_Actors(), "placedOn", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 726 initEReference(getActor_PlacedOn(), this.getLane(), this.getLane_Actors(), "placedOn", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
727 initEAttribute(getActor_YSpeed(), ecorePackage.getEDouble(), "ySpeed", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
715 728
716 initEClass(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 729 initEClass(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
717 initEReference(getRelation_Target(), this.getActor(), null, "target", null, 1, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 730 initEReference(getRelation_Target(), this.getActor(), null, "target", null, 1, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -721,11 +734,10 @@ public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleSce
721 initEClass(temporalRelationEClass, TemporalRelation.class, "TemporalRelation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 734 initEClass(temporalRelationEClass, TemporalRelation.class, "TemporalRelation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
722 735
723 initEClass(visionBlockedEClass, VisionBlocked.class, "VisionBlocked", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 736 initEClass(visionBlockedEClass, VisionBlocked.class, "VisionBlocked", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
724 initEReference(getVisionBlocked_BlockedBy(), this.getActor(), null, "blockedBy", null, 0, 1, VisionBlocked.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 737 initEReference(getVisionBlocked_BlockedBy(), this.getActor(), null, "blockedBy", null, 1, 1, VisionBlocked.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
725 738
726 initEClass(seperationDistanceEClass, SeperationDistance.class, "SeperationDistance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 739 initEClass(seperationDistanceEClass, SeperationDistance.class, "SeperationDistance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
727 initEAttribute(getSeperationDistance_Distance(), this.getDistance(), "distance", null, 1, 1, SeperationDistance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 740 initEAttribute(getSeperationDistance_Distance(), this.getDistance(), "distance", null, 1, 1, SeperationDistance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
728 initEAttribute(getSeperationDistance_NumDistance(), ecorePackage.getEDouble(), "numDistance", null, 1, 1, SeperationDistance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
729 741
730 initEClass(collisionExistsEClass, CollisionExists.class, "CollisionExists", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 742 initEClass(collisionExistsEClass, CollisionExists.class, "CollisionExists", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
731 initEAttribute(getCollisionExists_CollisionTime(), ecorePackage.getEDouble(), "collisionTime", null, 1, 1, CollisionExists.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 743 initEAttribute(getCollisionExists_CollisionTime(), ecorePackage.getEDouble(), "collisionTime", null, 1, 1, CollisionExists.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/Domains/simpleScenario/inputs/simpleScenarioGen.vsconfig b/Domains/simpleScenario/inputs/simpleScenarioGen.vsconfig
index 14e0fbbd..a411d968 100644
--- a/Domains/simpleScenario/inputs/simpleScenarioGen.vsconfig
+++ b/Domains/simpleScenario/inputs/simpleScenarioGen.vsconfig
@@ -9,7 +9,7 @@ generate {
9 scope = { 9 scope = {
10 #node = 10..30, 10 #node = 10..30,
11 #int = {}, 11 #int = {},
12 #<Actor> = 1 12 #<Lane> = 1
13 } 13 }
14 14
15 config = { 15 config = {
diff --git a/Domains/simpleScenario/model/simpleScenario.aird b/Domains/simpleScenario/model/simpleScenario.aird
index e338345d..ed02351d 100644
--- a/Domains/simpleScenario/model/simpleScenario.aird
+++ b/Domains/simpleScenario/model/simpleScenario.aird
@@ -5,7 +5,7 @@
5 <semanticResources>simpleScenario.genmodel</semanticResources> 5 <semanticResources>simpleScenario.genmodel</semanticResources>
6 <ownedViews xmi:type="viewpoint:DView" uid="_XSElMFPIEeuRNIB-ivzkoA"> 6 <ownedViews xmi:type="viewpoint:DView" uid="_XSElMFPIEeuRNIB-ivzkoA">
7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> 7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_X5RvIFPIEeuRNIB-ivzkoA" name="simpleScenario class diagram" repPath="#_X5ACUFPIEeuRNIB-ivzkoA" changeId="96b51b13-0506-497a-a7ca-753034919253"> 8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_X5RvIFPIEeuRNIB-ivzkoA" name="simpleScenario class diagram" repPath="#_X5ACUFPIEeuRNIB-ivzkoA" changeId="4a4a215d-766f-4559-8c8f-c76d95ef5fc9">
9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
10 <target xmi:type="ecore:EPackage" href="simpleScenario.ecore#/"/> 10 <target xmi:type="ecore:EPackage" href="simpleScenario.ecore#/"/>
11 </ownedRepresentationDescriptors> 11 </ownedRepresentationDescriptors>
@@ -69,11 +69,15 @@
69 <styles xmi:type="notation:FontStyle" xmi:id="_RTkSgVPgEeubALGSMZ7-4Q" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> 69 <styles xmi:type="notation:FontStyle" xmi:id="_RTkSgVPgEeubALGSMZ7-4Q" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
70 <layoutConstraint xmi:type="notation:Location" xmi:id="_RTkSglPgEeubALGSMZ7-4Q"/> 70 <layoutConstraint xmi:type="notation:Location" xmi:id="_RTkSglPgEeubALGSMZ7-4Q"/>
71 </children> 71 </children>
72 <children xmi:type="notation:Node" xmi:id="__XODwFV2Eeu8ou9WeNwDEQ" type="3010" element="__Wd10FV2Eeu8ou9WeNwDEQ">
73 <styles xmi:type="notation:FontStyle" xmi:id="__XODwVV2Eeu8ou9WeNwDEQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
74 <layoutConstraint xmi:type="notation:Location" xmi:id="__XODwlV2Eeu8ou9WeNwDEQ"/>
75 </children>
72 <styles xmi:type="notation:SortingStyle" xmi:id="_OtirclPgEeubALGSMZ7-4Q"/> 76 <styles xmi:type="notation:SortingStyle" xmi:id="_OtirclPgEeubALGSMZ7-4Q"/>
73 <styles xmi:type="notation:FilteringStyle" xmi:id="_Otirc1PgEeubALGSMZ7-4Q"/> 77 <styles xmi:type="notation:FilteringStyle" xmi:id="_Otirc1PgEeubALGSMZ7-4Q"/>
74 </children> 78 </children>
75 <styles xmi:type="notation:ShapeStyle" xmi:id="_OtOiYVPgEeubALGSMZ7-4Q" fontName="Segoe UI" fontHeight="8"/> 79 <styles xmi:type="notation:ShapeStyle" xmi:id="_OtOiYVPgEeubALGSMZ7-4Q" fontName="Segoe UI" fontHeight="8"/>
76 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OtOiYlPgEeubALGSMZ7-4Q" x="252" y="36" width="147" height="75"/> 80 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OtOiYlPgEeubALGSMZ7-4Q" x="252" y="24" width="159" height="87"/>
77 </children> 81 </children>
78 <children xmi:type="notation:Node" xmi:id="_TwdLsFPgEeubALGSMZ7-4Q" type="2003" element="_TwYTMFPgEeubALGSMZ7-4Q"> 82 <children xmi:type="notation:Node" xmi:id="_TwdLsFPgEeubALGSMZ7-4Q" type="2003" element="_TwYTMFPgEeubALGSMZ7-4Q">
79 <children xmi:type="notation:Node" xmi:id="_TwdywFPgEeubALGSMZ7-4Q" type="5007"/> 83 <children xmi:type="notation:Node" xmi:id="_TwdywFPgEeubALGSMZ7-4Q" type="5007"/>
@@ -161,11 +165,15 @@
161 <styles xmi:type="notation:FontStyle" xmi:id="_qJitkVPgEeubALGSMZ7-4Q" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> 165 <styles xmi:type="notation:FontStyle" xmi:id="_qJitkVPgEeubALGSMZ7-4Q" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
162 <layoutConstraint xmi:type="notation:Location" xmi:id="_qJitklPgEeubALGSMZ7-4Q"/> 166 <layoutConstraint xmi:type="notation:Location" xmi:id="_qJitklPgEeubALGSMZ7-4Q"/>
163 </children> 167 </children>
168 <children xmi:type="notation:Node" xmi:id="_lbaaUFV8Eeu8ou9WeNwDEQ" type="3010" element="_lbCm4FV8Eeu8ou9WeNwDEQ">
169 <styles xmi:type="notation:FontStyle" xmi:id="_lbaaUVV8Eeu8ou9WeNwDEQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
170 <layoutConstraint xmi:type="notation:Location" xmi:id="_lbaaUlV8Eeu8ou9WeNwDEQ"/>
171 </children>
164 <styles xmi:type="notation:SortingStyle" xmi:id="_pFE_4lPgEeubALGSMZ7-4Q"/> 172 <styles xmi:type="notation:SortingStyle" xmi:id="_pFE_4lPgEeubALGSMZ7-4Q"/>
165 <styles xmi:type="notation:FilteringStyle" xmi:id="_pFE_41PgEeubALGSMZ7-4Q"/> 173 <styles xmi:type="notation:FilteringStyle" xmi:id="_pFE_41PgEeubALGSMZ7-4Q"/>
166 </children> 174 </children>
167 <styles xmi:type="notation:ShapeStyle" xmi:id="_pFDxwVPgEeubALGSMZ7-4Q" fontName="Segoe UI" fontHeight="8"/> 175 <styles xmi:type="notation:ShapeStyle" xmi:id="_pFDxwVPgEeubALGSMZ7-4Q" fontName="Segoe UI" fontHeight="8"/>
168 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pFDxwlPgEeubALGSMZ7-4Q" x="312" y="168" width="171" height="123"/> 176 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pFDxwlPgEeubALGSMZ7-4Q" x="312" y="168" width="171" height="135"/>
169 </children> 177 </children>
170 <children xmi:type="notation:Node" xmi:id="_xOORQFPgEeubALGSMZ7-4Q" type="2003" element="_xN7WUFPgEeubALGSMZ7-4Q"> 178 <children xmi:type="notation:Node" xmi:id="_xOORQFPgEeubALGSMZ7-4Q" type="2003" element="_xN7WUFPgEeubALGSMZ7-4Q">
171 <children xmi:type="notation:Node" xmi:id="_xOPfYFPgEeubALGSMZ7-4Q" type="5007"/> 179 <children xmi:type="notation:Node" xmi:id="_xOPfYFPgEeubALGSMZ7-4Q" type="5007"/>
@@ -210,15 +218,11 @@
210 <styles xmi:type="notation:FontStyle" xmi:id="_-gVAgVPgEeubALGSMZ7-4Q" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> 218 <styles xmi:type="notation:FontStyle" xmi:id="_-gVAgVPgEeubALGSMZ7-4Q" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
211 <layoutConstraint xmi:type="notation:Location" xmi:id="_-gVAglPgEeubALGSMZ7-4Q"/> 219 <layoutConstraint xmi:type="notation:Location" xmi:id="_-gVAglPgEeubALGSMZ7-4Q"/>
212 </children> 220 </children>
213 <children xmi:type="notation:Node" xmi:id="_UVmbQFUAEeu7HeDiE6WqMg" type="3010" element="_UVa1EFUAEeu7HeDiE6WqMg">
214 <styles xmi:type="notation:FontStyle" xmi:id="_UVmbQVUAEeu7HeDiE6WqMg" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
215 <layoutConstraint xmi:type="notation:Location" xmi:id="_UVmbQlUAEeu7HeDiE6WqMg"/>
216 </children>
217 <styles xmi:type="notation:SortingStyle" xmi:id="_9LNnslPgEeubALGSMZ7-4Q"/> 221 <styles xmi:type="notation:SortingStyle" xmi:id="_9LNnslPgEeubALGSMZ7-4Q"/>
218 <styles xmi:type="notation:FilteringStyle" xmi:id="_9LNns1PgEeubALGSMZ7-4Q"/> 222 <styles xmi:type="notation:FilteringStyle" xmi:id="_9LNns1PgEeubALGSMZ7-4Q"/>
219 </children> 223 </children>
220 <styles xmi:type="notation:ShapeStyle" xmi:id="_9LNAoVPgEeubALGSMZ7-4Q" fontName="Segoe UI" fontHeight="8"/> 224 <styles xmi:type="notation:ShapeStyle" xmi:id="_9LNAoVPgEeubALGSMZ7-4Q" fontName="Segoe UI" fontHeight="8"/>
221 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9LNAolPgEeubALGSMZ7-4Q" x="720" y="408" width="194" height="63"/> 225 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9LNAolPgEeubALGSMZ7-4Q" x="720" y="408" width="194" height="52"/>
222 </children> 226 </children>
223 <children xmi:type="notation:Node" xmi:id="_BIq7wFPhEeubALGSMZ7-4Q" type="2003" element="_BIO24FPhEeubALGSMZ7-4Q"> 227 <children xmi:type="notation:Node" xmi:id="_BIq7wFPhEeubALGSMZ7-4Q" type="2003" element="_BIO24FPhEeubALGSMZ7-4Q">
224 <children xmi:type="notation:Node" xmi:id="_BIsJ4FPhEeubALGSMZ7-4Q" type="5007"/> 228 <children xmi:type="notation:Node" xmi:id="_BIsJ4FPhEeubALGSMZ7-4Q" type="5007"/>
@@ -287,7 +291,7 @@
287 <element xsi:nil="true"/> 291 <element xsi:nil="true"/>
288 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eFrdpVPhEeubALGSMZ7-4Q" x="48" y="420" width="217" height="97"/> 292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eFrdpVPhEeubALGSMZ7-4Q" x="48" y="420" width="217" height="97"/>
289 </children> 293 </children>
290 <children xmi:type="notation:Shape" xmi:id="_2t_QIFPhEeubALGSMZ7-4Q" type="Note" fontName="Segoe UI" description="Currently it is 0..1 because we might not care about which is the bloking actorm as long as vision is blocked. TO FURTHER RESTRICT: might need to make this 1..1, or enforce this to a certain extent from queries." fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1"> 294 <children xmi:type="notation:Shape" xmi:id="_2t_QIFPhEeubALGSMZ7-4Q" type="Note" fontName="Segoe UI" description="This might be 0..1: because we might not care about which is the bloking actorm as long as vision is blocked. TO FURTHER RESTRICT: might need to make this 1..1, or enforce this to a certain extent from queries." fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
291 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2t_QIVPhEeubALGSMZ7-4Q" source="specificStyles"> 295 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2t_QIVPhEeubALGSMZ7-4Q" source="specificStyles">
292 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2t_QIlPhEeubALGSMZ7-4Q" key="verticalAlignment" value="8"/> 296 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2t_QIlPhEeubALGSMZ7-4Q" key="verticalAlignment" value="8"/>
293 </eAnnotations> 297 </eAnnotations>
@@ -317,7 +321,7 @@
317 <element xsi:nil="true"/> 321 <element xsi:nil="true"/>
318 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DfudRVPiEeubALGSMZ7-4Q" x="48" y="133" width="82" height="55"/> 322 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DfudRVPiEeubALGSMZ7-4Q" x="48" y="133" width="82" height="55"/>
319 </children> 323 </children>
320 <children xmi:type="notation:Shape" xmi:id="_EVHXsFPjEeubALGSMZ7-4Q" type="Note" fontName="Segoe UI" description="length and width hard-coded wrt. actor type for now." fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1"> 324 <children xmi:type="notation:Shape" xmi:id="_EVHXsFPjEeubALGSMZ7-4Q" type="Note" fontName="Segoe UI" description="length and width hard-coded wrt. actor type for now. speed is in the direction of the lane tht it is in." fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
321 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVHXsVPjEeubALGSMZ7-4Q" source="specificStyles"> 325 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVHXsVPjEeubALGSMZ7-4Q" source="specificStyles">
322 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EVHXslPjEeubALGSMZ7-4Q" key="verticalAlignment" value="8"/> 326 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EVHXslPjEeubALGSMZ7-4Q" key="verticalAlignment" value="8"/>
323 </eAnnotations> 327 </eAnnotations>
@@ -330,7 +334,7 @@
330 <styles xmi:type="notation:TextStyle" xmi:id="_EVHXs1PjEeubALGSMZ7-4Q" textAlignment="Center"/> 334 <styles xmi:type="notation:TextStyle" xmi:id="_EVHXs1PjEeubALGSMZ7-4Q" textAlignment="Center"/>
331 <styles xmi:type="notation:LineTypeStyle" xmi:id="_EVHXtFPjEeubALGSMZ7-4Q"/> 335 <styles xmi:type="notation:LineTypeStyle" xmi:id="_EVHXtFPjEeubALGSMZ7-4Q"/>
332 <element xsi:nil="true"/> 336 <element xsi:nil="true"/>
333 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EVHXtVPjEeubALGSMZ7-4Q" x="300" y="457" width="193" height="51"/> 337 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EVHXtVPjEeubALGSMZ7-4Q" x="300" y="457" width="193" height="72"/>
334 </children> 338 </children>
335 <children xmi:type="notation:Shape" xmi:id="_pgXlUFT_Eeu7HeDiE6WqMg" type="Note" fontName="Segoe UI" description="Actor.CollisionExists(a, b) implies that a nad b collide at time collisionTime. However, this is NOT A DOUBLE-IMPLICATION" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1"> 339 <children xmi:type="notation:Shape" xmi:id="_pgXlUFT_Eeu7HeDiE6WqMg" type="Note" fontName="Segoe UI" description="Actor.CollisionExists(a, b) implies that a nad b collide at time collisionTime. However, this is NOT A DOUBLE-IMPLICATION" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
336 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pgXlUVT_Eeu7HeDiE6WqMg" source="specificStyles"> 340 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pgXlUVT_Eeu7HeDiE6WqMg" source="specificStyles">
@@ -390,7 +394,7 @@
390 <styles xmi:type="notation:FilteringStyle" xmi:id="_Z1xCw1UBEeu7HeDiE6WqMg"/> 394 <styles xmi:type="notation:FilteringStyle" xmi:id="_Z1xCw1UBEeu7HeDiE6WqMg"/>
391 </children> 395 </children>
392 <styles xmi:type="notation:ShapeStyle" xmi:id="_Z1wbsVUBEeu7HeDiE6WqMg" fontName="Segoe UI" fontHeight="8"/> 396 <styles xmi:type="notation:ShapeStyle" xmi:id="_Z1wbsVUBEeu7HeDiE6WqMg" fontName="Segoe UI" fontHeight="8"/>
393 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z1wbslUBEeu7HeDiE6WqMg" x="348" y="370" width="87" height="27"/> 397 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z1wbslUBEeu7HeDiE6WqMg" x="348" y="384" width="87" height="27"/>
394 </children> 398 </children>
395 <children xmi:type="notation:Node" xmi:id="_a0_rIFUBEeu7HeDiE6WqMg" type="2003" element="_a0iYIFUBEeu7HeDiE6WqMg"> 399 <children xmi:type="notation:Node" xmi:id="_a0_rIFUBEeu7HeDiE6WqMg" type="2003" element="_a0iYIFUBEeu7HeDiE6WqMg">
396 <children xmi:type="notation:Node" xmi:id="_a0_rI1UBEeu7HeDiE6WqMg" type="5007"/> 400 <children xmi:type="notation:Node" xmi:id="_a0_rI1UBEeu7HeDiE6WqMg" type="5007"/>
@@ -399,7 +403,7 @@
399 <styles xmi:type="notation:FilteringStyle" xmi:id="_a1ASMlUBEeu7HeDiE6WqMg"/> 403 <styles xmi:type="notation:FilteringStyle" xmi:id="_a1ASMlUBEeu7HeDiE6WqMg"/>
400 </children> 404 </children>
401 <styles xmi:type="notation:ShapeStyle" xmi:id="_a0_rIVUBEeu7HeDiE6WqMg" fontName="Segoe UI" fontHeight="8"/> 405 <styles xmi:type="notation:ShapeStyle" xmi:id="_a0_rIVUBEeu7HeDiE6WqMg" fontName="Segoe UI" fontHeight="8"/>
402 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a0_rIlUBEeu7HeDiE6WqMg" x="408" y="322" width="75" height="41"/> 406 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a0_rIlUBEeu7HeDiE6WqMg" x="408" y="336" width="75" height="41"/>
403 </children> 407 </children>
404 <styles xmi:type="notation:DiagramStyle" xmi:id="_X5RvI1PIEeuRNIB-ivzkoA"/> 408 <styles xmi:type="notation:DiagramStyle" xmi:id="_X5RvI1PIEeuRNIB-ivzkoA"/>
405 <edges xmi:type="notation:Edge" xmi:id="_QQsq0FPhEeubALGSMZ7-4Q" type="4001" element="_QQgdkFPhEeubALGSMZ7-4Q" source="_F-iegFPhEeubALGSMZ7-4Q" target="_0YHaYFPgEeubALGSMZ7-4Q"> 409 <edges xmi:type="notation:Edge" xmi:id="_QQsq0FPhEeubALGSMZ7-4Q" type="4001" element="_QQgdkFPhEeubALGSMZ7-4Q" source="_F-iegFPhEeubALGSMZ7-4Q" target="_0YHaYFPgEeubALGSMZ7-4Q">
@@ -528,7 +532,7 @@
528 <styles xmi:type="notation:FontStyle" xmi:id="_sxyFslPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> 532 <styles xmi:type="notation:FontStyle" xmi:id="_sxyFslPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
529 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxyFs1PhEeubALGSMZ7-4Q" points="[36, -12, 446, -2]$[36, -58, 446, -48]$[-386, -58, 24, -48]"/> 533 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxyFs1PhEeubALGSMZ7-4Q" points="[36, -12, 446, -2]$[36, -58, 446, -48]$[-386, -58, 24, -48]"/>
530 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sxzT0FPhEeubALGSMZ7-4Q" id="(0.0,0.3076923076923077)"/> 534 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sxzT0FPhEeubALGSMZ7-4Q" id="(0.0,0.3076923076923077)"/>
531 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sxzT0VPhEeubALGSMZ7-4Q" id="(0.8579881656804734,0.6942148760330579)"/> 535 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sxzT0VPhEeubALGSMZ7-4Q" id="(0.8579881656804734,0.631578947368421)"/>
532 </edges> 536 </edges>
533 <edges xmi:type="notation:Edge" xmi:id="_wBUj0FPhEeubALGSMZ7-4Q" type="4001" element="_wBI9plPhEeubALGSMZ7-4Q" source="_pFDxwFPgEeubALGSMZ7-4Q" target="_xOORQFPgEeubALGSMZ7-4Q"> 537 <edges xmi:type="notation:Edge" xmi:id="_wBUj0FPhEeubALGSMZ7-4Q" type="4001" element="_wBI9plPhEeubALGSMZ7-4Q" source="_pFDxwFPgEeubALGSMZ7-4Q" target="_xOORQFPgEeubALGSMZ7-4Q">
534 <children xmi:type="notation:Node" xmi:id="_wBVK4FPhEeubALGSMZ7-4Q" type="6001"> 538 <children xmi:type="notation:Node" xmi:id="_wBVK4FPhEeubALGSMZ7-4Q" type="6001">
@@ -543,7 +547,7 @@
543 <styles xmi:type="notation:ConnectorStyle" xmi:id="_wBUj0VPhEeubALGSMZ7-4Q" routing="Rectilinear"/> 547 <styles xmi:type="notation:ConnectorStyle" xmi:id="_wBUj0VPhEeubALGSMZ7-4Q" routing="Rectilinear"/>
544 <styles xmi:type="notation:FontStyle" xmi:id="_wBUj0lPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> 548 <styles xmi:type="notation:FontStyle" xmi:id="_wBUj0lPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
545 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wBUj01PhEeubALGSMZ7-4Q" points="[24, -12, -482, -70]$[506, -12, 0, -70]$[506, 58, 0, 0]"/> 549 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wBUj01PhEeubALGSMZ7-4Q" points="[24, -12, -482, -70]$[506, -12, 0, -70]$[506, 58, 0, 0]"/>
546 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wBVx8FPhEeubALGSMZ7-4Q" id="(0.8579881656804734,0.19834710743801653)"/> 550 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wBVx8FPhEeubALGSMZ7-4Q" id="(0.8579881656804734,0.18045112781954886)"/>
547 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wBVx8VPhEeubALGSMZ7-4Q" id="(0.8135593220338984,0.0)"/> 551 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wBVx8VPhEeubALGSMZ7-4Q" id="(0.8135593220338984,0.0)"/>
548 </edges> 552 </edges>
549 <edges xmi:type="notation:Edge" xmi:id="_y3Xj4FPhEeubALGSMZ7-4Q" type="4001" element="_y3BloFPhEeubALGSMZ7-4Q" source="_6Kj6IFPgEeubALGSMZ7-4Q" target="_pFDxwFPgEeubALGSMZ7-4Q"> 553 <edges xmi:type="notation:Edge" xmi:id="_y3Xj4FPhEeubALGSMZ7-4Q" type="4001" element="_y3BloFPhEeubALGSMZ7-4Q" source="_6Kj6IFPgEeubALGSMZ7-4Q" target="_pFDxwFPgEeubALGSMZ7-4Q">
@@ -560,7 +564,7 @@
560 <styles xmi:type="notation:FontStyle" xmi:id="_y3Xj4lPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> 564 <styles xmi:type="notation:FontStyle" xmi:id="_y3Xj4lPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
561 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y3Xj41PhEeubALGSMZ7-4Q" points="[36, 0, 314, 154]$[36, -144, 314, 10]$[-134, -144, 144, 10]"/> 565 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y3Xj41PhEeubALGSMZ7-4Q" points="[36, 0, 314, 154]$[36, -144, 314, 10]$[-134, -144, 144, 10]"/>
562 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y3YyAFPhEeubALGSMZ7-4Q" id="(0.12371134020618557,0.0)"/> 566 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y3YyAFPhEeubALGSMZ7-4Q" id="(0.12371134020618557,0.0)"/>
563 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y3YyAVPhEeubALGSMZ7-4Q" id="(0.14792899408284024,0.7107438016528925)"/> 567 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y3YyAVPhEeubALGSMZ7-4Q" id="(0.14792899408284024,0.6466165413533834)"/>
564 </edges> 568 </edges>
565 <edges xmi:type="notation:Connector" xmi:id="_7RYi0FPhEeubALGSMZ7-4Q" type="NoteAttachment" source="_2t_QIFPhEeubALGSMZ7-4Q" target="_y3Xj4FPhEeubALGSMZ7-4Q" lineWidth="1"> 569 <edges xmi:type="notation:Connector" xmi:id="_7RYi0FPhEeubALGSMZ7-4Q" type="NoteAttachment" source="_2t_QIFPhEeubALGSMZ7-4Q" target="_y3Xj4FPhEeubALGSMZ7-4Q" lineWidth="1">
566 <styles xmi:type="notation:ArrowStyle" xmi:id="_7RYi0VPhEeubALGSMZ7-4Q"/> 570 <styles xmi:type="notation:ArrowStyle" xmi:id="_7RYi0VPhEeubALGSMZ7-4Q"/>
@@ -583,7 +587,7 @@
583 <styles xmi:type="notation:ConnectorStyle" xmi:id="_9bPLQVPhEeubALGSMZ7-4Q" routing="Rectilinear"/> 587 <styles xmi:type="notation:ConnectorStyle" xmi:id="_9bPLQVPhEeubALGSMZ7-4Q" routing="Rectilinear"/>
584 <styles xmi:type="notation:FontStyle" xmi:id="_9bPLQlPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> 588 <styles xmi:type="notation:FontStyle" xmi:id="_9bPLQlPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
585 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9bPLQ1PhEeubALGSMZ7-4Q" points="[-23, 0, -2, -59]$[-23, 59, -2, 0]"/> 589 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9bPLQ1PhEeubALGSMZ7-4Q" points="[-23, 0, -2, -59]$[-23, 59, -2, 0]"/>
586 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9bPyVFPhEeubALGSMZ7-4Q" id="(0.8068965517241379,1.0)"/> 590 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9bPyVFPhEeubALGSMZ7-4Q" id="(0.7452229299363057,1.0)"/>
587 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9bPyVVPhEeubALGSMZ7-4Q" id="(0.21301775147928995,0.0)"/> 591 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9bPyVVPhEeubALGSMZ7-4Q" id="(0.21301775147928995,0.0)"/>
588 </edges> 592 </edges>
589 <edges xmi:type="notation:Edge" xmi:id="_-pzQIFPhEeubALGSMZ7-4Q" type="4001" element="_-poRDFPhEeubALGSMZ7-4Q" source="_OtOiYFPgEeubALGSMZ7-4Q" target="_TwdLsFPgEeubALGSMZ7-4Q"> 593 <edges xmi:type="notation:Edge" xmi:id="_-pzQIFPhEeubALGSMZ7-4Q" type="4001" element="_-poRDFPhEeubALGSMZ7-4Q" source="_OtOiYFPgEeubALGSMZ7-4Q" target="_TwdLsFPgEeubALGSMZ7-4Q">
@@ -599,7 +603,7 @@
599 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-pzQIVPhEeubALGSMZ7-4Q" routing="Rectilinear"/> 603 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-pzQIVPhEeubALGSMZ7-4Q" routing="Rectilinear"/>
600 <styles xmi:type="notation:FontStyle" xmi:id="_-pzQIlPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> 604 <styles xmi:type="notation:FontStyle" xmi:id="_-pzQIlPhEeubALGSMZ7-4Q" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
601 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-pzQI1PhEeubALGSMZ7-4Q" points="[0, 0, 84, -179]$[0, 29, 84, -150]$[-123, 29, -39, -150]$[-123, 179, -39, 0]"/> 605 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-pzQI1PhEeubALGSMZ7-4Q" points="[0, 0, 84, -179]$[0, 29, 84, -150]$[-123, 29, -39, -150]$[-123, 179, -39, 0]"/>
602 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-pz3NlPhEeubALGSMZ7-4Q" id="(0.2482758620689655,1.0)"/> 606 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-pz3NlPhEeubALGSMZ7-4Q" id="(0.22929936305732485,1.0)"/>
603 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-pz3N1PhEeubALGSMZ7-4Q" id="(0.7188940092165899,0.0)"/> 607 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-pz3N1PhEeubALGSMZ7-4Q" id="(0.7188940092165899,0.0)"/>
604 </edges> 608 </edges>
605 <edges xmi:type="notation:Edge" xmi:id="__oNZIFPhEeubALGSMZ7-4Q" type="4001" element="__n_9wFPhEeubALGSMZ7-4Q" source="_TwdLsFPgEeubALGSMZ7-4Q" target="_TwdLsFPgEeubALGSMZ7-4Q"> 609 <edges xmi:type="notation:Edge" xmi:id="__oNZIFPhEeubALGSMZ7-4Q" type="4001" element="__n_9wFPhEeubALGSMZ7-4Q" source="_TwdLsFPgEeubALGSMZ7-4Q" target="_TwdLsFPgEeubALGSMZ7-4Q">
@@ -640,7 +644,7 @@
640 <styles xmi:type="notation:FontStyle" xmi:id="_HiRsslPiEeubALGSMZ7-4Q" fontName="Segoe UI" fontHeight="8"/> 644 <styles xmi:type="notation:FontStyle" xmi:id="_HiRsslPiEeubALGSMZ7-4Q" fontName="Segoe UI" fontHeight="8"/>
641 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HiRss1PiEeubALGSMZ7-4Q" points="[-73, -24, -120, 96]$[-73, -120, -120, 0]$[47, -120, 0, 0]"/> 645 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HiRss1PiEeubALGSMZ7-4Q" points="[-73, -24, -120, 96]$[-73, -120, -120, 0]$[47, -120, 0, 0]"/>
642 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HiSTxlPiEeubALGSMZ7-4Q" id="(1.0,0.24742268041237114)"/> 646 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HiSTxlPiEeubALGSMZ7-4Q" id="(1.0,0.24742268041237114)"/>
643 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HiSTx1PiEeubALGSMZ7-4Q" id="(0.0,0.19834710743801653)"/> 647 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HiSTx1PiEeubALGSMZ7-4Q" id="(0.0,0.18045112781954886)"/>
644 </edges> 648 </edges>
645 <edges xmi:type="notation:Connector" xmi:id="_I0tIcFPjEeubALGSMZ7-4Q" type="NoteAttachment" source="_EVHXsFPjEeubALGSMZ7-4Q" target="_pFDxwFPgEeubALGSMZ7-4Q" lineWidth="1"> 649 <edges xmi:type="notation:Connector" xmi:id="_I0tIcFPjEeubALGSMZ7-4Q" type="NoteAttachment" source="_EVHXsFPjEeubALGSMZ7-4Q" target="_pFDxwFPgEeubALGSMZ7-4Q" lineWidth="1">
646 <styles xmi:type="notation:ArrowStyle" xmi:id="_I0tIcVPjEeubALGSMZ7-4Q"/> 650 <styles xmi:type="notation:ArrowStyle" xmi:id="_I0tIcVPjEeubALGSMZ7-4Q"/>
@@ -679,7 +683,7 @@
679 <styles xmi:type="notation:FontStyle" xmi:id="_w4VmglUBEeu7HeDiE6WqMg" fontName="Segoe UI" fontHeight="8"/> 683 <styles xmi:type="notation:FontStyle" xmi:id="_w4VmglUBEeu7HeDiE6WqMg" fontName="Segoe UI" fontHeight="8"/>
680 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w4Vmg1UBEeu7HeDiE6WqMg" points="[0, 0, 68, 134]$[0, -63, 68, 71]$[-67, -63, 1, 71]$[-67, -81, 1, 53]"/> 684 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w4Vmg1UBEeu7HeDiE6WqMg" points="[0, 0, 68, 134]$[0, -63, 68, 71]$[-67, -63, 1, 71]$[-67, -81, 1, 53]"/>
681 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w4diUFUBEeu7HeDiE6WqMg" id="(0.32941176470588235,0.05128205128205128)"/> 685 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w4diUFUBEeu7HeDiE6WqMg" id="(0.32941176470588235,0.05128205128205128)"/>
682 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w4diUVUBEeu7HeDiE6WqMg" id="(0.5,0.5661157024793388)"/> 686 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w4diUVUBEeu7HeDiE6WqMg" id="(0.5,0.5150375939849624)"/>
683 </edges> 687 </edges>
684 <edges xmi:type="notation:Edge" xmi:id="_xShBEFUBEeu7HeDiE6WqMg" type="4001" element="_xSRwhlUBEeu7HeDiE6WqMg" source="_a0_rIFUBEeu7HeDiE6WqMg" target="_pFDxwFPgEeubALGSMZ7-4Q"> 688 <edges xmi:type="notation:Edge" xmi:id="_xShBEFUBEeu7HeDiE6WqMg" type="4001" element="_xSRwhlUBEeu7HeDiE6WqMg" source="_a0_rIFUBEeu7HeDiE6WqMg" target="_pFDxwFPgEeubALGSMZ7-4Q">
685 <children xmi:type="notation:Node" xmi:id="_xShBFFUBEeu7HeDiE6WqMg" type="6001"> 689 <children xmi:type="notation:Node" xmi:id="_xShBFFUBEeu7HeDiE6WqMg" type="6001">
@@ -695,7 +699,7 @@
695 <styles xmi:type="notation:FontStyle" xmi:id="_xShBElUBEeu7HeDiE6WqMg" fontName="Segoe UI" fontHeight="8"/> 699 <styles xmi:type="notation:FontStyle" xmi:id="_xShBElUBEeu7HeDiE6WqMg" fontName="Segoe UI" fontHeight="8"/>
696 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xShBE1UBEeu7HeDiE6WqMg" points="[0, 0, 23, 55]$[-23, -55, 0, 0]"/> 700 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xShBE1UBEeu7HeDiE6WqMg" points="[0, 0, 23, 55]$[-23, -55, 0, 0]"/>
697 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gnWZYFUDEeu7HeDiE6WqMg" id="(0.5,0.5)"/> 701 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gnWZYFUDEeu7HeDiE6WqMg" id="(0.5,0.5)"/>
698 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xSiPMVUBEeu7HeDiE6WqMg" id="(0.8579881656804734,0.6942148760330579)"/> 702 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xSiPMVUBEeu7HeDiE6WqMg" id="(0.8579881656804734,0.631578947368421)"/>
699 </edges> 703 </edges>
700 <edges xmi:type="notation:Connector" xmi:id="_fmOTkFUDEeu7HeDiE6WqMg" type="NoteAttachment" source="_ZlSboFPhEeubALGSMZ7-4Q" target="_OtOiYFPgEeubALGSMZ7-4Q" lineWidth="1"> 704 <edges xmi:type="notation:Connector" xmi:id="_fmOTkFUDEeu7HeDiE6WqMg" type="NoteAttachment" source="_ZlSboFPhEeubALGSMZ7-4Q" target="_OtOiYFPgEeubALGSMZ7-4Q" lineWidth="1">
701 <styles xmi:type="notation:ArrowStyle" xmi:id="_fmOTkVUDEeu7HeDiE6WqMg"/> 705 <styles xmi:type="notation:ArrowStyle" xmi:id="_fmOTkVUDEeu7HeDiE6WqMg"/>
@@ -713,7 +717,7 @@
713 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 717 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
714 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 718 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
715 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 719 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
716 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_SBHVAVPgEeubALGSMZ7-4Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 720 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_A4r2gVV3Eeu8ou9WeNwDEQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
717 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> 721 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
718 </ownedStyle> 722 </ownedStyle>
719 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 723 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
@@ -733,6 +737,14 @@
733 </ownedStyle> 737 </ownedStyle>
734 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 738 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
735 </ownedElements> 739 </ownedElements>
740 <ownedElements xmi:type="diagram:DNodeListElement" uid="__Wd10FV2Eeu8ou9WeNwDEQ" name="maxTime : EDouble = 0.0" tooltipText="">
741 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//SimpleScenario/maxTime"/>
742 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//SimpleScenario/maxTime"/>
743 <ownedStyle xmi:type="diagram:BundledImage" uid="_A4ykMlV3Eeu8ou9WeNwDEQ" labelAlignment="LEFT">
744 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
745 </ownedStyle>
746 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
747 </ownedElements>
736 </ownedDiagramElements> 748 </ownedDiagramElements>
737 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_TwYTMFPgEeubALGSMZ7-4Q" name="Lane" tooltipText="" outgoingEdges="__n_9wFPhEeubALGSMZ7-4Q _HiHUoFPiEeubALGSMZ7-4Q" incomingEdges="_-poRDFPhEeubALGSMZ7-4Q __n_9wFPhEeubALGSMZ7-4Q" width="12" height="10"> 749 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_TwYTMFPgEeubALGSMZ7-4Q" name="Lane" tooltipText="" outgoingEdges="__n_9wFPhEeubALGSMZ7-4Q _HiHUoFPiEeubALGSMZ7-4Q" incomingEdges="_-poRDFPhEeubALGSMZ7-4Q __n_9wFPhEeubALGSMZ7-4Q" width="12" height="10">
738 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//Lane"/> 750 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//Lane"/>
@@ -768,10 +780,10 @@
768 </ownedStyle> 780 </ownedStyle>
769 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 781 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
770 </ownedElements> 782 </ownedElements>
771 <ownedElements xmi:type="diagram:DNodeListElement" uid="_21oo4FPkEeubALGSMZ7-4Q" name="/numWidth : EDouble = 0.0" tooltipText=""> 783 <ownedElements xmi:type="diagram:DNodeListElement" uid="_21oo4FPkEeubALGSMZ7-4Q" name="numWidth : EDouble = 0.0" tooltipText="">
772 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Lane/numWidth"/> 784 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Lane/numWidth"/>
773 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Lane/numWidth"/> 785 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Lane/numWidth"/>
774 <ownedStyle xmi:type="diagram:BundledImage" uid="_hzkfc1UEEeu7HeDiE6WqMg" labelColor="39,76,114" labelAlignment="LEFT" description="_hK9ZklT_Eeu7HeDiE6WqMg"> 786 <ownedStyle xmi:type="diagram:BundledImage" uid="_kHRpAVVoEeu8ou9WeNwDEQ" labelAlignment="LEFT" description="_egJDsFPvEeuJov5cvS3R2A">
775 <labelFormat>bold</labelFormat> 787 <labelFormat>bold</labelFormat>
776 </ownedStyle> 788 </ownedStyle>
777 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 789 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
@@ -845,7 +857,7 @@
845 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 857 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
846 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 858 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
847 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 859 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
848 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_xtnotFUBEeu7HeDiE6WqMg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228"> 860 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_msfnsVV8Eeu8ou9WeNwDEQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
849 <labelFormat>italic</labelFormat> 861 <labelFormat>italic</labelFormat>
850 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> 862 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
851 </ownedStyle> 863 </ownedStyle>
@@ -882,14 +894,22 @@
882 </ownedStyle> 894 </ownedStyle>
883 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 895 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
884 </ownedElements> 896 </ownedElements>
885 <ownedElements xmi:type="diagram:DNodeListElement" uid="_qJVSMFPgEeubALGSMZ7-4Q" name="speed : EDouble = 0.0" tooltipText=""> 897 <ownedElements xmi:type="diagram:DNodeListElement" uid="_qJVSMFPgEeubALGSMZ7-4Q" name="xSpeed : EDouble = 0.0" tooltipText="">
886 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Actor/speed"/> 898 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Actor/xSpeed"/>
887 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Actor/speed"/> 899 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Actor/xSpeed"/>
888 <ownedStyle xmi:type="diagram:BundledImage" uid="_1QnNYlRIEeu7HeDiE6WqMg" labelAlignment="LEFT" description="_egJDsFPvEeuJov5cvS3R2A"> 900 <ownedStyle xmi:type="diagram:BundledImage" uid="_1QnNYlRIEeu7HeDiE6WqMg" labelAlignment="LEFT" description="_egJDsFPvEeuJov5cvS3R2A">
889 <labelFormat>bold</labelFormat> 901 <labelFormat>bold</labelFormat>
890 </ownedStyle> 902 </ownedStyle>
891 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 903 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
892 </ownedElements> 904 </ownedElements>
905 <ownedElements xmi:type="diagram:DNodeListElement" uid="_lbCm4FV8Eeu8ou9WeNwDEQ" name="ySpeed : EDouble = 0.0" tooltipText="">
906 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Actor/ySpeed"/>
907 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//Actor/ySpeed"/>
908 <ownedStyle xmi:type="diagram:BundledImage" uid="_re1VUlV8Eeu8ou9WeNwDEQ" labelAlignment="LEFT" description="_egJDsFPvEeuJov5cvS3R2A">
909 <labelFormat>bold</labelFormat>
910 </ownedStyle>
911 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
912 </ownedElements>
893 </ownedDiagramElements> 913 </ownedDiagramElements>
894 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xN7WUFPgEeubALGSMZ7-4Q" name="Relation" tooltipText="" outgoingEdges="_sxnGkFPhEeubALGSMZ7-4Q" incomingEdges="_SJlfFlPhEeubALGSMZ7-4Q _SyG3plPhEeubALGSMZ7-4Q _wBI9plPhEeubALGSMZ7-4Q" width="12" height="10"> 914 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xN7WUFPgEeubALGSMZ7-4Q" name="Relation" tooltipText="" outgoingEdges="_sxnGkFPhEeubALGSMZ7-4Q" incomingEdges="_SJlfFlPhEeubALGSMZ7-4Q _SyG3plPhEeubALGSMZ7-4Q _wBI9plPhEeubALGSMZ7-4Q" width="12" height="10">
895 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//Relation"/> 915 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//Relation"/>
@@ -938,9 +958,9 @@
938 </ownedStyle> 958 </ownedStyle>
939 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 959 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
940 </ownedDiagramElements> 960 </ownedDiagramElements>
941 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_9K6swFPgEeubALGSMZ7-4Q" name="SeperationDistance" tooltipText="" outgoingEdges="_RI43FlPhEeubALGSMZ7-4Q" width="12" height="10"> 961 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_9K6swFPgEeubALGSMZ7-4Q" name="SeparationDistance" tooltipText="" outgoingEdges="_RI43FlPhEeubALGSMZ7-4Q" width="12" height="10">
942 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//SeperationDistance"/> 962 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//SeparationDistance"/>
943 <semanticElements xmi:type="ecore:EClass" href="simpleScenario.ecore#//SeperationDistance"/> 963 <semanticElements xmi:type="ecore:EClass" href="simpleScenario.ecore#//SeparationDistance"/>
944 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 964 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
945 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 965 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
946 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 966 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
@@ -949,21 +969,13 @@
949 </ownedStyle> 969 </ownedStyle>
950 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 970 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
951 <ownedElements xmi:type="diagram:DNodeListElement" uid="_-gIMMFPgEeubALGSMZ7-4Q" name="distance : Distance = Near" tooltipText=""> 971 <ownedElements xmi:type="diagram:DNodeListElement" uid="_-gIMMFPgEeubALGSMZ7-4Q" name="distance : Distance = Near" tooltipText="">
952 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//SeperationDistance/distance"/> 972 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//SeparationDistance/distance"/>
953 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//SeperationDistance/distance"/> 973 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//SeparationDistance/distance"/>
954 <ownedStyle xmi:type="diagram:BundledImage" uid="_H21NcVUAEeu7HeDiE6WqMg" labelAlignment="LEFT" description="_egJDsFPvEeuJov5cvS3R2A"> 974 <ownedStyle xmi:type="diagram:BundledImage" uid="_H21NcVUAEeu7HeDiE6WqMg" labelAlignment="LEFT" description="_egJDsFPvEeuJov5cvS3R2A">
955 <labelFormat>bold</labelFormat> 975 <labelFormat>bold</labelFormat>
956 </ownedStyle> 976 </ownedStyle>
957 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 977 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
958 </ownedElements> 978 </ownedElements>
959 <ownedElements xmi:type="diagram:DNodeListElement" uid="_UVa1EFUAEeu7HeDiE6WqMg" name="/numDistance : EDouble = 0.0" tooltipText="">
960 <target xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//SeperationDistance/numDistance"/>
961 <semanticElements xmi:type="ecore:EAttribute" href="simpleScenario.ecore#//SeperationDistance/numDistance"/>
962 <ownedStyle xmi:type="diagram:BundledImage" uid="_cncVoVUAEeu7HeDiE6WqMg" labelColor="39,76,114" labelAlignment="LEFT" description="_hK9ZklT_Eeu7HeDiE6WqMg">
963 <labelFormat>bold</labelFormat>
964 </ownedStyle>
965 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
966 </ownedElements>
967 </ownedDiagramElements> 979 </ownedDiagramElements>
968 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_BIO24FPhEeubALGSMZ7-4Q" name="CollisionExists" tooltipText="" outgoingEdges="_Qsen4FPhEeubALGSMZ7-4Q" width="12" height="10"> 980 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_BIO24FPhEeubALGSMZ7-4Q" name="CollisionExists" tooltipText="" outgoingEdges="_Qsen4FPhEeubALGSMZ7-4Q" width="12" height="10">
969 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//CollisionExists"/> 981 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//CollisionExists"/>
@@ -1020,8 +1032,8 @@
1020 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> 1032 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1021 </ownedDiagramElements> 1033 </ownedDiagramElements>
1022 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_RI43FlPhEeubALGSMZ7-4Q" sourceNode="_9K6swFPgEeubALGSMZ7-4Q" targetNode="_ynvB4FPgEeubALGSMZ7-4Q"> 1034 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_RI43FlPhEeubALGSMZ7-4Q" sourceNode="_9K6swFPgEeubALGSMZ7-4Q" targetNode="_ynvB4FPgEeubALGSMZ7-4Q">
1023 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//SeperationDistance"/> 1035 <target xmi:type="ecore:EClass" href="simpleScenario.ecore#//SeparationDistance"/>
1024 <semanticElements xmi:type="ecore:EClass" href="simpleScenario.ecore#//SeperationDistance"/> 1036 <semanticElements xmi:type="ecore:EClass" href="simpleScenario.ecore#//SeparationDistance"/>
1025 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WPy3IlUAEeu7HeDiE6WqMg" targetArrow="InputClosedArrow" routingStyle="tree"> 1037 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WPy3IlUAEeu7HeDiE6WqMg" targetArrow="InputClosedArrow" routingStyle="tree">
1026 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> 1038 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1027 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_WPy3I1UAEeu7HeDiE6WqMg" showIcon="false"> 1039 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_WPy3I1UAEeu7HeDiE6WqMg" showIcon="false">
@@ -1087,17 +1099,14 @@
1087 </ownedStyle> 1099 </ownedStyle>
1088 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1100 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1089 </ownedDiagramElements> 1101 </ownedDiagramElements>
1090 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_y3BloFPhEeubALGSMZ7-4Q" name="[0..1] blockedBy" sourceNode="_6KUpkFPgEeubALGSMZ7-4Q" targetNode="_pE1IQFPgEeubALGSMZ7-4Q"> 1102 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_y3BloFPhEeubALGSMZ7-4Q" name="[1..1] blockedBy" sourceNode="_6KUpkFPgEeubALGSMZ7-4Q" targetNode="_pE1IQFPgEeubALGSMZ7-4Q">
1091 <target xmi:type="ecore:EReference" href="simpleScenario.ecore#//VisionBlocked/blockedBy"/> 1103 <target xmi:type="ecore:EReference" href="simpleScenario.ecore#//VisionBlocked/blockedBy"/>
1092 <semanticElements xmi:type="ecore:EReference" href="simpleScenario.ecore#//VisionBlocked/blockedBy"/> 1104 <semanticElements xmi:type="ecore:EReference" href="simpleScenario.ecore#//VisionBlocked/blockedBy"/>
1093 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_y3CMsFPhEeubALGSMZ7-4Q" routingStyle="manhattan" strokeColor="0,0,0"> 1105 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_k89qI1WEEeu8ou9WeNwDEQ" description="_uRTXsFPhEeubALGSMZ7-4Q" routingStyle="manhattan" strokeColor="0,0,0">
1094 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/> 1106 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_k89qJVWEEeu8ou9WeNwDEQ" showIcon="false">
1095 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_y3CMslPhEeubALGSMZ7-4Q" showIcon="false"> 1107 <labelFormat>bold</labelFormat>
1096 <customFeatures>labelSize</customFeatures>
1097 </centerLabelStyle> 1108 </centerLabelStyle>
1098 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_y3CMsVPhEeubALGSMZ7-4Q" showIcon="false" labelColor="39,76,114"> 1109 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_k89qJFWEEeu8ou9WeNwDEQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1099 <customFeatures>labelSize</customFeatures>
1100 </endLabelStyle>
1101 </ownedStyle> 1110 </ownedStyle>
1102 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1111 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1103 </ownedDiagramElements> 1112 </ownedDiagramElements>
@@ -1127,9 +1136,9 @@
1127 </ownedStyle> 1136 </ownedStyle>
1128 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1137 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1129 </ownedDiagramElements> 1138 </ownedDiagramElements>
1130 <ownedDiagramElements xmi:type="diagram:DEdge" uid="__n_9wFPhEeubALGSMZ7-4Q" name="[0..2] adjacent" sourceNode="_TwYTMFPgEeubALGSMZ7-4Q" targetNode="_TwYTMFPgEeubALGSMZ7-4Q"> 1139 <ownedDiagramElements xmi:type="diagram:DEdge" uid="__n_9wFPhEeubALGSMZ7-4Q" name="[0..1] prevLane" sourceNode="_TwYTMFPgEeubALGSMZ7-4Q" targetNode="_TwYTMFPgEeubALGSMZ7-4Q">
1131 <target xmi:type="ecore:EReference" href="simpleScenario.ecore#//Lane/adjacent"/> 1140 <target xmi:type="ecore:EReference" href="simpleScenario.ecore#//Lane/prevLane"/>
1132 <semanticElements xmi:type="ecore:EReference" href="simpleScenario.ecore#//Lane/adjacent"/> 1141 <semanticElements xmi:type="ecore:EReference" href="simpleScenario.ecore#//Lane/prevLane"/>
1133 <ownedStyle xmi:type="diagram:EdgeStyle" uid="__n_9wVPhEeubALGSMZ7-4Q" routingStyle="manhattan" strokeColor="0,0,0"> 1142 <ownedStyle xmi:type="diagram:EdgeStyle" uid="__n_9wVPhEeubALGSMZ7-4Q" routingStyle="manhattan" strokeColor="0,0,0">
1134 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/> 1143 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1135 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="__n_9w1PhEeubALGSMZ7-4Q" showIcon="false"> 1144 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="__n_9w1PhEeubALGSMZ7-4Q" showIcon="false">
diff --git a/Domains/simpleScenario/model/simpleScenario.ecore b/Domains/simpleScenario/model/simpleScenario.ecore
index c164b048..f167e615 100644
--- a/Domains/simpleScenario/model/simpleScenario.ecore
+++ b/Domains/simpleScenario/model/simpleScenario.ecore
@@ -9,6 +9,7 @@
9 eType="#//Actor" containment="true"/> 9 eType="#//Actor" containment="true"/>
10 <eStructuralFeatures xsi:type="ecore:EReference" name="lanes" upperBound="-1" 10 <eStructuralFeatures xsi:type="ecore:EReference" name="lanes" upperBound="-1"
11 eType="#//Lane" containment="true"/> 11 eType="#//Lane" containment="true"/>
12 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
12 </eClassifiers> 13 </eClassifiers>
13 <eClassifiers xsi:type="ecore:EClass" name="Lane"> 14 <eClassifiers xsi:type="ecore:EClass" name="Lane">
14 <eStructuralFeatures xsi:type="ecore:EAttribute" name="orientation" lowerBound="1" 15 <eStructuralFeatures xsi:type="ecore:EAttribute" name="orientation" lowerBound="1"
@@ -16,13 +17,11 @@
16 <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" lowerBound="1" eType="#//Size"/> 17 <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" lowerBound="1" eType="#//Size"/>
17 <eStructuralFeatures xsi:type="ecore:EAttribute" name="referenceCoord" lowerBound="1" 18 <eStructuralFeatures xsi:type="ecore:EAttribute" name="referenceCoord" lowerBound="1"
18 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> 19 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
19 <eStructuralFeatures xsi:type="ecore:EReference" name="adjacent" upperBound="2" 20 <eStructuralFeatures xsi:type="ecore:EReference" name="prevLane" eType="#//Lane"/>
20 eType="#//Lane"/>
21 <eStructuralFeatures xsi:type="ecore:EReference" name="actors" upperBound="-1" 21 <eStructuralFeatures xsi:type="ecore:EReference" name="actors" upperBound="-1"
22 eType="#//Actor" eOpposite="#//Actor/placedOn"/> 22 eType="#//Actor" eOpposite="#//Actor/placedOn"/>
23 <eStructuralFeatures xsi:type="ecore:EAttribute" name="numWidth" lowerBound="1" 23 <eStructuralFeatures xsi:type="ecore:EAttribute" name="numWidth" lowerBound="1"
24 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0" 24 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
25 derived="true"/>
26 </eClassifiers> 25 </eClassifiers>
27 <eClassifiers xsi:type="ecore:EEnum" name="Orientation"> 26 <eClassifiers xsi:type="ecore:EEnum" name="Orientation">
28 <eLiterals name="Vertical"/> 27 <eLiterals name="Vertical"/>
@@ -41,12 +40,14 @@
41 derived="true"/> 40 derived="true"/>
42 <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" 41 <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
43 derived="true"/> 42 derived="true"/>
44 <eStructuralFeatures xsi:type="ecore:EAttribute" name="speed" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" 43 <eStructuralFeatures xsi:type="ecore:EAttribute" name="xSpeed" lowerBound="1"
45 defaultValueLiteral="0.0"/> 44 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
46 <eStructuralFeatures xsi:type="ecore:EReference" name="relations" upperBound="-1" 45 <eStructuralFeatures xsi:type="ecore:EReference" name="relations" upperBound="-1"
47 eType="#//Relation" containment="true"/> 46 eType="#//Relation" containment="true"/>
48 <eStructuralFeatures xsi:type="ecore:EReference" name="placedOn" lowerBound="1" 47 <eStructuralFeatures xsi:type="ecore:EReference" name="placedOn" lowerBound="1"
49 eType="#//Lane" eOpposite="#//Lane/actors"/> 48 eType="#//Lane" eOpposite="#//Lane/actors"/>
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="ySpeed" lowerBound="1"
50 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
50 </eClassifiers> 51 </eClassifiers>
51 <eClassifiers xsi:type="ecore:EClass" name="Relation" abstract="true"> 52 <eClassifiers xsi:type="ecore:EClass" name="Relation" abstract="true">
52 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" 53 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
@@ -55,13 +56,12 @@
55 <eClassifiers xsi:type="ecore:EClass" name="SpatialRelation" abstract="true" eSuperTypes="#//Relation"/> 56 <eClassifiers xsi:type="ecore:EClass" name="SpatialRelation" abstract="true" eSuperTypes="#//Relation"/>
56 <eClassifiers xsi:type="ecore:EClass" name="TemporalRelation" abstract="true" eSuperTypes="#//Relation"/> 57 <eClassifiers xsi:type="ecore:EClass" name="TemporalRelation" abstract="true" eSuperTypes="#//Relation"/>
57 <eClassifiers xsi:type="ecore:EClass" name="VisionBlocked" eSuperTypes="#//SpatialRelation"> 58 <eClassifiers xsi:type="ecore:EClass" name="VisionBlocked" eSuperTypes="#//SpatialRelation">
58 <eStructuralFeatures xsi:type="ecore:EReference" name="blockedBy" eType="#//Actor"/> 59 <eStructuralFeatures xsi:type="ecore:EReference" name="blockedBy" lowerBound="1"
60 eType="#//Actor"/>
59 </eClassifiers> 61 </eClassifiers>
60 <eClassifiers xsi:type="ecore:EClass" name="SeperationDistance" eSuperTypes="#//SpatialRelation"> 62 <eClassifiers xsi:type="ecore:EClass" name="SeparationDistance" eSuperTypes="#//SpatialRelation">
61 <eStructuralFeatures xsi:type="ecore:EAttribute" name="distance" lowerBound="1" 63 <eStructuralFeatures xsi:type="ecore:EAttribute" name="distance" lowerBound="1"
62 eType="#//Distance"/> 64 eType="#//Distance"/>
63 <eStructuralFeatures xsi:type="ecore:EAttribute" name="numDistance" lowerBound="1"
64 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" derived="true"/>
65 </eClassifiers> 65 </eClassifiers>
66 <eClassifiers xsi:type="ecore:EClass" name="CollisionExists" eSuperTypes="#//TemporalRelation"> 66 <eClassifiers xsi:type="ecore:EClass" name="CollisionExists" eSuperTypes="#//TemporalRelation">
67 <eStructuralFeatures xsi:type="ecore:EAttribute" name="collisionTime" lowerBound="1" 67 <eStructuralFeatures xsi:type="ecore:EAttribute" name="collisionTime" lowerBound="1"
diff --git a/Domains/simpleScenario/model/simpleScenario.genmodel b/Domains/simpleScenario/model/simpleScenario.genmodel
index 4ef7d81f..dca1189f 100644
--- a/Domains/simpleScenario/model/simpleScenario.genmodel
+++ b/Domains/simpleScenario/model/simpleScenario.genmodel
@@ -25,12 +25,13 @@
25 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//SimpleScenario/ySize"/> 25 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//SimpleScenario/ySize"/>
26 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//SimpleScenario/actors"/> 26 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//SimpleScenario/actors"/>
27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//SimpleScenario/lanes"/> 27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//SimpleScenario/lanes"/>
28 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//SimpleScenario/maxTime"/>
28 </genClasses> 29 </genClasses>
29 <genClasses ecoreClass="simpleScenario.ecore#//Lane"> 30 <genClasses ecoreClass="simpleScenario.ecore#//Lane">
30 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Lane/orientation"/> 31 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Lane/orientation"/>
31 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Lane/width"/> 32 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Lane/width"/>
32 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Lane/referenceCoord"/> 33 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Lane/referenceCoord"/>
33 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Lane/adjacent"/> 34 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Lane/prevLane"/>
34 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Lane/actors"/> 35 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Lane/actors"/>
35 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Lane/numWidth"/> 36 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Lane/numWidth"/>
36 </genClasses> 37 </genClasses>
@@ -39,9 +40,10 @@
39 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/yPos"/> 40 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/yPos"/>
40 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/length"/> 41 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/length"/>
41 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/width"/> 42 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/width"/>
42 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/speed"/> 43 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/xSpeed"/>
43 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Actor/relations"/> 44 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Actor/relations"/>
44 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Actor/placedOn"/> 45 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Actor/placedOn"/>
46 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//Actor/ySpeed"/>
45 </genClasses> 47 </genClasses>
46 <genClasses ecoreClass="simpleScenario.ecore#//Relation"> 48 <genClasses ecoreClass="simpleScenario.ecore#//Relation">
47 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Relation/target"/> 49 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//Relation/target"/>
@@ -51,9 +53,8 @@
51 <genClasses ecoreClass="simpleScenario.ecore#//VisionBlocked"> 53 <genClasses ecoreClass="simpleScenario.ecore#//VisionBlocked">
52 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//VisionBlocked/blockedBy"/> 54 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleScenario.ecore#//VisionBlocked/blockedBy"/>
53 </genClasses> 55 </genClasses>
54 <genClasses ecoreClass="simpleScenario.ecore#//SeperationDistance"> 56 <genClasses ecoreClass="simpleScenario.ecore#//SeparationDistance">
55 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//SeperationDistance/distance"/> 57 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//SeparationDistance/distance"/>
56 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//SeperationDistance/numDistance"/>
57 </genClasses> 58 </genClasses>
58 <genClasses ecoreClass="simpleScenario.ecore#//CollisionExists"> 59 <genClasses ecoreClass="simpleScenario.ecore#//CollisionExists">
59 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//CollisionExists/collisionTime"/> 60 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute simpleScenario.ecore#//CollisionExists/collisionTime"/>
diff --git a/Domains/simpleScenario/plugin.xml b/Domains/simpleScenario/plugin.xml
index bf0ea47c..cc83fbc6 100644
--- a/Domains/simpleScenario/plugin.xml
+++ b/Domains/simpleScenario/plugin.xml
@@ -1,10 +1,7 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!-- 1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin> 2--><plugin>
3 <extension point="org.eclipse.emf.ecore.generated_package"> 3 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated simpleScenario --> 4 <!-- @generated simpleScenario -->
5 <package 5 <package class="simpleScenario.SimpleScenarioPackage" genModel="model/simpleScenario.genmodel" uri="http://www.example.com/simpleScenario"/>
6 uri="http://www.example.com/simpleScenario" 6 </extension>
7 class="simpleScenario.SimpleScenarioPackage" 7</plugin>
8 genModel="model/simpleScenario.genmodel"/>
9 </extension>
10 </plugin>
diff --git a/Domains/simpleScenario/queries/simpleScenarioQueries.vql b/Domains/simpleScenario/queries/simpleScenarioQueries.vql
index a59715c7..735abdc5 100644
--- a/Domains/simpleScenario/queries/simpleScenarioQueries.vql
+++ b/Domains/simpleScenario/queries/simpleScenarioQueries.vql
@@ -1,11 +1,87 @@
1package queries 1package queries
2 2
3import "http://www.example.com/simpleScenario" 3import "http://www.example.com/simpleScenario"
4import "http://www.eclipse.org/emf/2002/Ecore"
4 5
6//Minimal Failing Example
7@Constraint(severity = "error", key = {l}, message = "this defines the placedOn relation")
8pattern patterThatOnlyWorksWithInt(l : Lane) {
9 Lane.referenceCoord(l, w);
10 check(w <= 2.0);
11}
12
13//////////////
14//Lane
15//////////////
16
17/////////width, numWidth
18@Constraint(severity="error", key={l}, message="x")
19pattern define_numWidth_small(l : Lane) {
20 Lane.width(l, Size::Small);
21 Lane.numWidth(l, nw);
22 check(nw <= 5);
23} or {
24 Lane.width(l, Size::Small);
25 Lane.numWidth(l, nw);
26 check(nw >= 10);
27}
28
29@Constraint(severity="error", key={l}, message="x")
30pattern define_numWidth_medium(l : Lane) {
31 Lane.width(l, Size::Medium);
32 Lane.numWidth(l, nw);
33 check(nw <= 10);
34} or {
35 Lane.width(l, Size::Medium);
36 Lane.numWidth(l, nw);
37 check(nw >= 15);
38}
39
40@Constraint(severity="error", key={l}, message="x")
41pattern define_numWidth_large(l : Lane) {
42 Lane.width(l, Size::Large);
43 Lane.numWidth(l, nw);
44 check(nw <= 15);
45} or {
46 Lane.width(l, Size::Large);
47 Lane.numWidth(l, nw);
48 check(nw >= 20);
49}
50
51/////////referenceCoord
52@Constraint(severity="error", key={l}, message="x")
53pattern define_referenceCoord_horizontalAtOrigin(l:Lane) {
54 1 == count find find_horizontalLaneAtOrigin(l);
55}
56
57private pattern find_horizontalLaneAtOrigin(l:Lane){
58 Lane.orientation(l, Orientation::Horizontal);
59 Lane.referenceCoord(l, rc);
60 Lane.prevLane(l, prev);
61 rc != 0.0;
62}
63
64@Constraint(severity="error", key={l}, message="x")
65pattern define_referenceCoord_verticalAtOrigin(l:Lane) {
66 1 == count find find_verticalLaneAtOrigin(l);
67}
68
69private pattern find_verticalLaneAtOrigin(l:Lane){
70 Lane.orientation(l, Orientation::Vertical);
71 Lane.referenceCoord(l, rc);
72 rc == 0.0;
73}
5 74
6//lanes and lane+widths are in simpleScenarioBoundingBox 75pattern define_referenceCoord_VerticalifMultipleLanes(l1:Lane, l2:Lane) {
76 //calculated risk???
77 Lane.orientation(l1, Orientation::Vertical);
78 Lane.orientation(l2, Orientation::Vertical);
79 Lane.referenceCoord(l1, rc1);
80 Lane.numWidth(l1, nw1);
81 Lane.referenceCoord(l2, rc2);
82 check(rc2 == rc1 + nw1);
83}
7 84
8// actor coords within simpleScenarioBoundingBox
9 85
10//@Constraint(severity = "error", key = {a}, message = "this defines the placedOn relation for vertical lanes") 86//@Constraint(severity = "error", key = {a}, message = "this defines the placedOn relation for vertical lanes")
11//pattern actorOnVerticalLane(a : Actor) { 87//pattern actorOnVerticalLane(a : Actor) {
@@ -19,7 +95,7 @@ import "http://www.example.com/simpleScenario"
19// Lane.orientation(l, Orientation::Vertical); 95// Lane.orientation(l, Orientation::Vertical);
20// Actor.xPos(a, x); 96// Actor.xPos(a, x);
21// Lane.referenceCoord(l, r); 97// Lane.referenceCoord(l, r);
22// Lane.widthNum(l, w); 98// Lane.numWidth(l, w);
23// check(x >= (r + w)); 99// check(x >= (r + w));
24//} 100//}
25// 101//
@@ -35,44 +111,290 @@ import "http://www.example.com/simpleScenario"
35// Lane.orientation(l, Orientation::Horizontal); 111// Lane.orientation(l, Orientation::Horizontal);
36// Actor.yPos(a, y); 112// Actor.yPos(a, y);
37// Lane.referenceCoord(l, r); 113// Lane.referenceCoord(l, r);
38// Lane.widthNum(l, w); 114// Lane.numWidth(l, w);
39// check(y >= (r + w)); 115// check(y >= (r + w));
40//} 116//}
41 117
42@Constraint(severity = "error", key = {a}, message = "this defines the placedOn relation") 118//@Constraint(severity = "error", key = {a}, message = "this defines the placedOn relation")
43pattern actorOnLane(a : Actor) { 119//pattern actorOnLane(a : Actor) {
44 find actorOnVerticalLane(a); 120// find actorOnVerticalLane(a);
45// neg find actorOnHorizontalLane(a); 121//// neg find actorOnHorizontalLane(a);
122//}
123//
124//private pattern actorOnVerticalLane(a : Actor) {
125// Actor.placedOn(a, l);
126// Lane.orientation(l, Orientation::Vertical);
127// Actor.xPos(a, x);
128// Lane.referenceCoord(l, r);
129// Lane.numWidth(l, w);
130// check(x >= r);
131// check(x <= (r + w));
132//}
133
134//@Constraint(severity = "error", key = {l}, message = "this defines the placedOn relation")
135//pattern widthSpec(l : Lane) {
136// Lane.numWidth(l, w);
137// check(w != 5);
138//}
139
140//private pattern actorOnHorizontalLane(a : Actor) {
141// Actor.placedOn(a, l);
142// Lane.orientation(l, Orientation::Vertical);
143// Actor.yPos(a, y);
144// Lane.referenceCoord(l, r);
145// Lane.widthNum(l, w);
146// check(y >= r);
147// check(y <= (r + w));
148//}
149
150//////////////
151//CollisionExists
152//////////////
153
154@Constraint(severity="error", key={c}, message="x")
155pattern collisionExists_timeWithinBound(ss:SimpleScenario, c:CollisionExists) {
156 SimpleScenario.actors.relations(ss, c);
157 SimpleScenario.maxTime(ss, maxTime);
158 CollisionExists. collisionTime(c, cTime);
159 check(cTime >= maxTime);}
160
161@Constraint(severity="error", key={c}, message="x")
162pattern collisionExists_timeNotNegative(c:CollisionExists) {
163 CollisionExists. collisionTime(c, cTime);
164 check(cTime <= 0);}
165
166@Constraint(severity="error", key={a1, c}, message="x")
167pattern collisionExists_defineCollision_y1(a1:Actor, a2:Actor, c:CollisionExists) {
168 Actor.relations(a1, c);
169 CollisionExists.target(c, a2);
170
171 Actor.length(a1, l1);
172 Actor.yPos(a1, yPos1);
173 Actor.ySpeed(a1, ySpeed1);
174 Actor.length(a2, l2);
175 Actor.yPos(a2, yPos2);
176 Actor.ySpeed(a2, ySpeed2);
177 CollisionExists. collisionTime(c, cTime);
178 //check(y_1_bottom > y_2_top
179 check((yPos1 + (ySpeed1 * cTime)) - (l1/2) > (yPos2 + (ySpeed2 * cTime)) + (l2/2));
46} 180}
47 181
48private pattern actorOnVerticalLane(a : Actor) { 182@Constraint(severity="error", key={a1, c}, message="x")
49 Actor.placedOn(a, l); 183pattern collisionExists_defineCollision_y2(a1:Actor, a2:Actor, c:CollisionExists) {
50 Lane.orientation(l, Orientation::Vertical); 184 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
51 Actor.xPos(a, x); 185 Actor.relations(a1, c);
52 Lane.referenceCoord(l, r); 186 CollisionExists.target(c, a2);
53 Lane.widthNum(l, w); 187
54 check(x >= r); 188 Actor.length(a1, l1);
55 check(x <= (r + w)); 189 Actor.yPos(a1, yPos1);
190 Actor.ySpeed(a1, ySpeed1);
191 Actor.length(a2, l2);
192 Actor.yPos(a2, yPos2);
193 Actor.ySpeed(a2, ySpeed2);
194 CollisionExists. collisionTime(c, cTime);
195 //check(y_1_top < y_2_bottom)
196 check((yPos1 + (ySpeed1 * cTime)) + (l1/2) < (yPos2 + (ySpeed2 * cTime)) - (l2/2));
56} 197}
57 198
58@Constraint(severity = "error", key = {l}, message = "this defines the placedOn relation") 199@Constraint(severity="error", key={a1, c}, message="x")
59pattern widthSpec(l : Lane) { 200pattern collisionExists_defineCollision_x1(a1:Actor, a2:Actor, c:CollisionExists) {
60 Lane.widthNum(l, w); 201 Actor.relations(a1, c);
61 check(w != 5); 202 CollisionExists.target(c, a2);
203
204 Actor.width(a1, w1);
205 Actor.xPos(a1, xPos1);
206 Actor.xSpeed(a1, xSpeed1);
207 Actor.width(a2, w2);
208 Actor.xPos(a2, xPos2);
209 Actor.xSpeed(a2, xSpeed2);
210 CollisionExists. collisionTime(c, cTime);
211 //check(x_1_left > x_2_right)
212 check((xPos1 + (xSpeed1 * cTime)) - (w1/2) > (xPos2 + (xSpeed2 * cTime)) + (w2/2));
62} 213}
63 214
64@Constraint(severity = "error", key = {l}, message = "this defines the placedOn relation") 215@Constraint(severity="error", key={a1, c}, message="x")
65pattern refSpec(l : Lane) { 216pattern collisionExists_defineCollision_x2(a1:Actor, a2:Actor, c:CollisionExists) {
66 Lane.referenceCoord(l, w); 217 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
67 check(w != 2); 218 Actor.relations(a1, c);
68} 219 CollisionExists.target(c, a2);
69 220
70private pattern actorOnHorizontalLane(a : Actor) { 221 Actor.width(a1, w1);
71 Actor.placedOn(a, l); 222 Actor.xPos(a1, xPos1);
72 Lane.orientation(l, Orientation::Vertical); 223 Actor.xSpeed(a1, xSpeed1);
73 Actor.yPos(a, y); 224 Actor.width(a2, w2);
74 Lane.referenceCoord(l, r); 225 Actor.xPos(a2, xPos2);
75 Lane.widthNum(l, w); 226 Actor.xSpeed(a2, xSpeed2);
76 check(y >= r); 227 CollisionExists. collisionTime(c, cTime);
77 check(y <= (r + w)); 228 //check(x_1_right < x_2_left)
78} \ No newline at end of file 229 check((xPos1 + (xSpeed1 * cTime)) + (w1/2) < (xPos2 + (xSpeed2 * cTime)) - (w2/2));
230}
231
232//////////////
233//SeparationDistance
234//////////////
235@Constraint(severity="error", key={a1, c}, message="x")
236pattern SeparationDistance_near_lb(a1:Actor, a2:Actor, sd:SeparationDistance) {
237 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
238 Actor.relations(a1, sd);
239 SeparationDistance.target(sd, a2);
240 SeparationDistance.distance(sd, Distance::Near);
241
242 Actor.xPos(a1, x1);
243 Actor.yPos(a1, y1);
244 Actor.xPos(a2, x2);
245 Actor.yPos(a2, y2);
246 //check(dx^2 + dy^2 < 5^2)
247 check((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) < 5*5);
248}
249
250@Constraint(severity="error", key={a1, c}, message="x")
251pattern SeparationDistance_near_ub(a1:Actor, a2:Actor, sd:SeparationDistance) {
252 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
253 Actor.relations(a1, sd);
254 SeparationDistance.target(sd, a2);
255 SeparationDistance.distance(sd, Distance::Near);
256
257 Actor.xPos(a1, x1);
258 Actor.yPos(a1, y1);
259 Actor.xPos(a2, x2);
260 Actor.yPos(a2, y2);
261 //check(dx^2 + dy^2 > 10^2)
262 check((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) > 10*10);
263}
264
265@Constraint(severity="error", key={a1, c}, message="x")
266pattern SeparationDistance_medium_lb(a1:Actor, a2:Actor, sd:SeparationDistance) {
267 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
268 Actor.relations(a1, sd);
269 SeparationDistance.target(sd, a2);
270 SeparationDistance.distance(sd, Distance::Medium);
271
272 Actor.xPos(a1, x1);
273 Actor.yPos(a1, y1);
274 Actor.xPos(a2, x2);
275 Actor.yPos(a2, y2);
276 //check(dx^2 + dy^2 < 10^2)
277 check((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) < 10*10);
278}
279
280@Constraint(severity="error", key={a1, c}, message="x")
281pattern SeparationDistance_medium_ub(a1:Actor, a2:Actor, sd:SeparationDistance) {
282 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
283 Actor.relations(a1, sd);
284 SeparationDistance.target(sd, a2);
285 SeparationDistance.distance(sd, Distance::Medium);
286
287 Actor.xPos(a1, x1);
288 Actor.yPos(a1, y1);
289 Actor.xPos(a2, x2);
290 Actor.yPos(a2, y2);
291 //check(dx^2 + dy^2 > 1^2)
292 check((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) > 15*15);
293}
294
295@Constraint(severity="error", key={a1, c}, message="x")
296pattern SeparationDistance_far_lb(a1:Actor, a2:Actor, sd:SeparationDistance) {
297 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
298 Actor.relations(a1, sd);
299 SeparationDistance.target(sd, a2);
300 SeparationDistance.distance(sd, Distance::Far);
301
302 Actor.xPos(a1, x1);
303 Actor.yPos(a1, y1);
304 Actor.xPos(a2, x2);
305 Actor.yPos(a2, y2);
306 //check(dx^2 + dy^2 < 15^2)
307 check((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) < 15*15);
308}
309
310//////////////
311//CollisionDoesNotExist
312//////////////
313
314@Constraint(severity="error", key={a1, c}, message="x")
315pattern collisionDoesNotExist(a1:Actor, a2:Actor, ss:SimpleScenario, cdne:CollisionDoesNotExist) {
316 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
317
318 SimpleScenario.actors(ss, a1);
319 SimpleScenario.actors(ss, a2);
320 Actor.relations(a1, cdne);
321 CollisionDoesNotExist.target(cdne, a2);
322 SimpleScenario.maxTime(ss, maxTime);
323
324 Actor.width(a1, w1);
325 Actor.length(a1, l1);
326 Actor.xPos(a1, xPos1);
327 Actor.yPos(a1, yPos1);
328 Actor.xSpeed(a1, xSpeed1);
329 Actor.ySpeed(a1, ySpeed1);
330
331 Actor.width(a2, w2);
332 Actor.length(a2, l2);
333 Actor.xPos(a2, xPos2);
334 Actor.yPos(a2, yPos2);
335 Actor.xSpeed(a2, xSpeed2);
336 Actor.ySpeed(a2, ySpeed2);
337 //check(dx^2 + dy^2 < 15^2)
338 check((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) < 15*15);
339}
340
341//////////////
342//VisionBlocked
343//////////////
344
345//OPTIONS 1: everything is from a single check expression containing ITEs
346//Currently unhandled bygenerator
347pattern visionBlocked_ites_top(a1:Actor, a2:Actor, vb:VisionBlocked) {
348 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
349 Actor.relations(a1, vb);
350 VisionBlocked.target(vb, a2);
351 VisionBlocked.blockedBy(vb, aBlocker);
352
353 Actor.xPos(a1, x1);
354 Actor.yPos(a1, y1);
355 Actor.xPos(a2, x2);
356 Actor.yPos(a2, y2);
357 Actor.xPos(aBlocker, xBlocker);
358 Actor.yPos(aBlocker, yBlocker);
359 Actor.length(aBlocker, lenBlocker);
360 Actor.width(aBlocker, widBlocker);
361
362 //check(slope of a1-to-BlockerTop < slope of a1-to-a2)
363 check(
364 ( yBlocker - y1 + (if(xBlocker > x1){lenBlocker/2}else{0-lenBlocker/2})) /
365 ( xBlocker - x1 + (if(yBlocker > y1){0-widBlocker/2}else{widBlocker/2}))
366 < ((y1-y2)/(x1-x2)));
367}
368
369pattern visionBlocked_ites_bottom(a1:Actor, a2:Actor, vb:VisionBlocked) {
370 //This second one is required because we do not want to enforce both a1->c->a2 and a2->c->a1
371 Actor.relations(a1, vb);
372 VisionBlocked.target(vb, a2);
373 VisionBlocked.blockedBy(vb, aBlocker);
374
375 Actor.xPos(a1, x1);
376 Actor.yPos(a1, y1);
377 Actor.xPos(a2, x2);
378 Actor.yPos(a2, y2);
379 Actor.xPos(aBlocker, xBlocker);
380 Actor.yPos(aBlocker, yBlocker);
381 Actor.length(aBlocker, lenBlocker);
382 Actor.width(aBlocker, widBlocker);
383
384 //check(slope of a1-to-BlockerBottom > slope of a1-to-a2)
385 check(
386 ( yBlocker - y1 + (if(xBlocker > x1){0-lenBlocker/2}else{lenBlocker/2})) /
387 ( xBlocker - x1 + (if(yBlocker > y1){widBlocker/2}else{0-widBlocker/2}))
388 > ((y1-y2)/(x1-x2)));
389}
390
391//OPTION 2:
392//we handle ITE by seperating the constraints
393
394//This will involve 1 constarint for each decision path, but will require multiple check expressions within the same pattern
395
396//OPTION 3:
397//If this is nott working still, we will have to add some strctural components to the MM
398//to differentiate the different cases and reduce the requirements of if, then, else
399
400//This will involve more patterns, and some that are pstructural as well. \ No newline at end of file