From e3774317421935b8d63e2e0ad08a141853d31908 Mon Sep 17 00:00:00 2001 From: Aren Babikian Date: Mon, 11 Jan 2021 06:42:10 -0500 Subject: first version of the simpleScenario MM+VQL. noRealMatches bug found --- Domains/traffic.scenarios.simplified/.classpath | 9 + Domains/traffic.scenarios.simplified/.gitignore | 4 + Domains/traffic.scenarios.simplified/.project | 40 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 22 + .../traffic.scenarios.simplified/build.properties | 10 + .../ecore-gen/simpleScenario/Actor.java | 205 +++ .../ecore-gen/simpleScenario/ActorType.java | 209 +++ .../simpleScenario/CollisionDoesNotExist.java | 17 + .../ecore-gen/simpleScenario/CollisionExists.java | 45 + .../ecore-gen/simpleScenario/Lane.java | 151 +++ .../ecore-gen/simpleScenario/Orientation.java | 209 +++ .../ecore-gen/simpleScenario/Relation.java | 46 + .../simpleScenario/SeperationDistance.java | 48 + .../ecore-gen/simpleScenario/SimpleScenario.java | 97 ++ .../simpleScenario/SimpleScenarioFactory.java | 96 ++ .../simpleScenario/SimpleScenarioPackage.java | 1326 ++++++++++++++++++++ .../ecore-gen/simpleScenario/Size.java | 232 ++++ .../ecore-gen/simpleScenario/SpatialRelation.java | 17 + .../ecore-gen/simpleScenario/TemporalRelation.java | 17 + .../ecore-gen/simpleScenario/VisionBlocked.java | 45 + .../ecore-gen/simpleScenario/impl/ActorImpl.java | 609 +++++++++ .../impl/CollisionDoesNotExistImpl.java | 37 + .../simpleScenario/impl/CollisionExistsImpl.java | 164 +++ .../ecore-gen/simpleScenario/impl/LaneImpl.java | 446 +++++++ .../simpleScenario/impl/RelationImpl.java | 159 +++ .../impl/SeperationDistanceImpl.java | 165 +++ .../impl/SimpleScenarioFactoryImpl.java | 268 ++++ .../simpleScenario/impl/SimpleScenarioImpl.java | 319 +++++ .../impl/SimpleScenarioPackageImpl.java | 711 +++++++++++ .../simpleScenario/impl/SpatialRelationImpl.java | 37 + .../simpleScenario/impl/TemporalRelationImpl.java | 37 + .../simpleScenario/impl/VisionBlockedImpl.java | 158 +++ .../util/SimpleScenarioAdapterFactory.java | 282 +++++ .../simpleScenario/util/SimpleScenarioSwitch.java | 309 +++++ .../inputs/SimpleScenarioInstance.xmi | 4 + .../inputs/simpleScenarioGen.vsconfig | 28 + .../model/simpleScenario.aird | 1073 ++++++++++++++++ .../model/simpleScenario.ecore | 70 ++ .../model/simpleScenario.genmodel | 62 + .../traffic.scenarios.simplified/plugin.properties | 4 + Domains/traffic.scenarios.simplified/plugin.xml | 10 + .../queries/simpleScenarioQueries.vql | 78 ++ .../src/simpleScenario/run/simpleScenarioMain.java | 16 + 44 files changed, 7898 insertions(+) create mode 100644 Domains/traffic.scenarios.simplified/.classpath create mode 100644 Domains/traffic.scenarios.simplified/.gitignore create mode 100644 Domains/traffic.scenarios.simplified/.project create mode 100644 Domains/traffic.scenarios.simplified/.settings/org.eclipse.jdt.core.prefs create mode 100644 Domains/traffic.scenarios.simplified/META-INF/MANIFEST.MF create mode 100644 Domains/traffic.scenarios.simplified/build.properties create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Actor.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/ActorType.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/CollisionDoesNotExist.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/CollisionExists.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Lane.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Orientation.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Relation.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SeperationDistance.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenario.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenarioFactory.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenarioPackage.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Size.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SpatialRelation.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/TemporalRelation.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/VisionBlocked.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/ActorImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/CollisionDoesNotExistImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/CollisionExistsImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/LaneImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/RelationImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioFactoryImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SpatialRelationImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/TemporalRelationImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/VisionBlockedImpl.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/util/SimpleScenarioAdapterFactory.java create mode 100644 Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/util/SimpleScenarioSwitch.java create mode 100644 Domains/traffic.scenarios.simplified/inputs/SimpleScenarioInstance.xmi create mode 100644 Domains/traffic.scenarios.simplified/inputs/simpleScenarioGen.vsconfig create mode 100644 Domains/traffic.scenarios.simplified/model/simpleScenario.aird create mode 100644 Domains/traffic.scenarios.simplified/model/simpleScenario.ecore create mode 100644 Domains/traffic.scenarios.simplified/model/simpleScenario.genmodel create mode 100644 Domains/traffic.scenarios.simplified/plugin.properties create mode 100644 Domains/traffic.scenarios.simplified/plugin.xml create mode 100644 Domains/traffic.scenarios.simplified/queries/simpleScenarioQueries.vql create mode 100644 Domains/traffic.scenarios.simplified/src/simpleScenario/run/simpleScenarioMain.java diff --git a/Domains/traffic.scenarios.simplified/.classpath b/Domains/traffic.scenarios.simplified/.classpath new file mode 100644 index 00000000..0712d3e2 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Domains/traffic.scenarios.simplified/.gitignore b/Domains/traffic.scenarios.simplified/.gitignore new file mode 100644 index 00000000..0370ac06 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/.gitignore @@ -0,0 +1,4 @@ +/bin/ +/outputs/ +/src-gen/ +/xtend-gen/ diff --git a/Domains/traffic.scenarios.simplified/.project b/Domains/traffic.scenarios.simplified/.project new file mode 100644 index 00000000..60b7160b --- /dev/null +++ b/Domains/traffic.scenarios.simplified/.project @@ -0,0 +1,40 @@ + + + simpleScenario + + + + + + org.eclipse.viatra.query.tooling.ui.projectbuilder + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.viatra.query.projectnature + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/Domains/traffic.scenarios.simplified/.settings/org.eclipse.jdt.core.prefs b/Domains/traffic.scenarios.simplified/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..295926d9 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Domains/traffic.scenarios.simplified/META-INF/MANIFEST.MF b/Domains/traffic.scenarios.simplified/META-INF/MANIFEST.MF new file mode 100644 index 00000000..22f9477b --- /dev/null +++ b/Domains/traffic.scenarios.simplified/META-INF/MANIFEST.MF @@ -0,0 +1,22 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: simpleScenario;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Export-Package: simpleScenario, + simpleScenario.impl, + simpleScenario.util +Require-Bundle: org.eclipse.viatra.query.runtime, + org.eclipse.viatra.query.runtime.rete, + org.eclipse.viatra.query.runtime.localsearch, + org.eclipse.xtext.xbase.lib, + org.eclipse.core.runtime, + org.eclipse.emf.ecore;visibility:=reexport, + hu.bme.mit.inf.dslreasoner.application;bundle-version="1.0.0" +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-ActivationPolicy: lazy +Import-Package: org.apache.log4j +Automatic-Module-Name: simpleScenario diff --git a/Domains/traffic.scenarios.simplified/build.properties b/Domains/traffic.scenarios.simplified/build.properties new file mode 100644 index 00000000..cc431c50 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/build.properties @@ -0,0 +1,10 @@ +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/,\ + src-gen/,\ + ecore-gen/ +output.. = bin/ diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Actor.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Actor.java new file mode 100644 index 00000000..c4ee874e --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Actor.java @@ -0,0 +1,205 @@ +/** + */ +package simpleScenario; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Actor'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see simpleScenario.SimpleScenarioPackage#getActor() + * @model + * @generated + */ +public interface Actor extends EObject { + /** + * Returns the value of the 'Type' attribute. + * The literals are from the enumeration {@link simpleScenario.ActorType}. + * + * + * @return the value of the 'Type' attribute. + * @see simpleScenario.ActorType + * @see #setType(ActorType) + * @see simpleScenario.SimpleScenarioPackage#getActor_Type() + * @model required="true" + * @generated + */ + ActorType getType(); + + /** + * Sets the value of the '{@link simpleScenario.Actor#getType Type}' attribute. + * + * + * @param value the new value of the 'Type' attribute. + * @see simpleScenario.ActorType + * @see #getType() + * @generated + */ + void setType(ActorType value); + + /** + * Returns the value of the 'XPos' attribute. + * + * + * @return the value of the 'XPos' attribute. + * @see #setXPos(double) + * @see simpleScenario.SimpleScenarioPackage#getActor_XPos() + * @model required="true" + * @generated + */ + double getXPos(); + + /** + * Sets the value of the '{@link simpleScenario.Actor#getXPos XPos}' attribute. + * + * + * @param value the new value of the 'XPos' attribute. + * @see #getXPos() + * @generated + */ + void setXPos(double value); + + /** + * Returns the value of the 'YPos' attribute. + * + * + * @return the value of the 'YPos' attribute. + * @see #setYPos(double) + * @see simpleScenario.SimpleScenarioPackage#getActor_YPos() + * @model required="true" + * @generated + */ + double getYPos(); + + /** + * Sets the value of the '{@link simpleScenario.Actor#getYPos YPos}' attribute. + * + * + * @param value the new value of the 'YPos' attribute. + * @see #getYPos() + * @generated + */ + void setYPos(double value); + + /** + * Returns the value of the 'Length' attribute. + * The default value is "0.0". + * + * + * @return the value of the 'Length' attribute. + * @see #setLength(double) + * @see simpleScenario.SimpleScenarioPackage#getActor_Length() + * @model default="0.0" + * @generated + */ + double getLength(); + + /** + * Sets the value of the '{@link simpleScenario.Actor#getLength Length}' attribute. + * + * + * @param value the new value of the 'Length' attribute. + * @see #getLength() + * @generated + */ + void setLength(double value); + + /** + * Returns the value of the 'Width' attribute. + * + * + * @return the value of the 'Width' attribute. + * @see #setWidth(double) + * @see simpleScenario.SimpleScenarioPackage#getActor_Width() + * @model + * @generated + */ + double getWidth(); + + /** + * Sets the value of the '{@link simpleScenario.Actor#getWidth Width}' attribute. + * + * + * @param value the new value of the 'Width' attribute. + * @see #getWidth() + * @generated + */ + void setWidth(double value); + + /** + * Returns the value of the 'Speed' attribute. + * + * + * @return the value of the 'Speed' attribute. + * @see #setSpeed(double) + * @see simpleScenario.SimpleScenarioPackage#getActor_Speed() + * @model required="true" + * @generated + */ + double getSpeed(); + + /** + * Sets the value of the '{@link simpleScenario.Actor#getSpeed Speed}' attribute. + * + * + * @param value the new value of the 'Speed' attribute. + * @see #getSpeed() + * @generated + */ + void setSpeed(double value); + + /** + * Returns the value of the 'Relations' containment reference list. + * The list contents are of type {@link simpleScenario.Relation}. + * + * + * @return the value of the 'Relations' containment reference list. + * @see simpleScenario.SimpleScenarioPackage#getActor_Relations() + * @model containment="true" + * @generated + */ + EList getRelations(); + + /** + * Returns the value of the 'Placed On' reference. + * It is bidirectional and its opposite is '{@link simpleScenario.Lane#getActors Actors}'. + * + * + * @return the value of the 'Placed On' reference. + * @see #setPlacedOn(Lane) + * @see simpleScenario.SimpleScenarioPackage#getActor_PlacedOn() + * @see simpleScenario.Lane#getActors + * @model opposite="actors" required="true" + * @generated + */ + Lane getPlacedOn(); + + /** + * Sets the value of the '{@link simpleScenario.Actor#getPlacedOn Placed On}' reference. + * + * + * @param value the new value of the 'Placed On' reference. + * @see #getPlacedOn() + * @generated + */ + void setPlacedOn(Lane value); + +} // Actor diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/ActorType.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/ActorType.java new file mode 100644 index 00000000..7d9e1988 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/ActorType.java @@ -0,0 +1,209 @@ +/** + */ +package simpleScenario; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Actor Type', + * and utility methods for working with them. + * + * @see simpleScenario.SimpleScenarioPackage#getActorType() + * @model + * @generated + */ +public enum ActorType implements Enumerator { + /** + * The 'Pedestrian' literal object. + * + * + * @see #PEDESTRIAN_VALUE + * @generated + * @ordered + */ + PEDESTRIAN(0, "Pedestrian", "Pedestrian"), + + /** + * The 'Vehicle' literal object. + * + * + * @see #VEHICLE_VALUE + * @generated + * @ordered + */ + VEHICLE(1, "Vehicle", "Vehicle"); + + /** + * The 'Pedestrian' literal value. + * + * + * @see #PEDESTRIAN + * @model name="Pedestrian" + * @generated + * @ordered + */ + public static final int PEDESTRIAN_VALUE = 0; + + /** + * The 'Vehicle' literal value. + * + * + * @see #VEHICLE + * @model name="Vehicle" + * @generated + * @ordered + */ + public static final int VEHICLE_VALUE = 1; + + /** + * An array of all the 'Actor Type' enumerators. + * + * + * @generated + */ + private static final ActorType[] VALUES_ARRAY = + new ActorType[] { + PEDESTRIAN, + VEHICLE, + }; + + /** + * A public read-only list of all the 'Actor Type' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Actor Type' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static ActorType get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + ActorType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Actor Type' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static ActorType getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + ActorType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Actor Type' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static ActorType get(int value) { + switch (value) { + case PEDESTRIAN_VALUE: return PEDESTRIAN; + case VEHICLE_VALUE: return VEHICLE; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private ActorType(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //ActorType diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/CollisionDoesNotExist.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/CollisionDoesNotExist.java new file mode 100644 index 00000000..2699bb94 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/CollisionDoesNotExist.java @@ -0,0 +1,17 @@ +/** + */ +package simpleScenario; + + +/** + * + * A representation of the model object 'Collision Does Not Exist'. + * + * + * + * @see simpleScenario.SimpleScenarioPackage#getCollisionDoesNotExist() + * @model + * @generated + */ +public interface CollisionDoesNotExist extends TemporalRelation { +} // CollisionDoesNotExist diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/CollisionExists.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/CollisionExists.java new file mode 100644 index 00000000..9e495f61 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/CollisionExists.java @@ -0,0 +1,45 @@ +/** + */ +package simpleScenario; + + +/** + * + * A representation of the model object 'Collision Exists'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link simpleScenario.CollisionExists#getCollisionTime Collision Time}
  • + *
+ * + * @see simpleScenario.SimpleScenarioPackage#getCollisionExists() + * @model + * @generated + */ +public interface CollisionExists extends TemporalRelation { + /** + * Returns the value of the 'Collision Time' attribute. + * + * + * @return the value of the 'Collision Time' attribute. + * @see #setCollisionTime(double) + * @see simpleScenario.SimpleScenarioPackage#getCollisionExists_CollisionTime() + * @model required="true" + * @generated + */ + double getCollisionTime(); + + /** + * Sets the value of the '{@link simpleScenario.CollisionExists#getCollisionTime Collision Time}' attribute. + * + * + * @param value the new value of the 'Collision Time' attribute. + * @see #getCollisionTime() + * @generated + */ + void setCollisionTime(double value); + +} // CollisionExists diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Lane.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Lane.java new file mode 100644 index 00000000..e4d608e6 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Lane.java @@ -0,0 +1,151 @@ +/** + */ +package simpleScenario; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Lane'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link simpleScenario.Lane#getOrientation Orientation}
  • + *
  • {@link simpleScenario.Lane#getWidth Width}
  • + *
  • {@link simpleScenario.Lane#getReferenceCoord Reference Coord}
  • + *
  • {@link simpleScenario.Lane#getAdjacent Adjacent}
  • + *
  • {@link simpleScenario.Lane#getActors Actors}
  • + *
  • {@link simpleScenario.Lane#getWidthNum Width Num}
  • + *
+ * + * @see simpleScenario.SimpleScenarioPackage#getLane() + * @model + * @generated + */ +public interface Lane extends EObject { + /** + * Returns the value of the 'Orientation' attribute. + * The literals are from the enumeration {@link simpleScenario.Orientation}. + * + * + * @return the value of the 'Orientation' attribute. + * @see simpleScenario.Orientation + * @see #setOrientation(Orientation) + * @see simpleScenario.SimpleScenarioPackage#getLane_Orientation() + * @model required="true" + * @generated + */ + Orientation getOrientation(); + + /** + * Sets the value of the '{@link simpleScenario.Lane#getOrientation Orientation}' attribute. + * + * + * @param value the new value of the 'Orientation' attribute. + * @see simpleScenario.Orientation + * @see #getOrientation() + * @generated + */ + void setOrientation(Orientation value); + + /** + * Returns the value of the 'Width' attribute. + * The literals are from the enumeration {@link simpleScenario.Size}. + * + * + * @return the value of the 'Width' attribute. + * @see simpleScenario.Size + * @see #setWidth(Size) + * @see simpleScenario.SimpleScenarioPackage#getLane_Width() + * @model required="true" + * @generated + */ + Size getWidth(); + + /** + * Sets the value of the '{@link simpleScenario.Lane#getWidth Width}' attribute. + * + * + * @param value the new value of the 'Width' attribute. + * @see simpleScenario.Size + * @see #getWidth() + * @generated + */ + void setWidth(Size value); + + /** + * Returns the value of the 'Reference Coord' attribute. + * + * + * @return the value of the 'Reference Coord' attribute. + * @see #setReferenceCoord(double) + * @see simpleScenario.SimpleScenarioPackage#getLane_ReferenceCoord() + * @model required="true" + * @generated + */ + double getReferenceCoord(); + + /** + * Sets the value of the '{@link simpleScenario.Lane#getReferenceCoord Reference Coord}' attribute. + * + * + * @param value the new value of the 'Reference Coord' attribute. + * @see #getReferenceCoord() + * @generated + */ + void setReferenceCoord(double value); + + /** + * Returns the value of the 'Adjacent' reference list. + * The list contents are of type {@link simpleScenario.Lane}. + * + * + * @return the value of the 'Adjacent' reference list. + * @see simpleScenario.SimpleScenarioPackage#getLane_Adjacent() + * @model upper="2" + * @generated + */ + EList getAdjacent(); + + /** + * Returns the value of the 'Actors' reference list. + * The list contents are of type {@link simpleScenario.Actor}. + * It is bidirectional and its opposite is '{@link simpleScenario.Actor#getPlacedOn Placed On}'. + * + * + * @return the value of the 'Actors' reference list. + * @see simpleScenario.SimpleScenarioPackage#getLane_Actors() + * @see simpleScenario.Actor#getPlacedOn + * @model opposite="placedOn" + * @generated + */ + EList getActors(); + + /** + * Returns the value of the 'Width Num' attribute. + * + * + * @return the value of the 'Width Num' attribute. + * @see #setWidthNum(double) + * @see simpleScenario.SimpleScenarioPackage#getLane_WidthNum() + * @model required="true" + * @generated + */ + double getWidthNum(); + + /** + * Sets the value of the '{@link simpleScenario.Lane#getWidthNum Width Num}' attribute. + * + * + * @param value the new value of the 'Width Num' attribute. + * @see #getWidthNum() + * @generated + */ + void setWidthNum(double value); + +} // Lane diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Orientation.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Orientation.java new file mode 100644 index 00000000..8f7f055b --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Orientation.java @@ -0,0 +1,209 @@ +/** + */ +package simpleScenario; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Orientation', + * and utility methods for working with them. + * + * @see simpleScenario.SimpleScenarioPackage#getOrientation() + * @model + * @generated + */ +public enum Orientation implements Enumerator { + /** + * The 'Vertical' literal object. + * + * + * @see #VERTICAL_VALUE + * @generated + * @ordered + */ + VERTICAL(0, "Vertical", "Vertical"), + + /** + * The 'Horizontal' literal object. + * + * + * @see #HORIZONTAL_VALUE + * @generated + * @ordered + */ + HORIZONTAL(1, "Horizontal", "Horizontal"); + + /** + * The 'Vertical' literal value. + * + * + * @see #VERTICAL + * @model name="Vertical" + * @generated + * @ordered + */ + public static final int VERTICAL_VALUE = 0; + + /** + * The 'Horizontal' literal value. + * + * + * @see #HORIZONTAL + * @model name="Horizontal" + * @generated + * @ordered + */ + public static final int HORIZONTAL_VALUE = 1; + + /** + * An array of all the 'Orientation' enumerators. + * + * + * @generated + */ + private static final Orientation[] VALUES_ARRAY = + new Orientation[] { + VERTICAL, + HORIZONTAL, + }; + + /** + * A public read-only list of all the 'Orientation' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Orientation' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static Orientation get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + Orientation result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Orientation' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static Orientation getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + Orientation result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Orientation' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static Orientation get(int value) { + switch (value) { + case VERTICAL_VALUE: return VERTICAL; + case HORIZONTAL_VALUE: return HORIZONTAL; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private Orientation(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //Orientation diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Relation.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Relation.java new file mode 100644 index 00000000..eaaa296f --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Relation.java @@ -0,0 +1,46 @@ +/** + */ +package simpleScenario; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Relation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link simpleScenario.Relation#getTarget Target}
  • + *
+ * + * @see simpleScenario.SimpleScenarioPackage#getRelation() + * @model abstract="true" + * @generated + */ +public interface Relation extends EObject { + /** + * Returns the value of the 'Target' reference. + * + * + * @return the value of the 'Target' reference. + * @see #setTarget(Actor) + * @see simpleScenario.SimpleScenarioPackage#getRelation_Target() + * @model required="true" + * @generated + */ + Actor getTarget(); + + /** + * Sets the value of the '{@link simpleScenario.Relation#getTarget Target}' reference. + * + * + * @param value the new value of the 'Target' reference. + * @see #getTarget() + * @generated + */ + void setTarget(Actor value); + +} // Relation diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SeperationDistance.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SeperationDistance.java new file mode 100644 index 00000000..276be42a --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SeperationDistance.java @@ -0,0 +1,48 @@ +/** + */ +package simpleScenario; + + +/** + * + * A representation of the model object 'Seperation Distance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link simpleScenario.SeperationDistance#getDistance Distance}
  • + *
+ * + * @see simpleScenario.SimpleScenarioPackage#getSeperationDistance() + * @model + * @generated + */ +public interface SeperationDistance extends SpatialRelation { + /** + * Returns the value of the 'Distance' attribute. + * The literals are from the enumeration {@link simpleScenario.Size}. + * + * + * @return the value of the 'Distance' attribute. + * @see simpleScenario.Size + * @see #setDistance(Size) + * @see simpleScenario.SimpleScenarioPackage#getSeperationDistance_Distance() + * @model required="true" + * @generated + */ + Size getDistance(); + + /** + * Sets the value of the '{@link simpleScenario.SeperationDistance#getDistance Distance}' attribute. + * + * + * @param value the new value of the 'Distance' attribute. + * @see simpleScenario.Size + * @see #getDistance() + * @generated + */ + void setDistance(Size value); + +} // SeperationDistance diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenario.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenario.java new file mode 100644 index 00000000..bc92c51c --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenario.java @@ -0,0 +1,97 @@ +/** + */ +package simpleScenario; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Simple Scenario'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link simpleScenario.SimpleScenario#getXSize XSize}
  • + *
  • {@link simpleScenario.SimpleScenario#getYSize YSize}
  • + *
  • {@link simpleScenario.SimpleScenario#getActors Actors}
  • + *
  • {@link simpleScenario.SimpleScenario#getLanes Lanes}
  • + *
+ * + * @see simpleScenario.SimpleScenarioPackage#getSimpleScenario() + * @model + * @generated + */ +public interface SimpleScenario extends EObject { + /** + * Returns the value of the 'XSize' attribute. + * + * + * @return the value of the 'XSize' attribute. + * @see #setXSize(double) + * @see simpleScenario.SimpleScenarioPackage#getSimpleScenario_XSize() + * @model + * @generated + */ + double getXSize(); + + /** + * Sets the value of the '{@link simpleScenario.SimpleScenario#getXSize XSize}' attribute. + * + * + * @param value the new value of the 'XSize' attribute. + * @see #getXSize() + * @generated + */ + void setXSize(double value); + + /** + * Returns the value of the 'YSize' attribute. + * + * + * @return the value of the 'YSize' attribute. + * @see #setYSize(double) + * @see simpleScenario.SimpleScenarioPackage#getSimpleScenario_YSize() + * @model + * @generated + */ + double getYSize(); + + /** + * Sets the value of the '{@link simpleScenario.SimpleScenario#getYSize YSize}' attribute. + * + * + * @param value the new value of the 'YSize' attribute. + * @see #getYSize() + * @generated + */ + void setYSize(double value); + + /** + * Returns the value of the 'Actors' containment reference list. + * The list contents are of type {@link simpleScenario.Actor}. + * + * + * @return the value of the 'Actors' containment reference list. + * @see simpleScenario.SimpleScenarioPackage#getSimpleScenario_Actors() + * @model containment="true" + * @generated + */ + EList getActors(); + + /** + * Returns the value of the 'Lanes' containment reference list. + * The list contents are of type {@link simpleScenario.Lane}. + * + * + * @return the value of the 'Lanes' containment reference list. + * @see simpleScenario.SimpleScenarioPackage#getSimpleScenario_Lanes() + * @model containment="true" + * @generated + */ + EList getLanes(); + +} // SimpleScenario diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenarioFactory.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenarioFactory.java new file mode 100644 index 00000000..043d33b2 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenarioFactory.java @@ -0,0 +1,96 @@ +/** + */ +package simpleScenario; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see simpleScenario.SimpleScenarioPackage + * @generated + */ +public interface SimpleScenarioFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + SimpleScenarioFactory eINSTANCE = simpleScenario.impl.SimpleScenarioFactoryImpl.init(); + + /** + * Returns a new object of class 'Simple Scenario'. + * + * + * @return a new object of class 'Simple Scenario'. + * @generated + */ + SimpleScenario createSimpleScenario(); + + /** + * Returns a new object of class 'Lane'. + * + * + * @return a new object of class 'Lane'. + * @generated + */ + Lane createLane(); + + /** + * Returns a new object of class 'Actor'. + * + * + * @return a new object of class 'Actor'. + * @generated + */ + Actor createActor(); + + /** + * Returns a new object of class 'Vision Blocked'. + * + * + * @return a new object of class 'Vision Blocked'. + * @generated + */ + VisionBlocked createVisionBlocked(); + + /** + * Returns a new object of class 'Seperation Distance'. + * + * + * @return a new object of class 'Seperation Distance'. + * @generated + */ + SeperationDistance createSeperationDistance(); + + /** + * Returns a new object of class 'Collision Exists'. + * + * + * @return a new object of class 'Collision Exists'. + * @generated + */ + CollisionExists createCollisionExists(); + + /** + * Returns a new object of class 'Collision Does Not Exist'. + * + * + * @return a new object of class 'Collision Does Not Exist'. + * @generated + */ + CollisionDoesNotExist createCollisionDoesNotExist(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + SimpleScenarioPackage getSimpleScenarioPackage(); + +} //SimpleScenarioFactory diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenarioPackage.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenarioPackage.java new file mode 100644 index 00000000..16b3e021 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SimpleScenarioPackage.java @@ -0,0 +1,1326 @@ +/** + */ +package simpleScenario; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see simpleScenario.SimpleScenarioFactory + * @model kind="package" + * @generated + */ +public interface SimpleScenarioPackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "simpleScenario"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://www.example.com/simpleScenario"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "simpleScenario"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + SimpleScenarioPackage eINSTANCE = simpleScenario.impl.SimpleScenarioPackageImpl.init(); + + /** + * The meta object id for the '{@link simpleScenario.impl.SimpleScenarioImpl Simple Scenario}' class. + * + * + * @see simpleScenario.impl.SimpleScenarioImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getSimpleScenario() + * @generated + */ + int SIMPLE_SCENARIO = 0; + + /** + * The feature id for the 'XSize' attribute. + * + * + * @generated + * @ordered + */ + int SIMPLE_SCENARIO__XSIZE = 0; + + /** + * The feature id for the 'YSize' attribute. + * + * + * @generated + * @ordered + */ + int SIMPLE_SCENARIO__YSIZE = 1; + + /** + * The feature id for the 'Actors' containment reference list. + * + * + * @generated + * @ordered + */ + int SIMPLE_SCENARIO__ACTORS = 2; + + /** + * The feature id for the 'Lanes' containment reference list. + * + * + * @generated + * @ordered + */ + int SIMPLE_SCENARIO__LANES = 3; + + /** + * The number of structural features of the 'Simple Scenario' class. + * + * + * @generated + * @ordered + */ + int SIMPLE_SCENARIO_FEATURE_COUNT = 4; + + /** + * The number of operations of the 'Simple Scenario' class. + * + * + * @generated + * @ordered + */ + int SIMPLE_SCENARIO_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.LaneImpl Lane}' class. + * + * + * @see simpleScenario.impl.LaneImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getLane() + * @generated + */ + int LANE = 1; + + /** + * The feature id for the 'Orientation' attribute. + * + * + * @generated + * @ordered + */ + int LANE__ORIENTATION = 0; + + /** + * The feature id for the 'Width' attribute. + * + * + * @generated + * @ordered + */ + int LANE__WIDTH = 1; + + /** + * The feature id for the 'Reference Coord' attribute. + * + * + * @generated + * @ordered + */ + int LANE__REFERENCE_COORD = 2; + + /** + * The feature id for the 'Adjacent' reference list. + * + * + * @generated + * @ordered + */ + int LANE__ADJACENT = 3; + + /** + * The feature id for the 'Actors' reference list. + * + * + * @generated + * @ordered + */ + int LANE__ACTORS = 4; + + /** + * The feature id for the 'Width Num' attribute. + * + * + * @generated + * @ordered + */ + int LANE__WIDTH_NUM = 5; + + /** + * The number of structural features of the 'Lane' class. + * + * + * @generated + * @ordered + */ + int LANE_FEATURE_COUNT = 6; + + /** + * The number of operations of the 'Lane' class. + * + * + * @generated + * @ordered + */ + int LANE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.ActorImpl Actor}' class. + * + * + * @see simpleScenario.impl.ActorImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getActor() + * @generated + */ + int ACTOR = 2; + + /** + * The feature id for the 'Type' attribute. + * + * + * @generated + * @ordered + */ + int ACTOR__TYPE = 0; + + /** + * The feature id for the 'XPos' attribute. + * + * + * @generated + * @ordered + */ + int ACTOR__XPOS = 1; + + /** + * The feature id for the 'YPos' attribute. + * + * + * @generated + * @ordered + */ + int ACTOR__YPOS = 2; + + /** + * The feature id for the 'Length' attribute. + * + * + * @generated + * @ordered + */ + int ACTOR__LENGTH = 3; + + /** + * The feature id for the 'Width' attribute. + * + * + * @generated + * @ordered + */ + int ACTOR__WIDTH = 4; + + /** + * The feature id for the 'Speed' attribute. + * + * + * @generated + * @ordered + */ + int ACTOR__SPEED = 5; + + /** + * The feature id for the 'Relations' containment reference list. + * + * + * @generated + * @ordered + */ + int ACTOR__RELATIONS = 6; + + /** + * The feature id for the 'Placed On' reference. + * + * + * @generated + * @ordered + */ + int ACTOR__PLACED_ON = 7; + + /** + * The number of structural features of the 'Actor' class. + * + * + * @generated + * @ordered + */ + int ACTOR_FEATURE_COUNT = 8; + + /** + * The number of operations of the 'Actor' class. + * + * + * @generated + * @ordered + */ + int ACTOR_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.RelationImpl Relation}' class. + * + * + * @see simpleScenario.impl.RelationImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getRelation() + * @generated + */ + int RELATION = 3; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int RELATION__TARGET = 0; + + /** + * The number of structural features of the 'Relation' class. + * + * + * @generated + * @ordered + */ + int RELATION_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Relation' class. + * + * + * @generated + * @ordered + */ + int RELATION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.SpatialRelationImpl Spatial Relation}' class. + * + * + * @see simpleScenario.impl.SpatialRelationImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getSpatialRelation() + * @generated + */ + int SPATIAL_RELATION = 4; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int SPATIAL_RELATION__TARGET = RELATION__TARGET; + + /** + * The number of structural features of the 'Spatial Relation' class. + * + * + * @generated + * @ordered + */ + int SPATIAL_RELATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Spatial Relation' class. + * + * + * @generated + * @ordered + */ + int SPATIAL_RELATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.TemporalRelationImpl Temporal Relation}' class. + * + * + * @see simpleScenario.impl.TemporalRelationImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getTemporalRelation() + * @generated + */ + int TEMPORAL_RELATION = 5; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int TEMPORAL_RELATION__TARGET = RELATION__TARGET; + + /** + * The number of structural features of the 'Temporal Relation' class. + * + * + * @generated + * @ordered + */ + int TEMPORAL_RELATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Temporal Relation' class. + * + * + * @generated + * @ordered + */ + int TEMPORAL_RELATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.VisionBlockedImpl Vision Blocked}' class. + * + * + * @see simpleScenario.impl.VisionBlockedImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getVisionBlocked() + * @generated + */ + int VISION_BLOCKED = 6; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int VISION_BLOCKED__TARGET = SPATIAL_RELATION__TARGET; + + /** + * The feature id for the 'Blocked By' reference. + * + * + * @generated + * @ordered + */ + int VISION_BLOCKED__BLOCKED_BY = SPATIAL_RELATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Vision Blocked' class. + * + * + * @generated + * @ordered + */ + int VISION_BLOCKED_FEATURE_COUNT = SPATIAL_RELATION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Vision Blocked' class. + * + * + * @generated + * @ordered + */ + int VISION_BLOCKED_OPERATION_COUNT = SPATIAL_RELATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.SeperationDistanceImpl Seperation Distance}' class. + * + * + * @see simpleScenario.impl.SeperationDistanceImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getSeperationDistance() + * @generated + */ + int SEPERATION_DISTANCE = 7; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int SEPERATION_DISTANCE__TARGET = SPATIAL_RELATION__TARGET; + + /** + * The feature id for the 'Distance' attribute. + * + * + * @generated + * @ordered + */ + int SEPERATION_DISTANCE__DISTANCE = SPATIAL_RELATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Seperation Distance' class. + * + * + * @generated + * @ordered + */ + int SEPERATION_DISTANCE_FEATURE_COUNT = SPATIAL_RELATION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Seperation Distance' class. + * + * + * @generated + * @ordered + */ + int SEPERATION_DISTANCE_OPERATION_COUNT = SPATIAL_RELATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.CollisionExistsImpl Collision Exists}' class. + * + * + * @see simpleScenario.impl.CollisionExistsImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getCollisionExists() + * @generated + */ + int COLLISION_EXISTS = 8; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int COLLISION_EXISTS__TARGET = TEMPORAL_RELATION__TARGET; + + /** + * The feature id for the 'Collision Time' attribute. + * + * + * @generated + * @ordered + */ + int COLLISION_EXISTS__COLLISION_TIME = TEMPORAL_RELATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Collision Exists' class. + * + * + * @generated + * @ordered + */ + int COLLISION_EXISTS_FEATURE_COUNT = TEMPORAL_RELATION_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Collision Exists' class. + * + * + * @generated + * @ordered + */ + int COLLISION_EXISTS_OPERATION_COUNT = TEMPORAL_RELATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link simpleScenario.impl.CollisionDoesNotExistImpl Collision Does Not Exist}' class. + * + * + * @see simpleScenario.impl.CollisionDoesNotExistImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getCollisionDoesNotExist() + * @generated + */ + int COLLISION_DOES_NOT_EXIST = 9; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int COLLISION_DOES_NOT_EXIST__TARGET = TEMPORAL_RELATION__TARGET; + + /** + * The number of structural features of the 'Collision Does Not Exist' class. + * + * + * @generated + * @ordered + */ + int COLLISION_DOES_NOT_EXIST_FEATURE_COUNT = TEMPORAL_RELATION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Collision Does Not Exist' class. + * + * + * @generated + * @ordered + */ + int COLLISION_DOES_NOT_EXIST_OPERATION_COUNT = TEMPORAL_RELATION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link simpleScenario.Orientation Orientation}' enum. + * + * + * @see simpleScenario.Orientation + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getOrientation() + * @generated + */ + int ORIENTATION = 10; + + /** + * The meta object id for the '{@link simpleScenario.Size Size}' enum. + * + * + * @see simpleScenario.Size + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getSize() + * @generated + */ + int SIZE = 11; + + /** + * The meta object id for the '{@link simpleScenario.ActorType Actor Type}' enum. + * + * + * @see simpleScenario.ActorType + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getActorType() + * @generated + */ + int ACTOR_TYPE = 12; + + + /** + * Returns the meta object for class '{@link simpleScenario.SimpleScenario Simple Scenario}'. + * + * + * @return the meta object for class 'Simple Scenario'. + * @see simpleScenario.SimpleScenario + * @generated + */ + EClass getSimpleScenario(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.SimpleScenario#getXSize XSize}'. + * + * + * @return the meta object for the attribute 'XSize'. + * @see simpleScenario.SimpleScenario#getXSize() + * @see #getSimpleScenario() + * @generated + */ + EAttribute getSimpleScenario_XSize(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.SimpleScenario#getYSize YSize}'. + * + * + * @return the meta object for the attribute 'YSize'. + * @see simpleScenario.SimpleScenario#getYSize() + * @see #getSimpleScenario() + * @generated + */ + EAttribute getSimpleScenario_YSize(); + + /** + * Returns the meta object for the containment reference list '{@link simpleScenario.SimpleScenario#getActors Actors}'. + * + * + * @return the meta object for the containment reference list 'Actors'. + * @see simpleScenario.SimpleScenario#getActors() + * @see #getSimpleScenario() + * @generated + */ + EReference getSimpleScenario_Actors(); + + /** + * Returns the meta object for the containment reference list '{@link simpleScenario.SimpleScenario#getLanes Lanes}'. + * + * + * @return the meta object for the containment reference list 'Lanes'. + * @see simpleScenario.SimpleScenario#getLanes() + * @see #getSimpleScenario() + * @generated + */ + EReference getSimpleScenario_Lanes(); + + /** + * Returns the meta object for class '{@link simpleScenario.Lane Lane}'. + * + * + * @return the meta object for class 'Lane'. + * @see simpleScenario.Lane + * @generated + */ + EClass getLane(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Lane#getOrientation Orientation}'. + * + * + * @return the meta object for the attribute 'Orientation'. + * @see simpleScenario.Lane#getOrientation() + * @see #getLane() + * @generated + */ + EAttribute getLane_Orientation(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Lane#getWidth Width}'. + * + * + * @return the meta object for the attribute 'Width'. + * @see simpleScenario.Lane#getWidth() + * @see #getLane() + * @generated + */ + EAttribute getLane_Width(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Lane#getReferenceCoord Reference Coord}'. + * + * + * @return the meta object for the attribute 'Reference Coord'. + * @see simpleScenario.Lane#getReferenceCoord() + * @see #getLane() + * @generated + */ + EAttribute getLane_ReferenceCoord(); + + /** + * Returns the meta object for the reference list '{@link simpleScenario.Lane#getAdjacent Adjacent}'. + * + * + * @return the meta object for the reference list 'Adjacent'. + * @see simpleScenario.Lane#getAdjacent() + * @see #getLane() + * @generated + */ + EReference getLane_Adjacent(); + + /** + * Returns the meta object for the reference list '{@link simpleScenario.Lane#getActors Actors}'. + * + * + * @return the meta object for the reference list 'Actors'. + * @see simpleScenario.Lane#getActors() + * @see #getLane() + * @generated + */ + EReference getLane_Actors(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Lane#getWidthNum Width Num}'. + * + * + * @return the meta object for the attribute 'Width Num'. + * @see simpleScenario.Lane#getWidthNum() + * @see #getLane() + * @generated + */ + EAttribute getLane_WidthNum(); + + /** + * Returns the meta object for class '{@link simpleScenario.Actor Actor}'. + * + * + * @return the meta object for class 'Actor'. + * @see simpleScenario.Actor + * @generated + */ + EClass getActor(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Actor#getType Type}'. + * + * + * @return the meta object for the attribute 'Type'. + * @see simpleScenario.Actor#getType() + * @see #getActor() + * @generated + */ + EAttribute getActor_Type(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Actor#getXPos XPos}'. + * + * + * @return the meta object for the attribute 'XPos'. + * @see simpleScenario.Actor#getXPos() + * @see #getActor() + * @generated + */ + EAttribute getActor_XPos(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Actor#getYPos YPos}'. + * + * + * @return the meta object for the attribute 'YPos'. + * @see simpleScenario.Actor#getYPos() + * @see #getActor() + * @generated + */ + EAttribute getActor_YPos(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Actor#getLength Length}'. + * + * + * @return the meta object for the attribute 'Length'. + * @see simpleScenario.Actor#getLength() + * @see #getActor() + * @generated + */ + EAttribute getActor_Length(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Actor#getWidth Width}'. + * + * + * @return the meta object for the attribute 'Width'. + * @see simpleScenario.Actor#getWidth() + * @see #getActor() + * @generated + */ + EAttribute getActor_Width(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.Actor#getSpeed Speed}'. + * + * + * @return the meta object for the attribute 'Speed'. + * @see simpleScenario.Actor#getSpeed() + * @see #getActor() + * @generated + */ + EAttribute getActor_Speed(); + + /** + * Returns the meta object for the containment reference list '{@link simpleScenario.Actor#getRelations Relations}'. + * + * + * @return the meta object for the containment reference list 'Relations'. + * @see simpleScenario.Actor#getRelations() + * @see #getActor() + * @generated + */ + EReference getActor_Relations(); + + /** + * Returns the meta object for the reference '{@link simpleScenario.Actor#getPlacedOn Placed On}'. + * + * + * @return the meta object for the reference 'Placed On'. + * @see simpleScenario.Actor#getPlacedOn() + * @see #getActor() + * @generated + */ + EReference getActor_PlacedOn(); + + /** + * Returns the meta object for class '{@link simpleScenario.Relation Relation}'. + * + * + * @return the meta object for class 'Relation'. + * @see simpleScenario.Relation + * @generated + */ + EClass getRelation(); + + /** + * Returns the meta object for the reference '{@link simpleScenario.Relation#getTarget Target}'. + * + * + * @return the meta object for the reference 'Target'. + * @see simpleScenario.Relation#getTarget() + * @see #getRelation() + * @generated + */ + EReference getRelation_Target(); + + /** + * Returns the meta object for class '{@link simpleScenario.SpatialRelation Spatial Relation}'. + * + * + * @return the meta object for class 'Spatial Relation'. + * @see simpleScenario.SpatialRelation + * @generated + */ + EClass getSpatialRelation(); + + /** + * Returns the meta object for class '{@link simpleScenario.TemporalRelation Temporal Relation}'. + * + * + * @return the meta object for class 'Temporal Relation'. + * @see simpleScenario.TemporalRelation + * @generated + */ + EClass getTemporalRelation(); + + /** + * Returns the meta object for class '{@link simpleScenario.VisionBlocked Vision Blocked}'. + * + * + * @return the meta object for class 'Vision Blocked'. + * @see simpleScenario.VisionBlocked + * @generated + */ + EClass getVisionBlocked(); + + /** + * Returns the meta object for the reference '{@link simpleScenario.VisionBlocked#getBlockedBy Blocked By}'. + * + * + * @return the meta object for the reference 'Blocked By'. + * @see simpleScenario.VisionBlocked#getBlockedBy() + * @see #getVisionBlocked() + * @generated + */ + EReference getVisionBlocked_BlockedBy(); + + /** + * Returns the meta object for class '{@link simpleScenario.SeperationDistance Seperation Distance}'. + * + * + * @return the meta object for class 'Seperation Distance'. + * @see simpleScenario.SeperationDistance + * @generated + */ + EClass getSeperationDistance(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.SeperationDistance#getDistance Distance}'. + * + * + * @return the meta object for the attribute 'Distance'. + * @see simpleScenario.SeperationDistance#getDistance() + * @see #getSeperationDistance() + * @generated + */ + EAttribute getSeperationDistance_Distance(); + + /** + * Returns the meta object for class '{@link simpleScenario.CollisionExists Collision Exists}'. + * + * + * @return the meta object for class 'Collision Exists'. + * @see simpleScenario.CollisionExists + * @generated + */ + EClass getCollisionExists(); + + /** + * Returns the meta object for the attribute '{@link simpleScenario.CollisionExists#getCollisionTime Collision Time}'. + * + * + * @return the meta object for the attribute 'Collision Time'. + * @see simpleScenario.CollisionExists#getCollisionTime() + * @see #getCollisionExists() + * @generated + */ + EAttribute getCollisionExists_CollisionTime(); + + /** + * Returns the meta object for class '{@link simpleScenario.CollisionDoesNotExist Collision Does Not Exist}'. + * + * + * @return the meta object for class 'Collision Does Not Exist'. + * @see simpleScenario.CollisionDoesNotExist + * @generated + */ + EClass getCollisionDoesNotExist(); + + /** + * Returns the meta object for enum '{@link simpleScenario.Orientation Orientation}'. + * + * + * @return the meta object for enum 'Orientation'. + * @see simpleScenario.Orientation + * @generated + */ + EEnum getOrientation(); + + /** + * Returns the meta object for enum '{@link simpleScenario.Size Size}'. + * + * + * @return the meta object for enum 'Size'. + * @see simpleScenario.Size + * @generated + */ + EEnum getSize(); + + /** + * Returns the meta object for enum '{@link simpleScenario.ActorType Actor Type}'. + * + * + * @return the meta object for enum 'Actor Type'. + * @see simpleScenario.ActorType + * @generated + */ + EEnum getActorType(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + SimpleScenarioFactory getSimpleScenarioFactory(); + + /** + * + * Defines literals for the meta objects that represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link simpleScenario.impl.SimpleScenarioImpl Simple Scenario}' class. + * + * + * @see simpleScenario.impl.SimpleScenarioImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getSimpleScenario() + * @generated + */ + EClass SIMPLE_SCENARIO = eINSTANCE.getSimpleScenario(); + + /** + * The meta object literal for the 'XSize' attribute feature. + * + * + * @generated + */ + EAttribute SIMPLE_SCENARIO__XSIZE = eINSTANCE.getSimpleScenario_XSize(); + + /** + * The meta object literal for the 'YSize' attribute feature. + * + * + * @generated + */ + EAttribute SIMPLE_SCENARIO__YSIZE = eINSTANCE.getSimpleScenario_YSize(); + + /** + * The meta object literal for the 'Actors' containment reference list feature. + * + * + * @generated + */ + EReference SIMPLE_SCENARIO__ACTORS = eINSTANCE.getSimpleScenario_Actors(); + + /** + * The meta object literal for the 'Lanes' containment reference list feature. + * + * + * @generated + */ + EReference SIMPLE_SCENARIO__LANES = eINSTANCE.getSimpleScenario_Lanes(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.LaneImpl Lane}' class. + * + * + * @see simpleScenario.impl.LaneImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getLane() + * @generated + */ + EClass LANE = eINSTANCE.getLane(); + + /** + * The meta object literal for the 'Orientation' attribute feature. + * + * + * @generated + */ + EAttribute LANE__ORIENTATION = eINSTANCE.getLane_Orientation(); + + /** + * The meta object literal for the 'Width' attribute feature. + * + * + * @generated + */ + EAttribute LANE__WIDTH = eINSTANCE.getLane_Width(); + + /** + * The meta object literal for the 'Reference Coord' attribute feature. + * + * + * @generated + */ + EAttribute LANE__REFERENCE_COORD = eINSTANCE.getLane_ReferenceCoord(); + + /** + * The meta object literal for the 'Adjacent' reference list feature. + * + * + * @generated + */ + EReference LANE__ADJACENT = eINSTANCE.getLane_Adjacent(); + + /** + * The meta object literal for the 'Actors' reference list feature. + * + * + * @generated + */ + EReference LANE__ACTORS = eINSTANCE.getLane_Actors(); + + /** + * The meta object literal for the 'Width Num' attribute feature. + * + * + * @generated + */ + EAttribute LANE__WIDTH_NUM = eINSTANCE.getLane_WidthNum(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.ActorImpl Actor}' class. + * + * + * @see simpleScenario.impl.ActorImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getActor() + * @generated + */ + EClass ACTOR = eINSTANCE.getActor(); + + /** + * The meta object literal for the 'Type' attribute feature. + * + * + * @generated + */ + EAttribute ACTOR__TYPE = eINSTANCE.getActor_Type(); + + /** + * The meta object literal for the 'XPos' attribute feature. + * + * + * @generated + */ + EAttribute ACTOR__XPOS = eINSTANCE.getActor_XPos(); + + /** + * The meta object literal for the 'YPos' attribute feature. + * + * + * @generated + */ + EAttribute ACTOR__YPOS = eINSTANCE.getActor_YPos(); + + /** + * The meta object literal for the 'Length' attribute feature. + * + * + * @generated + */ + EAttribute ACTOR__LENGTH = eINSTANCE.getActor_Length(); + + /** + * The meta object literal for the 'Width' attribute feature. + * + * + * @generated + */ + EAttribute ACTOR__WIDTH = eINSTANCE.getActor_Width(); + + /** + * The meta object literal for the 'Speed' attribute feature. + * + * + * @generated + */ + EAttribute ACTOR__SPEED = eINSTANCE.getActor_Speed(); + + /** + * The meta object literal for the 'Relations' containment reference list feature. + * + * + * @generated + */ + EReference ACTOR__RELATIONS = eINSTANCE.getActor_Relations(); + + /** + * The meta object literal for the 'Placed On' reference feature. + * + * + * @generated + */ + EReference ACTOR__PLACED_ON = eINSTANCE.getActor_PlacedOn(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.RelationImpl Relation}' class. + * + * + * @see simpleScenario.impl.RelationImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getRelation() + * @generated + */ + EClass RELATION = eINSTANCE.getRelation(); + + /** + * The meta object literal for the 'Target' reference feature. + * + * + * @generated + */ + EReference RELATION__TARGET = eINSTANCE.getRelation_Target(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.SpatialRelationImpl Spatial Relation}' class. + * + * + * @see simpleScenario.impl.SpatialRelationImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getSpatialRelation() + * @generated + */ + EClass SPATIAL_RELATION = eINSTANCE.getSpatialRelation(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.TemporalRelationImpl Temporal Relation}' class. + * + * + * @see simpleScenario.impl.TemporalRelationImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getTemporalRelation() + * @generated + */ + EClass TEMPORAL_RELATION = eINSTANCE.getTemporalRelation(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.VisionBlockedImpl Vision Blocked}' class. + * + * + * @see simpleScenario.impl.VisionBlockedImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getVisionBlocked() + * @generated + */ + EClass VISION_BLOCKED = eINSTANCE.getVisionBlocked(); + + /** + * The meta object literal for the 'Blocked By' reference feature. + * + * + * @generated + */ + EReference VISION_BLOCKED__BLOCKED_BY = eINSTANCE.getVisionBlocked_BlockedBy(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.SeperationDistanceImpl Seperation Distance}' class. + * + * + * @see simpleScenario.impl.SeperationDistanceImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getSeperationDistance() + * @generated + */ + EClass SEPERATION_DISTANCE = eINSTANCE.getSeperationDistance(); + + /** + * The meta object literal for the 'Distance' attribute feature. + * + * + * @generated + */ + EAttribute SEPERATION_DISTANCE__DISTANCE = eINSTANCE.getSeperationDistance_Distance(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.CollisionExistsImpl Collision Exists}' class. + * + * + * @see simpleScenario.impl.CollisionExistsImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getCollisionExists() + * @generated + */ + EClass COLLISION_EXISTS = eINSTANCE.getCollisionExists(); + + /** + * The meta object literal for the 'Collision Time' attribute feature. + * + * + * @generated + */ + EAttribute COLLISION_EXISTS__COLLISION_TIME = eINSTANCE.getCollisionExists_CollisionTime(); + + /** + * The meta object literal for the '{@link simpleScenario.impl.CollisionDoesNotExistImpl Collision Does Not Exist}' class. + * + * + * @see simpleScenario.impl.CollisionDoesNotExistImpl + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getCollisionDoesNotExist() + * @generated + */ + EClass COLLISION_DOES_NOT_EXIST = eINSTANCE.getCollisionDoesNotExist(); + + /** + * The meta object literal for the '{@link simpleScenario.Orientation Orientation}' enum. + * + * + * @see simpleScenario.Orientation + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getOrientation() + * @generated + */ + EEnum ORIENTATION = eINSTANCE.getOrientation(); + + /** + * The meta object literal for the '{@link simpleScenario.Size Size}' enum. + * + * + * @see simpleScenario.Size + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getSize() + * @generated + */ + EEnum SIZE = eINSTANCE.getSize(); + + /** + * The meta object literal for the '{@link simpleScenario.ActorType Actor Type}' enum. + * + * + * @see simpleScenario.ActorType + * @see simpleScenario.impl.SimpleScenarioPackageImpl#getActorType() + * @generated + */ + EEnum ACTOR_TYPE = eINSTANCE.getActorType(); + + } + +} //SimpleScenarioPackage diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Size.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Size.java new file mode 100644 index 00000000..2f4f5d81 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/Size.java @@ -0,0 +1,232 @@ +/** + */ +package simpleScenario; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Size', + * and utility methods for working with them. + * + * @see simpleScenario.SimpleScenarioPackage#getSize() + * @model + * @generated + */ +public enum Size implements Enumerator { + /** + * The 'Small' literal object. + * + * + * @see #SMALL_VALUE + * @generated + * @ordered + */ + SMALL(0, "Small", "Small"), + + /** + * The 'Medium' literal object. + * + * + * @see #MEDIUM_VALUE + * @generated + * @ordered + */ + MEDIUM(1, "Medium", "Medium"), + + /** + * The 'Large' literal object. + * + * + * @see #LARGE_VALUE + * @generated + * @ordered + */ + LARGE(2, "Large", "Large"); + + /** + * The 'Small' literal value. + * + * + * @see #SMALL + * @model name="Small" + * @generated + * @ordered + */ + public static final int SMALL_VALUE = 0; + + /** + * The 'Medium' literal value. + * + * + * @see #MEDIUM + * @model name="Medium" + * @generated + * @ordered + */ + public static final int MEDIUM_VALUE = 1; + + /** + * The 'Large' literal value. + * + * + * @see #LARGE + * @model name="Large" + * @generated + * @ordered + */ + public static final int LARGE_VALUE = 2; + + /** + * An array of all the 'Size' enumerators. + * + * + * @generated + */ + private static final Size[] VALUES_ARRAY = + new Size[] { + SMALL, + MEDIUM, + LARGE, + }; + + /** + * A public read-only list of all the 'Size' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Size' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static Size get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + Size result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Size' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static Size getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + Size result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Size' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static Size get(int value) { + switch (value) { + case SMALL_VALUE: return SMALL; + case MEDIUM_VALUE: return MEDIUM; + case LARGE_VALUE: return LARGE; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private Size(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //Size diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SpatialRelation.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SpatialRelation.java new file mode 100644 index 00000000..9b394f58 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/SpatialRelation.java @@ -0,0 +1,17 @@ +/** + */ +package simpleScenario; + + +/** + * + * A representation of the model object 'Spatial Relation'. + * + * + * + * @see simpleScenario.SimpleScenarioPackage#getSpatialRelation() + * @model abstract="true" + * @generated + */ +public interface SpatialRelation extends Relation { +} // SpatialRelation diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/TemporalRelation.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/TemporalRelation.java new file mode 100644 index 00000000..21b56b14 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/TemporalRelation.java @@ -0,0 +1,17 @@ +/** + */ +package simpleScenario; + + +/** + * + * A representation of the model object 'Temporal Relation'. + * + * + * + * @see simpleScenario.SimpleScenarioPackage#getTemporalRelation() + * @model abstract="true" + * @generated + */ +public interface TemporalRelation extends Relation { +} // TemporalRelation diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/VisionBlocked.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/VisionBlocked.java new file mode 100644 index 00000000..c461d323 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/VisionBlocked.java @@ -0,0 +1,45 @@ +/** + */ +package simpleScenario; + + +/** + * + * A representation of the model object 'Vision Blocked'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link simpleScenario.VisionBlocked#getBlockedBy Blocked By}
  • + *
+ * + * @see simpleScenario.SimpleScenarioPackage#getVisionBlocked() + * @model + * @generated + */ +public interface VisionBlocked extends SpatialRelation { + /** + * Returns the value of the 'Blocked By' reference. + * + * + * @return the value of the 'Blocked By' reference. + * @see #setBlockedBy(Actor) + * @see simpleScenario.SimpleScenarioPackage#getVisionBlocked_BlockedBy() + * @model + * @generated + */ + Actor getBlockedBy(); + + /** + * Sets the value of the '{@link simpleScenario.VisionBlocked#getBlockedBy Blocked By}' reference. + * + * + * @param value the new value of the 'Blocked By' reference. + * @see #getBlockedBy() + * @generated + */ + void setBlockedBy(Actor value); + +} // VisionBlocked diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/ActorImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/ActorImpl.java new file mode 100644 index 00000000..10375e9b --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/ActorImpl.java @@ -0,0 +1,609 @@ +/** + */ +package simpleScenario.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import simpleScenario.Actor; +import simpleScenario.ActorType; +import simpleScenario.Lane; +import simpleScenario.Relation; +import simpleScenario.SimpleScenarioPackage; + +/** + * + * An implementation of the model object 'Actor'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link simpleScenario.impl.ActorImpl#getType Type}
  • + *
  • {@link simpleScenario.impl.ActorImpl#getXPos XPos}
  • + *
  • {@link simpleScenario.impl.ActorImpl#getYPos YPos}
  • + *
  • {@link simpleScenario.impl.ActorImpl#getLength Length}
  • + *
  • {@link simpleScenario.impl.ActorImpl#getWidth Width}
  • + *
  • {@link simpleScenario.impl.ActorImpl#getSpeed Speed}
  • + *
  • {@link simpleScenario.impl.ActorImpl#getRelations Relations}
  • + *
  • {@link simpleScenario.impl.ActorImpl#getPlacedOn Placed On}
  • + *
+ * + * @generated + */ +public class ActorImpl extends MinimalEObjectImpl.Container implements Actor { + /** + * The default value of the '{@link #getType() Type}' attribute. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected static final ActorType TYPE_EDEFAULT = ActorType.PEDESTRIAN; + + /** + * The cached value of the '{@link #getType() Type}' attribute. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected ActorType type = TYPE_EDEFAULT; + + /** + * The default value of the '{@link #getXPos() XPos}' attribute. + * + * + * @see #getXPos() + * @generated + * @ordered + */ + protected static final double XPOS_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getXPos() XPos}' attribute. + * + * + * @see #getXPos() + * @generated + * @ordered + */ + protected double xPos = XPOS_EDEFAULT; + + /** + * The default value of the '{@link #getYPos() YPos}' attribute. + * + * + * @see #getYPos() + * @generated + * @ordered + */ + protected static final double YPOS_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getYPos() YPos}' attribute. + * + * + * @see #getYPos() + * @generated + * @ordered + */ + protected double yPos = YPOS_EDEFAULT; + + /** + * The default value of the '{@link #getLength() Length}' attribute. + * + * + * @see #getLength() + * @generated + * @ordered + */ + protected static final double LENGTH_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getLength() Length}' attribute. + * + * + * @see #getLength() + * @generated + * @ordered + */ + protected double length = LENGTH_EDEFAULT; + + /** + * The default value of the '{@link #getWidth() Width}' attribute. + * + * + * @see #getWidth() + * @generated + * @ordered + */ + protected static final double WIDTH_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getWidth() Width}' attribute. + * + * + * @see #getWidth() + * @generated + * @ordered + */ + protected double width = WIDTH_EDEFAULT; + + /** + * The default value of the '{@link #getSpeed() Speed}' attribute. + * + * + * @see #getSpeed() + * @generated + * @ordered + */ + protected static final double SPEED_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getSpeed() Speed}' attribute. + * + * + * @see #getSpeed() + * @generated + * @ordered + */ + protected double speed = SPEED_EDEFAULT; + + /** + * The cached value of the '{@link #getRelations() Relations}' containment reference list. + * + * + * @see #getRelations() + * @generated + * @ordered + */ + protected EList relations; + + /** + * The cached value of the '{@link #getPlacedOn() Placed On}' reference. + * + * + * @see #getPlacedOn() + * @generated + * @ordered + */ + protected Lane placedOn; + + /** + * + * + * @generated + */ + protected ActorImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.ACTOR; + } + + /** + * + * + * @generated + */ + @Override + public ActorType getType() { + return type; + } + + /** + * + * + * @generated + */ + @Override + public void setType(ActorType newType) { + ActorType oldType = type; + type = newType == null ? TYPE_EDEFAULT : newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public double getXPos() { + return xPos; + } + + /** + * + * + * @generated + */ + @Override + public void setXPos(double newXPos) { + double oldXPos = xPos; + xPos = newXPos; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__XPOS, oldXPos, xPos)); + } + + /** + * + * + * @generated + */ + @Override + public double getYPos() { + return yPos; + } + + /** + * + * + * @generated + */ + @Override + public void setYPos(double newYPos) { + double oldYPos = yPos; + yPos = newYPos; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__YPOS, oldYPos, yPos)); + } + + /** + * + * + * @generated + */ + @Override + public double getLength() { + return length; + } + + /** + * + * + * @generated + */ + @Override + public void setLength(double newLength) { + double oldLength = length; + length = newLength; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__LENGTH, oldLength, length)); + } + + /** + * + * + * @generated + */ + @Override + public double getWidth() { + return width; + } + + /** + * + * + * @generated + */ + @Override + public void setWidth(double newWidth) { + double oldWidth = width; + width = newWidth; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__WIDTH, oldWidth, width)); + } + + /** + * + * + * @generated + */ + @Override + public double getSpeed() { + return speed; + } + + /** + * + * + * @generated + */ + @Override + public void setSpeed(double newSpeed) { + double oldSpeed = speed; + speed = newSpeed; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__SPEED, oldSpeed, speed)); + } + + /** + * + * + * @generated + */ + @Override + public EList getRelations() { + if (relations == null) { + relations = new EObjectContainmentEList(Relation.class, this, SimpleScenarioPackage.ACTOR__RELATIONS); + } + return relations; + } + + /** + * + * + * @generated + */ + @Override + public Lane getPlacedOn() { + if (placedOn != null && placedOn.eIsProxy()) { + InternalEObject oldPlacedOn = (InternalEObject)placedOn; + placedOn = (Lane)eResolveProxy(oldPlacedOn); + if (placedOn != oldPlacedOn) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimpleScenarioPackage.ACTOR__PLACED_ON, oldPlacedOn, placedOn)); + } + } + return placedOn; + } + + /** + * + * + * @generated + */ + public Lane basicGetPlacedOn() { + return placedOn; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetPlacedOn(Lane newPlacedOn, NotificationChain msgs) { + Lane oldPlacedOn = placedOn; + placedOn = newPlacedOn; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__PLACED_ON, oldPlacedOn, newPlacedOn); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setPlacedOn(Lane newPlacedOn) { + if (newPlacedOn != placedOn) { + NotificationChain msgs = null; + if (placedOn != null) + msgs = ((InternalEObject)placedOn).eInverseRemove(this, SimpleScenarioPackage.LANE__ACTORS, Lane.class, msgs); + if (newPlacedOn != null) + msgs = ((InternalEObject)newPlacedOn).eInverseAdd(this, SimpleScenarioPackage.LANE__ACTORS, Lane.class, msgs); + msgs = basicSetPlacedOn(newPlacedOn, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.ACTOR__PLACED_ON, newPlacedOn, newPlacedOn)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SimpleScenarioPackage.ACTOR__PLACED_ON: + if (placedOn != null) + msgs = ((InternalEObject)placedOn).eInverseRemove(this, SimpleScenarioPackage.LANE__ACTORS, Lane.class, msgs); + return basicSetPlacedOn((Lane)otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SimpleScenarioPackage.ACTOR__RELATIONS: + return ((InternalEList)getRelations()).basicRemove(otherEnd, msgs); + case SimpleScenarioPackage.ACTOR__PLACED_ON: + return basicSetPlacedOn(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimpleScenarioPackage.ACTOR__TYPE: + return getType(); + case SimpleScenarioPackage.ACTOR__XPOS: + return getXPos(); + case SimpleScenarioPackage.ACTOR__YPOS: + return getYPos(); + case SimpleScenarioPackage.ACTOR__LENGTH: + return getLength(); + case SimpleScenarioPackage.ACTOR__WIDTH: + return getWidth(); + case SimpleScenarioPackage.ACTOR__SPEED: + return getSpeed(); + case SimpleScenarioPackage.ACTOR__RELATIONS: + return getRelations(); + case SimpleScenarioPackage.ACTOR__PLACED_ON: + if (resolve) return getPlacedOn(); + return basicGetPlacedOn(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimpleScenarioPackage.ACTOR__TYPE: + setType((ActorType)newValue); + return; + case SimpleScenarioPackage.ACTOR__XPOS: + setXPos((Double)newValue); + return; + case SimpleScenarioPackage.ACTOR__YPOS: + setYPos((Double)newValue); + return; + case SimpleScenarioPackage.ACTOR__LENGTH: + setLength((Double)newValue); + return; + case SimpleScenarioPackage.ACTOR__WIDTH: + setWidth((Double)newValue); + return; + case SimpleScenarioPackage.ACTOR__SPEED: + setSpeed((Double)newValue); + return; + case SimpleScenarioPackage.ACTOR__RELATIONS: + getRelations().clear(); + getRelations().addAll((Collection)newValue); + return; + case SimpleScenarioPackage.ACTOR__PLACED_ON: + setPlacedOn((Lane)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.ACTOR__TYPE: + setType(TYPE_EDEFAULT); + return; + case SimpleScenarioPackage.ACTOR__XPOS: + setXPos(XPOS_EDEFAULT); + return; + case SimpleScenarioPackage.ACTOR__YPOS: + setYPos(YPOS_EDEFAULT); + return; + case SimpleScenarioPackage.ACTOR__LENGTH: + setLength(LENGTH_EDEFAULT); + return; + case SimpleScenarioPackage.ACTOR__WIDTH: + setWidth(WIDTH_EDEFAULT); + return; + case SimpleScenarioPackage.ACTOR__SPEED: + setSpeed(SPEED_EDEFAULT); + return; + case SimpleScenarioPackage.ACTOR__RELATIONS: + getRelations().clear(); + return; + case SimpleScenarioPackage.ACTOR__PLACED_ON: + setPlacedOn((Lane)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.ACTOR__TYPE: + return type != TYPE_EDEFAULT; + case SimpleScenarioPackage.ACTOR__XPOS: + return xPos != XPOS_EDEFAULT; + case SimpleScenarioPackage.ACTOR__YPOS: + return yPos != YPOS_EDEFAULT; + case SimpleScenarioPackage.ACTOR__LENGTH: + return length != LENGTH_EDEFAULT; + case SimpleScenarioPackage.ACTOR__WIDTH: + return width != WIDTH_EDEFAULT; + case SimpleScenarioPackage.ACTOR__SPEED: + return speed != SPEED_EDEFAULT; + case SimpleScenarioPackage.ACTOR__RELATIONS: + return relations != null && !relations.isEmpty(); + case SimpleScenarioPackage.ACTOR__PLACED_ON: + return placedOn != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (type: "); + result.append(type); + result.append(", xPos: "); + result.append(xPos); + result.append(", yPos: "); + result.append(yPos); + result.append(", length: "); + result.append(length); + result.append(", width: "); + result.append(width); + result.append(", speed: "); + result.append(speed); + result.append(')'); + return result.toString(); + } + +} //ActorImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/CollisionDoesNotExistImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/CollisionDoesNotExistImpl.java new file mode 100644 index 00000000..48eab559 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/CollisionDoesNotExistImpl.java @@ -0,0 +1,37 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.ecore.EClass; + +import simpleScenario.CollisionDoesNotExist; +import simpleScenario.SimpleScenarioPackage; + +/** + * + * An implementation of the model object 'Collision Does Not Exist'. + * + * + * @generated + */ +public class CollisionDoesNotExistImpl extends TemporalRelationImpl implements CollisionDoesNotExist { + /** + * + * + * @generated + */ + protected CollisionDoesNotExistImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.COLLISION_DOES_NOT_EXIST; + } + +} //CollisionDoesNotExistImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/CollisionExistsImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/CollisionExistsImpl.java new file mode 100644 index 00000000..44a33785 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/CollisionExistsImpl.java @@ -0,0 +1,164 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import simpleScenario.CollisionExists; +import simpleScenario.SimpleScenarioPackage; + +/** + * + * An implementation of the model object 'Collision Exists'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link simpleScenario.impl.CollisionExistsImpl#getCollisionTime Collision Time}
  • + *
+ * + * @generated + */ +public class CollisionExistsImpl extends TemporalRelationImpl implements CollisionExists { + /** + * The default value of the '{@link #getCollisionTime() Collision Time}' attribute. + * + * + * @see #getCollisionTime() + * @generated + * @ordered + */ + protected static final double COLLISION_TIME_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getCollisionTime() Collision Time}' attribute. + * + * + * @see #getCollisionTime() + * @generated + * @ordered + */ + protected double collisionTime = COLLISION_TIME_EDEFAULT; + + /** + * + * + * @generated + */ + protected CollisionExistsImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.COLLISION_EXISTS; + } + + /** + * + * + * @generated + */ + @Override + public double getCollisionTime() { + return collisionTime; + } + + /** + * + * + * @generated + */ + @Override + public void setCollisionTime(double newCollisionTime) { + double oldCollisionTime = collisionTime; + collisionTime = newCollisionTime; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.COLLISION_EXISTS__COLLISION_TIME, oldCollisionTime, collisionTime)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimpleScenarioPackage.COLLISION_EXISTS__COLLISION_TIME: + return getCollisionTime(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimpleScenarioPackage.COLLISION_EXISTS__COLLISION_TIME: + setCollisionTime((Double)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.COLLISION_EXISTS__COLLISION_TIME: + setCollisionTime(COLLISION_TIME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.COLLISION_EXISTS__COLLISION_TIME: + return collisionTime != COLLISION_TIME_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (collisionTime: "); + result.append(collisionTime); + result.append(')'); + return result.toString(); + } + +} //CollisionExistsImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/LaneImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/LaneImpl.java new file mode 100644 index 00000000..f0b4b811 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/LaneImpl.java @@ -0,0 +1,446 @@ +/** + */ +package simpleScenario.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import simpleScenario.Actor; +import simpleScenario.Lane; +import simpleScenario.Orientation; +import simpleScenario.SimpleScenarioPackage; +import simpleScenario.Size; + +/** + * + * An implementation of the model object 'Lane'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link simpleScenario.impl.LaneImpl#getOrientation Orientation}
  • + *
  • {@link simpleScenario.impl.LaneImpl#getWidth Width}
  • + *
  • {@link simpleScenario.impl.LaneImpl#getReferenceCoord Reference Coord}
  • + *
  • {@link simpleScenario.impl.LaneImpl#getAdjacent Adjacent}
  • + *
  • {@link simpleScenario.impl.LaneImpl#getActors Actors}
  • + *
  • {@link simpleScenario.impl.LaneImpl#getWidthNum Width Num}
  • + *
+ * + * @generated + */ +public class LaneImpl extends MinimalEObjectImpl.Container implements Lane { + /** + * The default value of the '{@link #getOrientation() Orientation}' attribute. + * + * + * @see #getOrientation() + * @generated + * @ordered + */ + protected static final Orientation ORIENTATION_EDEFAULT = Orientation.VERTICAL; + + /** + * The cached value of the '{@link #getOrientation() Orientation}' attribute. + * + * + * @see #getOrientation() + * @generated + * @ordered + */ + protected Orientation orientation = ORIENTATION_EDEFAULT; + + /** + * The default value of the '{@link #getWidth() Width}' attribute. + * + * + * @see #getWidth() + * @generated + * @ordered + */ + protected static final Size WIDTH_EDEFAULT = Size.SMALL; + + /** + * The cached value of the '{@link #getWidth() Width}' attribute. + * + * + * @see #getWidth() + * @generated + * @ordered + */ + protected Size width = WIDTH_EDEFAULT; + + /** + * The default value of the '{@link #getReferenceCoord() Reference Coord}' attribute. + * + * + * @see #getReferenceCoord() + * @generated + * @ordered + */ + protected static final double REFERENCE_COORD_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getReferenceCoord() Reference Coord}' attribute. + * + * + * @see #getReferenceCoord() + * @generated + * @ordered + */ + protected double referenceCoord = REFERENCE_COORD_EDEFAULT; + + /** + * The cached value of the '{@link #getAdjacent() Adjacent}' reference list. + * + * + * @see #getAdjacent() + * @generated + * @ordered + */ + protected EList adjacent; + + /** + * The cached value of the '{@link #getActors() Actors}' reference list. + * + * + * @see #getActors() + * @generated + * @ordered + */ + protected EList actors; + + /** + * The default value of the '{@link #getWidthNum() Width Num}' attribute. + * + * + * @see #getWidthNum() + * @generated + * @ordered + */ + protected static final double WIDTH_NUM_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getWidthNum() Width Num}' attribute. + * + * + * @see #getWidthNum() + * @generated + * @ordered + */ + protected double widthNum = WIDTH_NUM_EDEFAULT; + + /** + * + * + * @generated + */ + protected LaneImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.LANE; + } + + /** + * + * + * @generated + */ + @Override + public Orientation getOrientation() { + return orientation; + } + + /** + * + * + * @generated + */ + @Override + public void setOrientation(Orientation newOrientation) { + Orientation oldOrientation = orientation; + orientation = newOrientation == null ? ORIENTATION_EDEFAULT : newOrientation; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.LANE__ORIENTATION, oldOrientation, orientation)); + } + + /** + * + * + * @generated + */ + @Override + public Size getWidth() { + return width; + } + + /** + * + * + * @generated + */ + @Override + public void setWidth(Size newWidth) { + Size oldWidth = width; + width = newWidth == null ? WIDTH_EDEFAULT : newWidth; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.LANE__WIDTH, oldWidth, width)); + } + + /** + * + * + * @generated + */ + @Override + public double getReferenceCoord() { + return referenceCoord; + } + + /** + * + * + * @generated + */ + @Override + public void setReferenceCoord(double newReferenceCoord) { + double oldReferenceCoord = referenceCoord; + referenceCoord = newReferenceCoord; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.LANE__REFERENCE_COORD, oldReferenceCoord, referenceCoord)); + } + + /** + * + * + * @generated + */ + @Override + public EList getAdjacent() { + if (adjacent == null) { + adjacent = new EObjectResolvingEList(Lane.class, this, SimpleScenarioPackage.LANE__ADJACENT); + } + return adjacent; + } + + /** + * + * + * @generated + */ + @Override + public EList getActors() { + if (actors == null) { + actors = new EObjectWithInverseResolvingEList(Actor.class, this, SimpleScenarioPackage.LANE__ACTORS, SimpleScenarioPackage.ACTOR__PLACED_ON); + } + return actors; + } + + /** + * + * + * @generated + */ + @Override + public double getWidthNum() { + return widthNum; + } + + /** + * + * + * @generated + */ + @Override + public void setWidthNum(double newWidthNum) { + double oldWidthNum = widthNum; + widthNum = newWidthNum; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.LANE__WIDTH_NUM, oldWidthNum, widthNum)); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SimpleScenarioPackage.LANE__ACTORS: + return ((InternalEList)(InternalEList)getActors()).basicAdd(otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SimpleScenarioPackage.LANE__ACTORS: + return ((InternalEList)getActors()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimpleScenarioPackage.LANE__ORIENTATION: + return getOrientation(); + case SimpleScenarioPackage.LANE__WIDTH: + return getWidth(); + case SimpleScenarioPackage.LANE__REFERENCE_COORD: + return getReferenceCoord(); + case SimpleScenarioPackage.LANE__ADJACENT: + return getAdjacent(); + case SimpleScenarioPackage.LANE__ACTORS: + return getActors(); + case SimpleScenarioPackage.LANE__WIDTH_NUM: + return getWidthNum(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimpleScenarioPackage.LANE__ORIENTATION: + setOrientation((Orientation)newValue); + return; + case SimpleScenarioPackage.LANE__WIDTH: + setWidth((Size)newValue); + return; + case SimpleScenarioPackage.LANE__REFERENCE_COORD: + setReferenceCoord((Double)newValue); + return; + case SimpleScenarioPackage.LANE__ADJACENT: + getAdjacent().clear(); + getAdjacent().addAll((Collection)newValue); + return; + case SimpleScenarioPackage.LANE__ACTORS: + getActors().clear(); + getActors().addAll((Collection)newValue); + return; + case SimpleScenarioPackage.LANE__WIDTH_NUM: + setWidthNum((Double)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.LANE__ORIENTATION: + setOrientation(ORIENTATION_EDEFAULT); + return; + case SimpleScenarioPackage.LANE__WIDTH: + setWidth(WIDTH_EDEFAULT); + return; + case SimpleScenarioPackage.LANE__REFERENCE_COORD: + setReferenceCoord(REFERENCE_COORD_EDEFAULT); + return; + case SimpleScenarioPackage.LANE__ADJACENT: + getAdjacent().clear(); + return; + case SimpleScenarioPackage.LANE__ACTORS: + getActors().clear(); + return; + case SimpleScenarioPackage.LANE__WIDTH_NUM: + setWidthNum(WIDTH_NUM_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.LANE__ORIENTATION: + return orientation != ORIENTATION_EDEFAULT; + case SimpleScenarioPackage.LANE__WIDTH: + return width != WIDTH_EDEFAULT; + case SimpleScenarioPackage.LANE__REFERENCE_COORD: + return referenceCoord != REFERENCE_COORD_EDEFAULT; + case SimpleScenarioPackage.LANE__ADJACENT: + return adjacent != null && !adjacent.isEmpty(); + case SimpleScenarioPackage.LANE__ACTORS: + return actors != null && !actors.isEmpty(); + case SimpleScenarioPackage.LANE__WIDTH_NUM: + return widthNum != WIDTH_NUM_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (orientation: "); + result.append(orientation); + result.append(", width: "); + result.append(width); + result.append(", referenceCoord: "); + result.append(referenceCoord); + result.append(", widthNum: "); + result.append(widthNum); + result.append(')'); + return result.toString(); + } + +} //LaneImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/RelationImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/RelationImpl.java new file mode 100644 index 00000000..a8ddd386 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/RelationImpl.java @@ -0,0 +1,159 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import simpleScenario.Actor; +import simpleScenario.Relation; +import simpleScenario.SimpleScenarioPackage; + +/** + * + * An implementation of the model object 'Relation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link simpleScenario.impl.RelationImpl#getTarget Target}
  • + *
+ * + * @generated + */ +public abstract class RelationImpl extends MinimalEObjectImpl.Container implements Relation { + /** + * The cached value of the '{@link #getTarget() Target}' reference. + * + * + * @see #getTarget() + * @generated + * @ordered + */ + protected Actor target; + + /** + * + * + * @generated + */ + protected RelationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.RELATION; + } + + /** + * + * + * @generated + */ + @Override + public Actor getTarget() { + if (target != null && target.eIsProxy()) { + InternalEObject oldTarget = (InternalEObject)target; + target = (Actor)eResolveProxy(oldTarget); + if (target != oldTarget) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimpleScenarioPackage.RELATION__TARGET, oldTarget, target)); + } + } + return target; + } + + /** + * + * + * @generated + */ + public Actor basicGetTarget() { + return target; + } + + /** + * + * + * @generated + */ + @Override + public void setTarget(Actor newTarget) { + Actor oldTarget = target; + target = newTarget; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.RELATION__TARGET, oldTarget, target)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimpleScenarioPackage.RELATION__TARGET: + if (resolve) return getTarget(); + return basicGetTarget(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimpleScenarioPackage.RELATION__TARGET: + setTarget((Actor)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.RELATION__TARGET: + setTarget((Actor)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.RELATION__TARGET: + return target != null; + } + return super.eIsSet(featureID); + } + +} //RelationImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java new file mode 100644 index 00000000..12a4d73c --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SeperationDistanceImpl.java @@ -0,0 +1,165 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import simpleScenario.SeperationDistance; +import simpleScenario.SimpleScenarioPackage; +import simpleScenario.Size; + +/** + * + * An implementation of the model object 'Seperation Distance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link simpleScenario.impl.SeperationDistanceImpl#getDistance Distance}
  • + *
+ * + * @generated + */ +public class SeperationDistanceImpl extends SpatialRelationImpl implements SeperationDistance { + /** + * The default value of the '{@link #getDistance() Distance}' attribute. + * + * + * @see #getDistance() + * @generated + * @ordered + */ + protected static final Size DISTANCE_EDEFAULT = Size.SMALL; + + /** + * The cached value of the '{@link #getDistance() Distance}' attribute. + * + * + * @see #getDistance() + * @generated + * @ordered + */ + protected Size distance = DISTANCE_EDEFAULT; + + /** + * + * + * @generated + */ + protected SeperationDistanceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.SEPERATION_DISTANCE; + } + + /** + * + * + * @generated + */ + @Override + public Size getDistance() { + return distance; + } + + /** + * + * + * @generated + */ + @Override + public void setDistance(Size newDistance) { + Size oldDistance = distance; + distance = newDistance == null ? DISTANCE_EDEFAULT : newDistance; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE, oldDistance, distance)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE: + return getDistance(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE: + setDistance((Size)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE: + setDistance(DISTANCE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.SEPERATION_DISTANCE__DISTANCE: + return distance != DISTANCE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (distance: "); + result.append(distance); + result.append(')'); + return result.toString(); + } + +} //SeperationDistanceImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioFactoryImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioFactoryImpl.java new file mode 100644 index 00000000..c3237012 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioFactoryImpl.java @@ -0,0 +1,268 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import simpleScenario.*; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class SimpleScenarioFactoryImpl extends EFactoryImpl implements SimpleScenarioFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static SimpleScenarioFactory init() { + try { + SimpleScenarioFactory theSimpleScenarioFactory = (SimpleScenarioFactory)EPackage.Registry.INSTANCE.getEFactory(SimpleScenarioPackage.eNS_URI); + if (theSimpleScenarioFactory != null) { + return theSimpleScenarioFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new SimpleScenarioFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public SimpleScenarioFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case SimpleScenarioPackage.SIMPLE_SCENARIO: return createSimpleScenario(); + case SimpleScenarioPackage.LANE: return createLane(); + case SimpleScenarioPackage.ACTOR: return createActor(); + case SimpleScenarioPackage.VISION_BLOCKED: return createVisionBlocked(); + case SimpleScenarioPackage.SEPERATION_DISTANCE: return createSeperationDistance(); + case SimpleScenarioPackage.COLLISION_EXISTS: return createCollisionExists(); + case SimpleScenarioPackage.COLLISION_DOES_NOT_EXIST: return createCollisionDoesNotExist(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public Object createFromString(EDataType eDataType, String initialValue) { + switch (eDataType.getClassifierID()) { + case SimpleScenarioPackage.ORIENTATION: + return createOrientationFromString(eDataType, initialValue); + case SimpleScenarioPackage.SIZE: + return createSizeFromString(eDataType, initialValue); + case SimpleScenarioPackage.ACTOR_TYPE: + return createActorTypeFromString(eDataType, initialValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public String convertToString(EDataType eDataType, Object instanceValue) { + switch (eDataType.getClassifierID()) { + case SimpleScenarioPackage.ORIENTATION: + return convertOrientationToString(eDataType, instanceValue); + case SimpleScenarioPackage.SIZE: + return convertSizeToString(eDataType, instanceValue); + case SimpleScenarioPackage.ACTOR_TYPE: + return convertActorTypeToString(eDataType, instanceValue); + default: + throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public SimpleScenario createSimpleScenario() { + SimpleScenarioImpl simpleScenario = new SimpleScenarioImpl(); + return simpleScenario; + } + + /** + * + * + * @generated + */ + @Override + public Lane createLane() { + LaneImpl lane = new LaneImpl(); + return lane; + } + + /** + * + * + * @generated + */ + @Override + public Actor createActor() { + ActorImpl actor = new ActorImpl(); + return actor; + } + + /** + * + * + * @generated + */ + @Override + public VisionBlocked createVisionBlocked() { + VisionBlockedImpl visionBlocked = new VisionBlockedImpl(); + return visionBlocked; + } + + /** + * + * + * @generated + */ + @Override + public SeperationDistance createSeperationDistance() { + SeperationDistanceImpl seperationDistance = new SeperationDistanceImpl(); + return seperationDistance; + } + + /** + * + * + * @generated + */ + @Override + public CollisionExists createCollisionExists() { + CollisionExistsImpl collisionExists = new CollisionExistsImpl(); + return collisionExists; + } + + /** + * + * + * @generated + */ + @Override + public CollisionDoesNotExist createCollisionDoesNotExist() { + CollisionDoesNotExistImpl collisionDoesNotExist = new CollisionDoesNotExistImpl(); + return collisionDoesNotExist; + } + + /** + * + * + * @generated + */ + public Orientation createOrientationFromString(EDataType eDataType, String initialValue) { + Orientation result = Orientation.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertOrientationToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public Size createSizeFromString(EDataType eDataType, String initialValue) { + Size result = Size.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertSizeToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + public ActorType createActorTypeFromString(EDataType eDataType, String initialValue) { + ActorType result = ActorType.get(initialValue); + if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); + return result; + } + + /** + * + * + * @generated + */ + public String convertActorTypeToString(EDataType eDataType, Object instanceValue) { + return instanceValue == null ? null : instanceValue.toString(); + } + + /** + * + * + * @generated + */ + @Override + public SimpleScenarioPackage getSimpleScenarioPackage() { + return (SimpleScenarioPackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static SimpleScenarioPackage getPackage() { + return SimpleScenarioPackage.eINSTANCE; + } + +} //SimpleScenarioFactoryImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java new file mode 100644 index 00000000..9d542c65 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioImpl.java @@ -0,0 +1,319 @@ +/** + */ +package simpleScenario.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import simpleScenario.Actor; +import simpleScenario.Lane; +import simpleScenario.SimpleScenario; +import simpleScenario.SimpleScenarioPackage; + +/** + * + * An implementation of the model object 'Simple Scenario'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link simpleScenario.impl.SimpleScenarioImpl#getXSize XSize}
  • + *
  • {@link simpleScenario.impl.SimpleScenarioImpl#getYSize YSize}
  • + *
  • {@link simpleScenario.impl.SimpleScenarioImpl#getActors Actors}
  • + *
  • {@link simpleScenario.impl.SimpleScenarioImpl#getLanes Lanes}
  • + *
+ * + * @generated + */ +public class SimpleScenarioImpl extends MinimalEObjectImpl.Container implements SimpleScenario { + /** + * The default value of the '{@link #getXSize() XSize}' attribute. + * + * + * @see #getXSize() + * @generated + * @ordered + */ + protected static final double XSIZE_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getXSize() XSize}' attribute. + * + * + * @see #getXSize() + * @generated + * @ordered + */ + protected double xSize = XSIZE_EDEFAULT; + + /** + * The default value of the '{@link #getYSize() YSize}' attribute. + * + * + * @see #getYSize() + * @generated + * @ordered + */ + protected static final double YSIZE_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getYSize() YSize}' attribute. + * + * + * @see #getYSize() + * @generated + * @ordered + */ + protected double ySize = YSIZE_EDEFAULT; + + /** + * The cached value of the '{@link #getActors() Actors}' containment reference list. + * + * + * @see #getActors() + * @generated + * @ordered + */ + protected EList actors; + + /** + * The cached value of the '{@link #getLanes() Lanes}' containment reference list. + * + * + * @see #getLanes() + * @generated + * @ordered + */ + protected EList lanes; + + /** + * + * + * @generated + */ + protected SimpleScenarioImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.SIMPLE_SCENARIO; + } + + /** + * + * + * @generated + */ + @Override + public double getXSize() { + return xSize; + } + + /** + * + * + * @generated + */ + @Override + public void setXSize(double newXSize) { + double oldXSize = xSize; + xSize = newXSize; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.SIMPLE_SCENARIO__XSIZE, oldXSize, xSize)); + } + + /** + * + * + * @generated + */ + @Override + public double getYSize() { + return ySize; + } + + /** + * + * + * @generated + */ + @Override + public void setYSize(double newYSize) { + double oldYSize = ySize; + ySize = newYSize; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.SIMPLE_SCENARIO__YSIZE, oldYSize, ySize)); + } + + /** + * + * + * @generated + */ + @Override + public EList getActors() { + if (actors == null) { + actors = new EObjectContainmentEList(Actor.class, this, SimpleScenarioPackage.SIMPLE_SCENARIO__ACTORS); + } + return actors; + } + + /** + * + * + * @generated + */ + @Override + public EList getLanes() { + if (lanes == null) { + lanes = new EObjectContainmentEList(Lane.class, this, SimpleScenarioPackage.SIMPLE_SCENARIO__LANES); + } + return lanes; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SimpleScenarioPackage.SIMPLE_SCENARIO__ACTORS: + return ((InternalEList)getActors()).basicRemove(otherEnd, msgs); + case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES: + return ((InternalEList)getLanes()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimpleScenarioPackage.SIMPLE_SCENARIO__XSIZE: + return getXSize(); + case SimpleScenarioPackage.SIMPLE_SCENARIO__YSIZE: + return getYSize(); + case SimpleScenarioPackage.SIMPLE_SCENARIO__ACTORS: + return getActors(); + case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES: + return getLanes(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimpleScenarioPackage.SIMPLE_SCENARIO__XSIZE: + setXSize((Double)newValue); + return; + case SimpleScenarioPackage.SIMPLE_SCENARIO__YSIZE: + setYSize((Double)newValue); + return; + case SimpleScenarioPackage.SIMPLE_SCENARIO__ACTORS: + getActors().clear(); + getActors().addAll((Collection)newValue); + return; + case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES: + getLanes().clear(); + getLanes().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.SIMPLE_SCENARIO__XSIZE: + setXSize(XSIZE_EDEFAULT); + return; + case SimpleScenarioPackage.SIMPLE_SCENARIO__YSIZE: + setYSize(YSIZE_EDEFAULT); + return; + case SimpleScenarioPackage.SIMPLE_SCENARIO__ACTORS: + getActors().clear(); + return; + case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES: + getLanes().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.SIMPLE_SCENARIO__XSIZE: + return xSize != XSIZE_EDEFAULT; + case SimpleScenarioPackage.SIMPLE_SCENARIO__YSIZE: + return ySize != YSIZE_EDEFAULT; + case SimpleScenarioPackage.SIMPLE_SCENARIO__ACTORS: + return actors != null && !actors.isEmpty(); + case SimpleScenarioPackage.SIMPLE_SCENARIO__LANES: + return lanes != null && !lanes.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (xSize: "); + result.append(xSize); + result.append(", ySize: "); + result.append(ySize); + result.append(')'); + return result.toString(); + } + +} //SimpleScenarioImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java new file mode 100644 index 00000000..cff06365 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SimpleScenarioPackageImpl.java @@ -0,0 +1,711 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import simpleScenario.Actor; +import simpleScenario.ActorType; +import simpleScenario.CollisionDoesNotExist; +import simpleScenario.CollisionExists; +import simpleScenario.Lane; +import simpleScenario.Orientation; +import simpleScenario.Relation; +import simpleScenario.SeperationDistance; +import simpleScenario.SimpleScenario; +import simpleScenario.SimpleScenarioFactory; +import simpleScenario.SimpleScenarioPackage; +import simpleScenario.Size; +import simpleScenario.SpatialRelation; +import simpleScenario.TemporalRelation; +import simpleScenario.VisionBlocked; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class SimpleScenarioPackageImpl extends EPackageImpl implements SimpleScenarioPackage { + /** + * + * + * @generated + */ + private EClass simpleScenarioEClass = null; + + /** + * + * + * @generated + */ + private EClass laneEClass = null; + + /** + * + * + * @generated + */ + private EClass actorEClass = null; + + /** + * + * + * @generated + */ + private EClass relationEClass = null; + + /** + * + * + * @generated + */ + private EClass spatialRelationEClass = null; + + /** + * + * + * @generated + */ + private EClass temporalRelationEClass = null; + + /** + * + * + * @generated + */ + private EClass visionBlockedEClass = null; + + /** + * + * + * @generated + */ + private EClass seperationDistanceEClass = null; + + /** + * + * + * @generated + */ + private EClass collisionExistsEClass = null; + + /** + * + * + * @generated + */ + private EClass collisionDoesNotExistEClass = null; + + /** + * + * + * @generated + */ + private EEnum orientationEEnum = null; + + /** + * + * + * @generated + */ + private EEnum sizeEEnum = null; + + /** + * + * + * @generated + */ + private EEnum actorTypeEEnum = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see simpleScenario.SimpleScenarioPackage#eNS_URI + * @see #init() + * @generated + */ + private SimpleScenarioPackageImpl() { + super(eNS_URI, SimpleScenarioFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link SimpleScenarioPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static SimpleScenarioPackage init() { + if (isInited) return (SimpleScenarioPackage)EPackage.Registry.INSTANCE.getEPackage(SimpleScenarioPackage.eNS_URI); + + // Obtain or create and register package + Object registeredSimpleScenarioPackage = EPackage.Registry.INSTANCE.get(eNS_URI); + SimpleScenarioPackageImpl theSimpleScenarioPackage = registeredSimpleScenarioPackage instanceof SimpleScenarioPackageImpl ? (SimpleScenarioPackageImpl)registeredSimpleScenarioPackage : new SimpleScenarioPackageImpl(); + + isInited = true; + + // Create package meta-data objects + theSimpleScenarioPackage.createPackageContents(); + + // Initialize created meta-data + theSimpleScenarioPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theSimpleScenarioPackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(SimpleScenarioPackage.eNS_URI, theSimpleScenarioPackage); + return theSimpleScenarioPackage; + } + + /** + * + * + * @generated + */ + @Override + public EClass getSimpleScenario() { + return simpleScenarioEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getSimpleScenario_XSize() { + return (EAttribute)simpleScenarioEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getSimpleScenario_YSize() { + return (EAttribute)simpleScenarioEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getSimpleScenario_Actors() { + return (EReference)simpleScenarioEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getSimpleScenario_Lanes() { + return (EReference)simpleScenarioEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLane() { + return laneEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getLane_Orientation() { + return (EAttribute)laneEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getLane_Width() { + return (EAttribute)laneEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getLane_ReferenceCoord() { + return (EAttribute)laneEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getLane_Adjacent() { + return (EReference)laneEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EReference getLane_Actors() { + return (EReference)laneEClass.getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getLane_WidthNum() { + return (EAttribute)laneEClass.getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + @Override + public EClass getActor() { + return actorEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getActor_Type() { + return (EAttribute)actorEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getActor_XPos() { + return (EAttribute)actorEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getActor_YPos() { + return (EAttribute)actorEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getActor_Length() { + return (EAttribute)actorEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getActor_Width() { + return (EAttribute)actorEClass.getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getActor_Speed() { + return (EAttribute)actorEClass.getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + @Override + public EReference getActor_Relations() { + return (EReference)actorEClass.getEStructuralFeatures().get(6); + } + + /** + * + * + * @generated + */ + @Override + public EReference getActor_PlacedOn() { + return (EReference)actorEClass.getEStructuralFeatures().get(7); + } + + /** + * + * + * @generated + */ + @Override + public EClass getRelation() { + return relationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getRelation_Target() { + return (EReference)relationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getSpatialRelation() { + return spatialRelationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getTemporalRelation() { + return temporalRelationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getVisionBlocked() { + return visionBlockedEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getVisionBlocked_BlockedBy() { + return (EReference)visionBlockedEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getSeperationDistance() { + return seperationDistanceEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getSeperationDistance_Distance() { + return (EAttribute)seperationDistanceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCollisionExists() { + return collisionExistsEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getCollisionExists_CollisionTime() { + return (EAttribute)collisionExistsEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCollisionDoesNotExist() { + return collisionDoesNotExistEClass; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getOrientation() { + return orientationEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getSize() { + return sizeEEnum; + } + + /** + * + * + * @generated + */ + @Override + public EEnum getActorType() { + return actorTypeEEnum; + } + + /** + * + * + * @generated + */ + @Override + public SimpleScenarioFactory getSimpleScenarioFactory() { + return (SimpleScenarioFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + simpleScenarioEClass = createEClass(SIMPLE_SCENARIO); + createEAttribute(simpleScenarioEClass, SIMPLE_SCENARIO__XSIZE); + createEAttribute(simpleScenarioEClass, SIMPLE_SCENARIO__YSIZE); + createEReference(simpleScenarioEClass, SIMPLE_SCENARIO__ACTORS); + createEReference(simpleScenarioEClass, SIMPLE_SCENARIO__LANES); + + laneEClass = createEClass(LANE); + createEAttribute(laneEClass, LANE__ORIENTATION); + createEAttribute(laneEClass, LANE__WIDTH); + createEAttribute(laneEClass, LANE__REFERENCE_COORD); + createEReference(laneEClass, LANE__ADJACENT); + createEReference(laneEClass, LANE__ACTORS); + createEAttribute(laneEClass, LANE__WIDTH_NUM); + + actorEClass = createEClass(ACTOR); + createEAttribute(actorEClass, ACTOR__TYPE); + createEAttribute(actorEClass, ACTOR__XPOS); + createEAttribute(actorEClass, ACTOR__YPOS); + createEAttribute(actorEClass, ACTOR__LENGTH); + createEAttribute(actorEClass, ACTOR__WIDTH); + createEAttribute(actorEClass, ACTOR__SPEED); + createEReference(actorEClass, ACTOR__RELATIONS); + createEReference(actorEClass, ACTOR__PLACED_ON); + + relationEClass = createEClass(RELATION); + createEReference(relationEClass, RELATION__TARGET); + + spatialRelationEClass = createEClass(SPATIAL_RELATION); + + temporalRelationEClass = createEClass(TEMPORAL_RELATION); + + visionBlockedEClass = createEClass(VISION_BLOCKED); + createEReference(visionBlockedEClass, VISION_BLOCKED__BLOCKED_BY); + + seperationDistanceEClass = createEClass(SEPERATION_DISTANCE); + createEAttribute(seperationDistanceEClass, SEPERATION_DISTANCE__DISTANCE); + + collisionExistsEClass = createEClass(COLLISION_EXISTS); + createEAttribute(collisionExistsEClass, COLLISION_EXISTS__COLLISION_TIME); + + collisionDoesNotExistEClass = createEClass(COLLISION_DOES_NOT_EXIST); + + // Create enums + orientationEEnum = createEEnum(ORIENTATION); + sizeEEnum = createEEnum(SIZE); + actorTypeEEnum = createEEnum(ACTOR_TYPE); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + spatialRelationEClass.getESuperTypes().add(this.getRelation()); + temporalRelationEClass.getESuperTypes().add(this.getRelation()); + visionBlockedEClass.getESuperTypes().add(this.getSpatialRelation()); + seperationDistanceEClass.getESuperTypes().add(this.getSpatialRelation()); + collisionExistsEClass.getESuperTypes().add(this.getTemporalRelation()); + collisionDoesNotExistEClass.getESuperTypes().add(this.getTemporalRelation()); + + // Initialize classes, features, and operations; add parameters + initEClass(simpleScenarioEClass, SimpleScenario.class, "SimpleScenario", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getSimpleScenario_XSize(), ecorePackage.getEDouble(), "xSize", null, 0, 1, SimpleScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + 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); + 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); + 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); + + initEClass(laneEClass, Lane.class, "Lane", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + 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); + 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); + 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); + initEAttribute(getLane_WidthNum(), ecorePackage.getEDouble(), "widthNum", null, 1, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(actorEClass, Actor.class, "Actor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getActor_Type(), this.getActorType(), "type", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + 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); + 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); + initEAttribute(getActor_Length(), ecorePackage.getEDouble(), "length", "0.0", 0, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getActor_Width(), ecorePackage.getEDouble(), "width", null, 0, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getActor_Speed(), ecorePackage.getEDouble(), "speed", null, 1, 1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + 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); + 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); + + initEClass(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(spatialRelationEClass, SpatialRelation.class, "SpatialRelation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(temporalRelationEClass, TemporalRelation.class, "TemporalRelation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(visionBlockedEClass, VisionBlocked.class, "VisionBlocked", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(seperationDistanceEClass, SeperationDistance.class, "SeperationDistance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getSeperationDistance_Distance(), this.getSize(), "distance", null, 1, 1, SeperationDistance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(collisionExistsEClass, CollisionExists.class, "CollisionExists", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(collisionDoesNotExistEClass, CollisionDoesNotExist.class, "CollisionDoesNotExist", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + // Initialize enums and add enum literals + initEEnum(orientationEEnum, Orientation.class, "Orientation"); + addEEnumLiteral(orientationEEnum, Orientation.VERTICAL); + addEEnumLiteral(orientationEEnum, Orientation.HORIZONTAL); + + initEEnum(sizeEEnum, Size.class, "Size"); + addEEnumLiteral(sizeEEnum, Size.SMALL); + addEEnumLiteral(sizeEEnum, Size.MEDIUM); + addEEnumLiteral(sizeEEnum, Size.LARGE); + + initEEnum(actorTypeEEnum, ActorType.class, "ActorType"); + addEEnumLiteral(actorTypeEEnum, ActorType.PEDESTRIAN); + addEEnumLiteral(actorTypeEEnum, ActorType.VEHICLE); + + // Create resource + createResource(eNS_URI); + } + +} //SimpleScenarioPackageImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SpatialRelationImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SpatialRelationImpl.java new file mode 100644 index 00000000..b4e0f4b4 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/SpatialRelationImpl.java @@ -0,0 +1,37 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.ecore.EClass; + +import simpleScenario.SimpleScenarioPackage; +import simpleScenario.SpatialRelation; + +/** + * + * An implementation of the model object 'Spatial Relation'. + * + * + * @generated + */ +public abstract class SpatialRelationImpl extends RelationImpl implements SpatialRelation { + /** + * + * + * @generated + */ + protected SpatialRelationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.SPATIAL_RELATION; + } + +} //SpatialRelationImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/TemporalRelationImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/TemporalRelationImpl.java new file mode 100644 index 00000000..26f2c712 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/TemporalRelationImpl.java @@ -0,0 +1,37 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.ecore.EClass; + +import simpleScenario.SimpleScenarioPackage; +import simpleScenario.TemporalRelation; + +/** + * + * An implementation of the model object 'Temporal Relation'. + * + * + * @generated + */ +public abstract class TemporalRelationImpl extends RelationImpl implements TemporalRelation { + /** + * + * + * @generated + */ + protected TemporalRelationImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.TEMPORAL_RELATION; + } + +} //TemporalRelationImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/VisionBlockedImpl.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/VisionBlockedImpl.java new file mode 100644 index 00000000..88222d67 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/impl/VisionBlockedImpl.java @@ -0,0 +1,158 @@ +/** + */ +package simpleScenario.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import simpleScenario.Actor; +import simpleScenario.SimpleScenarioPackage; +import simpleScenario.VisionBlocked; + +/** + * + * An implementation of the model object 'Vision Blocked'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link simpleScenario.impl.VisionBlockedImpl#getBlockedBy Blocked By}
  • + *
+ * + * @generated + */ +public class VisionBlockedImpl extends SpatialRelationImpl implements VisionBlocked { + /** + * The cached value of the '{@link #getBlockedBy() Blocked By}' reference. + * + * + * @see #getBlockedBy() + * @generated + * @ordered + */ + protected Actor blockedBy; + + /** + * + * + * @generated + */ + protected VisionBlockedImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SimpleScenarioPackage.Literals.VISION_BLOCKED; + } + + /** + * + * + * @generated + */ + @Override + public Actor getBlockedBy() { + if (blockedBy != null && blockedBy.eIsProxy()) { + InternalEObject oldBlockedBy = (InternalEObject)blockedBy; + blockedBy = (Actor)eResolveProxy(oldBlockedBy); + if (blockedBy != oldBlockedBy) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimpleScenarioPackage.VISION_BLOCKED__BLOCKED_BY, oldBlockedBy, blockedBy)); + } + } + return blockedBy; + } + + /** + * + * + * @generated + */ + public Actor basicGetBlockedBy() { + return blockedBy; + } + + /** + * + * + * @generated + */ + @Override + public void setBlockedBy(Actor newBlockedBy) { + Actor oldBlockedBy = blockedBy; + blockedBy = newBlockedBy; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SimpleScenarioPackage.VISION_BLOCKED__BLOCKED_BY, oldBlockedBy, blockedBy)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SimpleScenarioPackage.VISION_BLOCKED__BLOCKED_BY: + if (resolve) return getBlockedBy(); + return basicGetBlockedBy(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SimpleScenarioPackage.VISION_BLOCKED__BLOCKED_BY: + setBlockedBy((Actor)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.VISION_BLOCKED__BLOCKED_BY: + setBlockedBy((Actor)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SimpleScenarioPackage.VISION_BLOCKED__BLOCKED_BY: + return blockedBy != null; + } + return super.eIsSet(featureID); + } + +} //VisionBlockedImpl diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/util/SimpleScenarioAdapterFactory.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/util/SimpleScenarioAdapterFactory.java new file mode 100644 index 00000000..eb9bc05f --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/util/SimpleScenarioAdapterFactory.java @@ -0,0 +1,282 @@ +/** + */ +package simpleScenario.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import simpleScenario.*; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see simpleScenario.SimpleScenarioPackage + * @generated + */ +public class SimpleScenarioAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static SimpleScenarioPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public SimpleScenarioAdapterFactory() { + if (modelPackage == null) { + modelPackage = SimpleScenarioPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the createXXX methods. + * + * + * @generated + */ + protected SimpleScenarioSwitch modelSwitch = + new SimpleScenarioSwitch() { + @Override + public Adapter caseSimpleScenario(SimpleScenario object) { + return createSimpleScenarioAdapter(); + } + @Override + public Adapter caseLane(Lane object) { + return createLaneAdapter(); + } + @Override + public Adapter caseActor(Actor object) { + return createActorAdapter(); + } + @Override + public Adapter caseRelation(Relation object) { + return createRelationAdapter(); + } + @Override + public Adapter caseSpatialRelation(SpatialRelation object) { + return createSpatialRelationAdapter(); + } + @Override + public Adapter caseTemporalRelation(TemporalRelation object) { + return createTemporalRelationAdapter(); + } + @Override + public Adapter caseVisionBlocked(VisionBlocked object) { + return createVisionBlockedAdapter(); + } + @Override + public Adapter caseSeperationDistance(SeperationDistance object) { + return createSeperationDistanceAdapter(); + } + @Override + public Adapter caseCollisionExists(CollisionExists object) { + return createCollisionExistsAdapter(); + } + @Override + public Adapter caseCollisionDoesNotExist(CollisionDoesNotExist object) { + return createCollisionDoesNotExistAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.SimpleScenario Simple Scenario}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.SimpleScenario + * @generated + */ + public Adapter createSimpleScenarioAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.Lane Lane}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.Lane + * @generated + */ + public Adapter createLaneAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.Actor Actor}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.Actor + * @generated + */ + public Adapter createActorAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.Relation Relation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.Relation + * @generated + */ + public Adapter createRelationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.SpatialRelation Spatial Relation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.SpatialRelation + * @generated + */ + public Adapter createSpatialRelationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.TemporalRelation Temporal Relation}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.TemporalRelation + * @generated + */ + public Adapter createTemporalRelationAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.VisionBlocked Vision Blocked}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.VisionBlocked + * @generated + */ + public Adapter createVisionBlockedAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.SeperationDistance Seperation Distance}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.SeperationDistance + * @generated + */ + public Adapter createSeperationDistanceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.CollisionExists Collision Exists}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.CollisionExists + * @generated + */ + public Adapter createCollisionExistsAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link simpleScenario.CollisionDoesNotExist Collision Does Not Exist}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see simpleScenario.CollisionDoesNotExist + * @generated + */ + public Adapter createCollisionDoesNotExistAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //SimpleScenarioAdapterFactory diff --git a/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/util/SimpleScenarioSwitch.java b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/util/SimpleScenarioSwitch.java new file mode 100644 index 00000000..204ac66f --- /dev/null +++ b/Domains/traffic.scenarios.simplified/ecore-gen/simpleScenario/util/SimpleScenarioSwitch.java @@ -0,0 +1,309 @@ +/** + */ +package simpleScenario.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import simpleScenario.*; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see simpleScenario.SimpleScenarioPackage + * @generated + */ +public class SimpleScenarioSwitch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static SimpleScenarioPackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public SimpleScenarioSwitch() { + if (modelPackage == null) { + modelPackage = SimpleScenarioPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case SimpleScenarioPackage.SIMPLE_SCENARIO: { + SimpleScenario simpleScenario = (SimpleScenario)theEObject; + T result = caseSimpleScenario(simpleScenario); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.LANE: { + Lane lane = (Lane)theEObject; + T result = caseLane(lane); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.ACTOR: { + Actor actor = (Actor)theEObject; + T result = caseActor(actor); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.RELATION: { + Relation relation = (Relation)theEObject; + T result = caseRelation(relation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.SPATIAL_RELATION: { + SpatialRelation spatialRelation = (SpatialRelation)theEObject; + T result = caseSpatialRelation(spatialRelation); + if (result == null) result = caseRelation(spatialRelation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.TEMPORAL_RELATION: { + TemporalRelation temporalRelation = (TemporalRelation)theEObject; + T result = caseTemporalRelation(temporalRelation); + if (result == null) result = caseRelation(temporalRelation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.VISION_BLOCKED: { + VisionBlocked visionBlocked = (VisionBlocked)theEObject; + T result = caseVisionBlocked(visionBlocked); + if (result == null) result = caseSpatialRelation(visionBlocked); + if (result == null) result = caseRelation(visionBlocked); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.SEPERATION_DISTANCE: { + SeperationDistance seperationDistance = (SeperationDistance)theEObject; + T result = caseSeperationDistance(seperationDistance); + if (result == null) result = caseSpatialRelation(seperationDistance); + if (result == null) result = caseRelation(seperationDistance); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.COLLISION_EXISTS: { + CollisionExists collisionExists = (CollisionExists)theEObject; + T result = caseCollisionExists(collisionExists); + if (result == null) result = caseTemporalRelation(collisionExists); + if (result == null) result = caseRelation(collisionExists); + if (result == null) result = defaultCase(theEObject); + return result; + } + case SimpleScenarioPackage.COLLISION_DOES_NOT_EXIST: { + CollisionDoesNotExist collisionDoesNotExist = (CollisionDoesNotExist)theEObject; + T result = caseCollisionDoesNotExist(collisionDoesNotExist); + if (result == null) result = caseTemporalRelation(collisionDoesNotExist); + if (result == null) result = caseRelation(collisionDoesNotExist); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Simple Scenario'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Simple Scenario'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSimpleScenario(SimpleScenario object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Lane'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Lane'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLane(Lane object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Actor'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Actor'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseActor(Actor object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Relation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Relation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRelation(Relation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Spatial Relation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Spatial Relation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSpatialRelation(SpatialRelation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Temporal Relation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Temporal Relation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTemporalRelation(TemporalRelation object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Vision Blocked'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Vision Blocked'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVisionBlocked(VisionBlocked object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Seperation Distance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Seperation Distance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSeperationDistance(SeperationDistance object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Collision Exists'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Collision Exists'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCollisionExists(CollisionExists object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Collision Does Not Exist'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Collision Does Not Exist'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCollisionDoesNotExist(CollisionDoesNotExist object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //SimpleScenarioSwitch diff --git a/Domains/traffic.scenarios.simplified/inputs/SimpleScenarioInstance.xmi b/Domains/traffic.scenarios.simplified/inputs/SimpleScenarioInstance.xmi new file mode 100644 index 00000000..4a85197a --- /dev/null +++ b/Domains/traffic.scenarios.simplified/inputs/SimpleScenarioInstance.xmi @@ -0,0 +1,4 @@ + + diff --git a/Domains/traffic.scenarios.simplified/inputs/simpleScenarioGen.vsconfig b/Domains/traffic.scenarios.simplified/inputs/simpleScenarioGen.vsconfig new file mode 100644 index 00000000..14e0fbbd --- /dev/null +++ b/Domains/traffic.scenarios.simplified/inputs/simpleScenarioGen.vsconfig @@ -0,0 +1,28 @@ +import epackage "model/simpleScenario.ecore" +import viatra "queries/simpleScenarioQueries.vql" + +generate { + metamodel = { package simpleScenario } + constraints = { package queries} + partial-model = { "inputs/SimpleScenarioInstance.xmi"} + solver = ViatraSolver + scope = { + #node = 10..30, + #int = {}, + # = 1 + } + + config = { + runtime = 10000, + log-level = normal, + "numeric-solver" = "dreal", + "scopePropagator" = "typeHierarchy" + } + + runs = 1 + + debug = "outputs/debug" + log = "outputs/debug/log.txt" + output = "outputs/models" + statistics = "outputs/statistics.csv" +} \ No newline at end of file diff --git a/Domains/traffic.scenarios.simplified/model/simpleScenario.aird b/Domains/traffic.scenarios.simplified/model/simpleScenario.aird new file mode 100644 index 00000000..b2ddb3a4 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/model/simpleScenario.aird @@ -0,0 +1,1073 @@ + + + + simpleScenario.ecore + simpleScenario.genmodel + + + + + + + + + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + bold + + + + + + + + bold + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + bold + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + + + + bold + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + bold + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Domains/traffic.scenarios.simplified/model/simpleScenario.ecore b/Domains/traffic.scenarios.simplified/model/simpleScenario.ecore new file mode 100644 index 00000000..340a63b7 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/model/simpleScenario.ecore @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Domains/traffic.scenarios.simplified/model/simpleScenario.genmodel b/Domains/traffic.scenarios.simplified/model/simpleScenario.genmodel new file mode 100644 index 00000000..cdff27fe --- /dev/null +++ b/Domains/traffic.scenarios.simplified/model/simpleScenario.genmodel @@ -0,0 +1,62 @@ + + + simpleScenario.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Domains/traffic.scenarios.simplified/plugin.properties b/Domains/traffic.scenarios.simplified/plugin.properties new file mode 100644 index 00000000..08367736 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = Simplified +providerName = www.example.org diff --git a/Domains/traffic.scenarios.simplified/plugin.xml b/Domains/traffic.scenarios.simplified/plugin.xml new file mode 100644 index 00000000..bf0ea47c --- /dev/null +++ b/Domains/traffic.scenarios.simplified/plugin.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/Domains/traffic.scenarios.simplified/queries/simpleScenarioQueries.vql b/Domains/traffic.scenarios.simplified/queries/simpleScenarioQueries.vql new file mode 100644 index 00000000..a59715c7 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/queries/simpleScenarioQueries.vql @@ -0,0 +1,78 @@ +package queries + +import "http://www.example.com/simpleScenario" + + +//lanes and lane+widths are in simpleScenarioBoundingBox + +// actor coords within simpleScenarioBoundingBox + +//@Constraint(severity = "error", key = {a}, message = "this defines the placedOn relation for vertical lanes") +//pattern actorOnVerticalLane(a : Actor) { +// Actor.placedOn(a, l); +// Lane.orientation(l, Orientation::Vertical); +// Actor.xPos(a, x); +// Lane.referenceCoord(l, r); +// check(x <= r); +//} or { +// Actor.placedOn(a, l); +// Lane.orientation(l, Orientation::Vertical); +// Actor.xPos(a, x); +// Lane.referenceCoord(l, r); +// Lane.widthNum(l, w); +// check(x >= (r + w)); +//} +// +//@Constraint(severity = "error", key = {a}, message = "this defines the placedOn relation for horizontal lanes") +//pattern actorOnHorizontalLane(a : Actor) { +// Actor.placedOn(a, l); +// Lane.orientation(l, Orientation::Horizontal); +// Actor.yPos(a, y); +// Lane.referenceCoord(l, r); +// check(y <= r); +//} or { +// Actor.placedOn(a, l); +// Lane.orientation(l, Orientation::Horizontal); +// Actor.yPos(a, y); +// Lane.referenceCoord(l, r); +// Lane.widthNum(l, w); +// check(y >= (r + w)); +//} + +@Constraint(severity = "error", key = {a}, message = "this defines the placedOn relation") +pattern actorOnLane(a : Actor) { + find actorOnVerticalLane(a); +// neg find actorOnHorizontalLane(a); +} + +private pattern actorOnVerticalLane(a : Actor) { + Actor.placedOn(a, l); + Lane.orientation(l, Orientation::Vertical); + Actor.xPos(a, x); + Lane.referenceCoord(l, r); + Lane.widthNum(l, w); + check(x >= r); + check(x <= (r + w)); +} + +@Constraint(severity = "error", key = {l}, message = "this defines the placedOn relation") +pattern widthSpec(l : Lane) { + Lane.widthNum(l, w); + check(w != 5); +} + +@Constraint(severity = "error", key = {l}, message = "this defines the placedOn relation") +pattern refSpec(l : Lane) { + Lane.referenceCoord(l, w); + check(w != 2); +} + +private pattern actorOnHorizontalLane(a : Actor) { + Actor.placedOn(a, l); + Lane.orientation(l, Orientation::Vertical); + Actor.yPos(a, y); + Lane.referenceCoord(l, r); + Lane.widthNum(l, w); + check(y >= r); + check(y <= (r + w)); +} \ No newline at end of file diff --git a/Domains/traffic.scenarios.simplified/src/simpleScenario/run/simpleScenarioMain.java b/Domains/traffic.scenarios.simplified/src/simpleScenario/run/simpleScenarioMain.java new file mode 100644 index 00000000..63e31e64 --- /dev/null +++ b/Domains/traffic.scenarios.simplified/src/simpleScenario/run/simpleScenarioMain.java @@ -0,0 +1,16 @@ +package simpleScenario.run; + +import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; + +public class simpleScenarioMain { + private simpleScenarioMain() { + throw new IllegalStateException("This is a static utility class and should not be instantiated directly."); + } + + public static void main(String[] args) { + String errorMessages = StandaloneScriptExecutor.executeScript("inputs/simpleScenarioGen.vsconfig"); + if(errorMessages!=null) { + System.out.println(errorMessages); + } + } +} -- cgit v1.2.3-54-g00ecf