From 86518413bed5988092b30d1139bb72ef302ae09c Mon Sep 17 00:00:00 2001 From: Aren Babikian Date: Sun, 17 Jan 2021 01:16:26 -0500 Subject: complete queries for lane structure --- Domains/crossingScenario/.gitignore | 1 + .../crossingScenario/CrossingScenario.java | 46 ++++ .../crossingScenario/CrossingScenarioFactory.java | 27 +- .../crossingScenario/CrossingScenarioPackage.java | 274 +++++++++++++++++---- .../ecore-gen/crossingScenario/Lane.java | 28 +-- .../crossingScenario/Lane_Horizontal.java | 17 ++ .../ecore-gen/crossingScenario/Lane_Vertical.java | 17 ++ .../impl/CrossingScenarioFactoryImpl.java | 32 +-- .../impl/CrossingScenarioImpl.java | 126 ++++++++++ .../impl/CrossingScenarioPackageImpl.java | 77 ++++-- .../ecore-gen/crossingScenario/impl/LaneImpl.java | 61 +---- .../crossingScenario/impl/Lane_HorizontalImpl.java | 37 +++ .../crossingScenario/impl/Lane_VerticalImpl.java | 37 +++ .../util/CrossingScenarioAdapterFactory.java | 36 +++ .../util/CrossingScenarioSwitch.java | 44 ++++ .../inputs/crossingScenarioGen.vsconfig | 11 +- .../crossingScenario/model/crossingScenario.aird | 270 ++++++++++++-------- .../crossingScenario/model/crossingScenario.ecore | 14 +- .../model/crossingScenario.genmodel | 9 +- .../queries/crossingScenarioQueries.vql | 167 +++++++++---- .../crossingScenario/run/CrossingScenarioMain.java | 8 +- .../src/crossingScenario/run/QueryDebug.java | 135 +++++++--- .../viatra2logic/NumericDrealProblemSolver.java | 34 +-- 23 files changed, 1103 insertions(+), 405 deletions(-) create mode 100644 Domains/crossingScenario/ecore-gen/crossingScenario/Lane_Horizontal.java create mode 100644 Domains/crossingScenario/ecore-gen/crossingScenario/Lane_Vertical.java create mode 100644 Domains/crossingScenario/ecore-gen/crossingScenario/impl/Lane_HorizontalImpl.java create mode 100644 Domains/crossingScenario/ecore-gen/crossingScenario/impl/Lane_VerticalImpl.java diff --git a/Domains/crossingScenario/.gitignore b/Domains/crossingScenario/.gitignore index 0370ac06..4c033661 100644 --- a/Domains/crossingScenario/.gitignore +++ b/Domains/crossingScenario/.gitignore @@ -2,3 +2,4 @@ /outputs/ /src-gen/ /xtend-gen/ +/src/queries/ diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenario.java b/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenario.java index afbe34e7..b4f01423 100644 --- a/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenario.java +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenario.java @@ -20,6 +20,8 @@ import org.eclipse.emf.ecore.EObject; *
  • {@link crossingScenario.CrossingScenario#getActors Actors}
  • *
  • {@link crossingScenario.CrossingScenario#getLanes Lanes}
  • *
  • {@link crossingScenario.CrossingScenario#getMaxTime Max Time}
  • + *
  • {@link crossingScenario.CrossingScenario#getHorizontal_head Horizontal head}
  • + *
  • {@link crossingScenario.CrossingScenario#getVertical_head Vertical head}
  • * * * @see crossingScenario.CrossingScenarioPackage#getCrossingScenario() @@ -117,4 +119,48 @@ public interface CrossingScenario extends EObject { */ void setMaxTime(double value); + /** + * Returns the value of the 'Horizontal head' reference. + * + * + * @return the value of the 'Horizontal head' reference. + * @see #setHorizontal_head(Lane_Horizontal) + * @see crossingScenario.CrossingScenarioPackage#getCrossingScenario_Horizontal_head() + * @model required="true" + * @generated + */ + Lane_Horizontal getHorizontal_head(); + + /** + * Sets the value of the '{@link crossingScenario.CrossingScenario#getHorizontal_head Horizontal head}' reference. + * + * + * @param value the new value of the 'Horizontal head' reference. + * @see #getHorizontal_head() + * @generated + */ + void setHorizontal_head(Lane_Horizontal value); + + /** + * Returns the value of the 'Vertical head' reference. + * + * + * @return the value of the 'Vertical head' reference. + * @see #setVertical_head(Lane_Vertical) + * @see crossingScenario.CrossingScenarioPackage#getCrossingScenario_Vertical_head() + * @model required="true" + * @generated + */ + Lane_Vertical getVertical_head(); + + /** + * Sets the value of the '{@link crossingScenario.CrossingScenario#getVertical_head Vertical head}' reference. + * + * + * @param value the new value of the 'Vertical head' reference. + * @see #getVertical_head() + * @generated + */ + void setVertical_head(Lane_Vertical value); + } // CrossingScenario diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenarioFactory.java b/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenarioFactory.java index b281559c..8ac3df81 100644 --- a/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenarioFactory.java +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenarioFactory.java @@ -30,15 +30,6 @@ public interface CrossingScenarioFactory extends EFactory { */ CrossingScenario createCrossingScenario(); - /** - * Returns a new object of class 'Lane'. - * - * - * @return a new object of class 'Lane'. - * @generated - */ - Lane createLane(); - /** * Returns a new object of class 'Vision Blocked'. * @@ -93,6 +84,24 @@ public interface CrossingScenarioFactory extends EFactory { */ Vehicle createVehicle(); + /** + * Returns a new object of class 'Lane Horizontal'. + * + * + * @return a new object of class 'Lane Horizontal'. + * @generated + */ + Lane_Horizontal createLane_Horizontal(); + + /** + * Returns a new object of class 'Lane Vertical'. + * + * + * @return a new object of class 'Lane Vertical'. + * @generated + */ + Lane_Vertical createLane_Vertical(); + /** * Returns the package supported by this factory. * diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenarioPackage.java b/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenarioPackage.java index c690a23c..813466ef 100644 --- a/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenarioPackage.java +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/CrossingScenarioPackage.java @@ -113,41 +113,50 @@ public interface CrossingScenarioPackage extends EPackage { int CROSSING_SCENARIO__MAX_TIME = 4; /** - * The number of structural features of the 'Crossing Scenario' class. + * The feature id for the 'Horizontal head' reference. * * * @generated * @ordered */ - int CROSSING_SCENARIO_FEATURE_COUNT = 5; + int CROSSING_SCENARIO__HORIZONTAL_HEAD = 5; /** - * The number of operations of the 'Crossing Scenario' class. + * The feature id for the 'Vertical head' reference. * * * @generated * @ordered */ - int CROSSING_SCENARIO_OPERATION_COUNT = 0; + int CROSSING_SCENARIO__VERTICAL_HEAD = 6; /** - * The meta object id for the '{@link crossingScenario.impl.LaneImpl Lane}' class. + * The number of structural features of the 'Crossing Scenario' class. * * - * @see crossingScenario.impl.LaneImpl - * @see crossingScenario.impl.CrossingScenarioPackageImpl#getLane() * @generated + * @ordered */ - int LANE = 1; + int CROSSING_SCENARIO_FEATURE_COUNT = 7; /** - * The feature id for the 'Orientation' attribute. + * The number of operations of the 'Crossing Scenario' class. * * * @generated * @ordered */ - int LANE__ORIENTATION = 0; + int CROSSING_SCENARIO_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link crossingScenario.impl.LaneImpl Lane}' class. + * + * + * @see crossingScenario.impl.LaneImpl + * @see crossingScenario.impl.CrossingScenarioPackageImpl#getLane() + * @generated + */ + int LANE = 1; /** * The feature id for the 'Width' attribute. @@ -156,7 +165,7 @@ public interface CrossingScenarioPackage extends EPackage { * @generated * @ordered */ - int LANE__WIDTH = 1; + int LANE__WIDTH = 0; /** * The feature id for the 'Reference Coord' attribute. @@ -165,7 +174,7 @@ public interface CrossingScenarioPackage extends EPackage { * @generated * @ordered */ - int LANE__REFERENCE_COORD = 2; + int LANE__REFERENCE_COORD = 1; /** * The feature id for the 'Prev Lane' reference. @@ -174,7 +183,7 @@ public interface CrossingScenarioPackage extends EPackage { * @generated * @ordered */ - int LANE__PREV_LANE = 3; + int LANE__PREV_LANE = 2; /** * The feature id for the 'Actors' reference list. @@ -183,7 +192,7 @@ public interface CrossingScenarioPackage extends EPackage { * @generated * @ordered */ - int LANE__ACTORS = 4; + int LANE__ACTORS = 3; /** * The feature id for the 'Num Width' attribute. @@ -192,7 +201,7 @@ public interface CrossingScenarioPackage extends EPackage { * @generated * @ordered */ - int LANE__NUM_WIDTH = 5; + int LANE__NUM_WIDTH = 4; /** * The number of structural features of the 'Lane' class. @@ -201,7 +210,7 @@ public interface CrossingScenarioPackage extends EPackage { * @generated * @ordered */ - int LANE_FEATURE_COUNT = 6; + int LANE_FEATURE_COUNT = 5; /** * The number of operations of the 'Lane' class. @@ -799,14 +808,150 @@ public interface CrossingScenarioPackage extends EPackage { int VEHICLE_OPERATION_COUNT = ACTOR_OPERATION_COUNT + 0; /** - * The meta object id for the '{@link crossingScenario.Orientation Orientation}' enum. + * The meta object id for the '{@link crossingScenario.impl.Lane_HorizontalImpl Lane Horizontal}' class. + * + * + * @see crossingScenario.impl.Lane_HorizontalImpl + * @see crossingScenario.impl.CrossingScenarioPackageImpl#getLane_Horizontal() + * @generated + */ + int LANE_HORIZONTAL = 12; + + /** + * The feature id for the 'Width' attribute. + * + * + * @generated + * @ordered + */ + int LANE_HORIZONTAL__WIDTH = LANE__WIDTH; + + /** + * The feature id for the 'Reference Coord' attribute. + * + * + * @generated + * @ordered + */ + int LANE_HORIZONTAL__REFERENCE_COORD = LANE__REFERENCE_COORD; + + /** + * The feature id for the 'Prev Lane' reference. + * + * + * @generated + * @ordered + */ + int LANE_HORIZONTAL__PREV_LANE = LANE__PREV_LANE; + + /** + * The feature id for the 'Actors' reference list. + * + * + * @generated + * @ordered + */ + int LANE_HORIZONTAL__ACTORS = LANE__ACTORS; + + /** + * The feature id for the 'Num Width' attribute. + * + * + * @generated + * @ordered + */ + int LANE_HORIZONTAL__NUM_WIDTH = LANE__NUM_WIDTH; + + /** + * The number of structural features of the 'Lane Horizontal' class. + * + * + * @generated + * @ordered + */ + int LANE_HORIZONTAL_FEATURE_COUNT = LANE_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Lane Horizontal' class. + * + * + * @generated + * @ordered + */ + int LANE_HORIZONTAL_OPERATION_COUNT = LANE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link crossingScenario.impl.Lane_VerticalImpl Lane Vertical}' class. + * + * + * @see crossingScenario.impl.Lane_VerticalImpl + * @see crossingScenario.impl.CrossingScenarioPackageImpl#getLane_Vertical() + * @generated + */ + int LANE_VERTICAL = 13; + + /** + * The feature id for the 'Width' attribute. + * + * + * @generated + * @ordered + */ + int LANE_VERTICAL__WIDTH = LANE__WIDTH; + + /** + * The feature id for the 'Reference Coord' attribute. * * - * @see crossingScenario.Orientation - * @see crossingScenario.impl.CrossingScenarioPackageImpl#getOrientation() * @generated + * @ordered */ - int ORIENTATION = 12; + int LANE_VERTICAL__REFERENCE_COORD = LANE__REFERENCE_COORD; + + /** + * The feature id for the 'Prev Lane' reference. + * + * + * @generated + * @ordered + */ + int LANE_VERTICAL__PREV_LANE = LANE__PREV_LANE; + + /** + * The feature id for the 'Actors' reference list. + * + * + * @generated + * @ordered + */ + int LANE_VERTICAL__ACTORS = LANE__ACTORS; + + /** + * The feature id for the 'Num Width' attribute. + * + * + * @generated + * @ordered + */ + int LANE_VERTICAL__NUM_WIDTH = LANE__NUM_WIDTH; + + /** + * The number of structural features of the 'Lane Vertical' class. + * + * + * @generated + * @ordered + */ + int LANE_VERTICAL_FEATURE_COUNT = LANE_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Lane Vertical' class. + * + * + * @generated + * @ordered + */ + int LANE_VERTICAL_OPERATION_COUNT = LANE_OPERATION_COUNT + 0; /** * The meta object id for the '{@link crossingScenario.Size Size}' enum. @@ -816,7 +961,7 @@ public interface CrossingScenarioPackage extends EPackage { * @see crossingScenario.impl.CrossingScenarioPackageImpl#getSize() * @generated */ - int SIZE = 13; + int SIZE = 14; /** * The meta object id for the '{@link crossingScenario.Distance Distance}' enum. @@ -826,7 +971,7 @@ public interface CrossingScenarioPackage extends EPackage { * @see crossingScenario.impl.CrossingScenarioPackageImpl#getDistance() * @generated */ - int DISTANCE = 14; + int DISTANCE = 15; /** @@ -895,25 +1040,36 @@ public interface CrossingScenarioPackage extends EPackage { EAttribute getCrossingScenario_MaxTime(); /** - * Returns the meta object for class '{@link crossingScenario.Lane Lane}'. + * Returns the meta object for the reference '{@link crossingScenario.CrossingScenario#getHorizontal_head Horizontal head}'. * * - * @return the meta object for class 'Lane'. - * @see crossingScenario.Lane + * @return the meta object for the reference 'Horizontal head'. + * @see crossingScenario.CrossingScenario#getHorizontal_head() + * @see #getCrossingScenario() * @generated */ - EClass getLane(); + EReference getCrossingScenario_Horizontal_head(); /** - * Returns the meta object for the attribute '{@link crossingScenario.Lane#getOrientation Orientation}'. + * Returns the meta object for the reference '{@link crossingScenario.CrossingScenario#getVertical_head Vertical head}'. * * - * @return the meta object for the attribute 'Orientation'. - * @see crossingScenario.Lane#getOrientation() - * @see #getLane() + * @return the meta object for the reference 'Vertical head'. + * @see crossingScenario.CrossingScenario#getVertical_head() + * @see #getCrossingScenario() + * @generated + */ + EReference getCrossingScenario_Vertical_head(); + + /** + * Returns the meta object for class '{@link crossingScenario.Lane Lane}'. + * + * + * @return the meta object for class 'Lane'. + * @see crossingScenario.Lane * @generated */ - EAttribute getLane_Orientation(); + EClass getLane(); /** * Returns the meta object for the attribute '{@link crossingScenario.Lane#getWidth Width}'. @@ -1203,14 +1359,24 @@ public interface CrossingScenarioPackage extends EPackage { EClass getVehicle(); /** - * Returns the meta object for enum '{@link crossingScenario.Orientation Orientation}'. + * Returns the meta object for class '{@link crossingScenario.Lane_Horizontal Lane Horizontal}'. + * + * + * @return the meta object for class 'Lane Horizontal'. + * @see crossingScenario.Lane_Horizontal + * @generated + */ + EClass getLane_Horizontal(); + + /** + * Returns the meta object for class '{@link crossingScenario.Lane_Vertical Lane Vertical}'. * * - * @return the meta object for enum 'Orientation'. - * @see crossingScenario.Orientation + * @return the meta object for class 'Lane Vertical'. + * @see crossingScenario.Lane_Vertical * @generated */ - EEnum getOrientation(); + EClass getLane_Vertical(); /** * Returns the meta object for enum '{@link crossingScenario.Size Size}'. @@ -1306,22 +1472,30 @@ public interface CrossingScenarioPackage extends EPackage { EAttribute CROSSING_SCENARIO__MAX_TIME = eINSTANCE.getCrossingScenario_MaxTime(); /** - * The meta object literal for the '{@link crossingScenario.impl.LaneImpl Lane}' class. + * The meta object literal for the 'Horizontal head' reference feature. * * - * @see crossingScenario.impl.LaneImpl - * @see crossingScenario.impl.CrossingScenarioPackageImpl#getLane() * @generated */ - EClass LANE = eINSTANCE.getLane(); + EReference CROSSING_SCENARIO__HORIZONTAL_HEAD = eINSTANCE.getCrossingScenario_Horizontal_head(); + + /** + * The meta object literal for the 'Vertical head' reference feature. + * + * + * @generated + */ + EReference CROSSING_SCENARIO__VERTICAL_HEAD = eINSTANCE.getCrossingScenario_Vertical_head(); /** - * The meta object literal for the 'Orientation' attribute feature. + * The meta object literal for the '{@link crossingScenario.impl.LaneImpl Lane}' class. * * + * @see crossingScenario.impl.LaneImpl + * @see crossingScenario.impl.CrossingScenarioPackageImpl#getLane() * @generated */ - EAttribute LANE__ORIENTATION = eINSTANCE.getLane_Orientation(); + EClass LANE = eINSTANCE.getLane(); /** * The meta object literal for the 'Width' attribute feature. @@ -1560,14 +1734,24 @@ public interface CrossingScenarioPackage extends EPackage { EClass VEHICLE = eINSTANCE.getVehicle(); /** - * The meta object literal for the '{@link crossingScenario.Orientation Orientation}' enum. + * The meta object literal for the '{@link crossingScenario.impl.Lane_HorizontalImpl Lane Horizontal}' class. + * + * + * @see crossingScenario.impl.Lane_HorizontalImpl + * @see crossingScenario.impl.CrossingScenarioPackageImpl#getLane_Horizontal() + * @generated + */ + EClass LANE_HORIZONTAL = eINSTANCE.getLane_Horizontal(); + + /** + * The meta object literal for the '{@link crossingScenario.impl.Lane_VerticalImpl Lane Vertical}' class. * * - * @see crossingScenario.Orientation - * @see crossingScenario.impl.CrossingScenarioPackageImpl#getOrientation() + * @see crossingScenario.impl.Lane_VerticalImpl + * @see crossingScenario.impl.CrossingScenarioPackageImpl#getLane_Vertical() * @generated */ - EEnum ORIENTATION = eINSTANCE.getOrientation(); + EClass LANE_VERTICAL = eINSTANCE.getLane_Vertical(); /** * The meta object literal for the '{@link crossingScenario.Size Size}' enum. diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/Lane.java b/Domains/crossingScenario/ecore-gen/crossingScenario/Lane.java index fd04b3c9..d27cf644 100644 --- a/Domains/crossingScenario/ecore-gen/crossingScenario/Lane.java +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/Lane.java @@ -15,7 +15,6 @@ import org.eclipse.emf.ecore.EObject; * The following features are supported: *

    * * * @see crossingScenario.CrossingScenarioPackage#getLane() - * @model + * @model abstract="true" * @generated */ public interface Lane extends EObject { - /** - * Returns the value of the 'Orientation' attribute. - * The literals are from the enumeration {@link crossingScenario.Orientation}. - * - * - * @return the value of the 'Orientation' attribute. - * @see crossingScenario.Orientation - * @see #setOrientation(Orientation) - * @see crossingScenario.CrossingScenarioPackage#getLane_Orientation() - * @model required="true" - * @generated - */ - Orientation getOrientation(); - - /** - * Sets the value of the '{@link crossingScenario.Lane#getOrientation Orientation}' attribute. - * - * - * @param value the new value of the 'Orientation' attribute. - * @see crossingScenario.Orientation - * @see #getOrientation() - * @generated - */ - void setOrientation(Orientation value); - /** * Returns the value of the 'Width' attribute. * The literals are from the enumeration {@link crossingScenario.Size}. diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/Lane_Horizontal.java b/Domains/crossingScenario/ecore-gen/crossingScenario/Lane_Horizontal.java new file mode 100644 index 00000000..aec6413e --- /dev/null +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/Lane_Horizontal.java @@ -0,0 +1,17 @@ +/** + */ +package crossingScenario; + + +/** + * + * A representation of the model object 'Lane Horizontal'. + * + * + * + * @see crossingScenario.CrossingScenarioPackage#getLane_Horizontal() + * @model + * @generated + */ +public interface Lane_Horizontal extends Lane { +} // Lane_Horizontal diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/Lane_Vertical.java b/Domains/crossingScenario/ecore-gen/crossingScenario/Lane_Vertical.java new file mode 100644 index 00000000..cf818bc2 --- /dev/null +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/Lane_Vertical.java @@ -0,0 +1,17 @@ +/** + */ +package crossingScenario; + + +/** + * + * A representation of the model object 'Lane Vertical'. + * + * + * + * @see crossingScenario.CrossingScenarioPackage#getLane_Vertical() + * @model + * @generated + */ +public interface Lane_Vertical extends Lane { +} // Lane_Vertical diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioFactoryImpl.java b/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioFactoryImpl.java index 6e5bab16..ee407bc5 100644 --- a/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioFactoryImpl.java +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioFactoryImpl.java @@ -58,13 +58,14 @@ public class CrossingScenarioFactoryImpl extends EFactoryImpl implements Crossin public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case CrossingScenarioPackage.CROSSING_SCENARIO: return createCrossingScenario(); - case CrossingScenarioPackage.LANE: return createLane(); case CrossingScenarioPackage.VISION_BLOCKED: return createVisionBlocked(); case CrossingScenarioPackage.SEPARATION_DISTANCE: return createSeparationDistance(); case CrossingScenarioPackage.COLLISION_EXISTS: return createCollisionExists(); case CrossingScenarioPackage.COLLISION_DOES_NOT_EXIST: return createCollisionDoesNotExist(); case CrossingScenarioPackage.PEDESTRIAN: return createPedestrian(); case CrossingScenarioPackage.VEHICLE: return createVehicle(); + case CrossingScenarioPackage.LANE_HORIZONTAL: return createLane_Horizontal(); + case CrossingScenarioPackage.LANE_VERTICAL: return createLane_Vertical(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } @@ -78,8 +79,6 @@ public class CrossingScenarioFactoryImpl extends EFactoryImpl implements Crossin @Override public Object createFromString(EDataType eDataType, String initialValue) { switch (eDataType.getClassifierID()) { - case CrossingScenarioPackage.ORIENTATION: - return createOrientationFromString(eDataType, initialValue); case CrossingScenarioPackage.SIZE: return createSizeFromString(eDataType, initialValue); case CrossingScenarioPackage.DISTANCE: @@ -97,8 +96,6 @@ public class CrossingScenarioFactoryImpl extends EFactoryImpl implements Crossin @Override public String convertToString(EDataType eDataType, Object instanceValue) { switch (eDataType.getClassifierID()) { - case CrossingScenarioPackage.ORIENTATION: - return convertOrientationToString(eDataType, instanceValue); case CrossingScenarioPackage.SIZE: return convertSizeToString(eDataType, instanceValue); case CrossingScenarioPackage.DISTANCE: @@ -119,17 +116,6 @@ public class CrossingScenarioFactoryImpl extends EFactoryImpl implements Crossin return crossingScenario; } - /** - * - * - * @generated - */ - @Override - public Lane createLane() { - LaneImpl lane = new LaneImpl(); - return lane; - } - /** * * @@ -201,10 +187,10 @@ public class CrossingScenarioFactoryImpl extends EFactoryImpl implements Crossin * * @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; + @Override + public Lane_Horizontal createLane_Horizontal() { + Lane_HorizontalImpl lane_Horizontal = new Lane_HorizontalImpl(); + return lane_Horizontal; } /** @@ -212,8 +198,10 @@ public class CrossingScenarioFactoryImpl extends EFactoryImpl implements Crossin * * @generated */ - public String convertOrientationToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + @Override + public Lane_Vertical createLane_Vertical() { + Lane_VerticalImpl lane_Vertical = new Lane_VerticalImpl(); + return lane_Vertical; } /** diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioImpl.java b/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioImpl.java index ad8ee90d..5dd65a39 100644 --- a/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioImpl.java +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioImpl.java @@ -7,6 +7,8 @@ import crossingScenario.CrossingScenario; import crossingScenario.CrossingScenarioPackage; import crossingScenario.Lane; +import crossingScenario.Lane_Horizontal; +import crossingScenario.Lane_Vertical; import java.util.Collection; import org.eclipse.emf.common.notify.Notification; @@ -36,6 +38,8 @@ import org.eclipse.emf.ecore.util.InternalEList; *
  • {@link crossingScenario.impl.CrossingScenarioImpl#getActors Actors}
  • *
  • {@link crossingScenario.impl.CrossingScenarioImpl#getLanes Lanes}
  • *
  • {@link crossingScenario.impl.CrossingScenarioImpl#getMaxTime Max Time}
  • + *
  • {@link crossingScenario.impl.CrossingScenarioImpl#getHorizontal_head Horizontal head}
  • + *
  • {@link crossingScenario.impl.CrossingScenarioImpl#getVertical_head Vertical head}
  • * * * @generated @@ -121,6 +125,26 @@ public class CrossingScenarioImpl extends MinimalEObjectImpl.Container implement */ protected double maxTime = MAX_TIME_EDEFAULT; + /** + * The cached value of the '{@link #getHorizontal_head() Horizontal head}' reference. + * + * + * @see #getHorizontal_head() + * @generated + * @ordered + */ + protected Lane_Horizontal horizontal_head; + + /** + * The cached value of the '{@link #getVertical_head() Vertical head}' reference. + * + * + * @see #getVertical_head() + * @generated + * @ordered + */ + protected Lane_Vertical vertical_head; + /** * * @@ -235,6 +259,86 @@ public class CrossingScenarioImpl extends MinimalEObjectImpl.Container implement eNotify(new ENotificationImpl(this, Notification.SET, CrossingScenarioPackage.CROSSING_SCENARIO__MAX_TIME, oldMaxTime, maxTime)); } + /** + * + * + * @generated + */ + @Override + public Lane_Horizontal getHorizontal_head() { + if (horizontal_head != null && horizontal_head.eIsProxy()) { + InternalEObject oldHorizontal_head = (InternalEObject)horizontal_head; + horizontal_head = (Lane_Horizontal)eResolveProxy(oldHorizontal_head); + if (horizontal_head != oldHorizontal_head) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, CrossingScenarioPackage.CROSSING_SCENARIO__HORIZONTAL_HEAD, oldHorizontal_head, horizontal_head)); + } + } + return horizontal_head; + } + + /** + * + * + * @generated + */ + public Lane_Horizontal basicGetHorizontal_head() { + return horizontal_head; + } + + /** + * + * + * @generated + */ + @Override + public void setHorizontal_head(Lane_Horizontal newHorizontal_head) { + Lane_Horizontal oldHorizontal_head = horizontal_head; + horizontal_head = newHorizontal_head; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CrossingScenarioPackage.CROSSING_SCENARIO__HORIZONTAL_HEAD, oldHorizontal_head, horizontal_head)); + } + + /** + * + * + * @generated + */ + @Override + public Lane_Vertical getVertical_head() { + if (vertical_head != null && vertical_head.eIsProxy()) { + InternalEObject oldVertical_head = (InternalEObject)vertical_head; + vertical_head = (Lane_Vertical)eResolveProxy(oldVertical_head); + if (vertical_head != oldVertical_head) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, CrossingScenarioPackage.CROSSING_SCENARIO__VERTICAL_HEAD, oldVertical_head, vertical_head)); + } + } + return vertical_head; + } + + /** + * + * + * @generated + */ + public Lane_Vertical basicGetVertical_head() { + return vertical_head; + } + + /** + * + * + * @generated + */ + @Override + public void setVertical_head(Lane_Vertical newVertical_head) { + Lane_Vertical oldVertical_head = vertical_head; + vertical_head = newVertical_head; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CrossingScenarioPackage.CROSSING_SCENARIO__VERTICAL_HEAD, oldVertical_head, vertical_head)); + } + /** * * @@ -269,6 +373,12 @@ public class CrossingScenarioImpl extends MinimalEObjectImpl.Container implement return getLanes(); case CrossingScenarioPackage.CROSSING_SCENARIO__MAX_TIME: return getMaxTime(); + case CrossingScenarioPackage.CROSSING_SCENARIO__HORIZONTAL_HEAD: + if (resolve) return getHorizontal_head(); + return basicGetHorizontal_head(); + case CrossingScenarioPackage.CROSSING_SCENARIO__VERTICAL_HEAD: + if (resolve) return getVertical_head(); + return basicGetVertical_head(); } return super.eGet(featureID, resolve, coreType); } @@ -299,6 +409,12 @@ public class CrossingScenarioImpl extends MinimalEObjectImpl.Container implement case CrossingScenarioPackage.CROSSING_SCENARIO__MAX_TIME: setMaxTime((Double)newValue); return; + case CrossingScenarioPackage.CROSSING_SCENARIO__HORIZONTAL_HEAD: + setHorizontal_head((Lane_Horizontal)newValue); + return; + case CrossingScenarioPackage.CROSSING_SCENARIO__VERTICAL_HEAD: + setVertical_head((Lane_Vertical)newValue); + return; } super.eSet(featureID, newValue); } @@ -326,6 +442,12 @@ public class CrossingScenarioImpl extends MinimalEObjectImpl.Container implement case CrossingScenarioPackage.CROSSING_SCENARIO__MAX_TIME: setMaxTime(MAX_TIME_EDEFAULT); return; + case CrossingScenarioPackage.CROSSING_SCENARIO__HORIZONTAL_HEAD: + setHorizontal_head((Lane_Horizontal)null); + return; + case CrossingScenarioPackage.CROSSING_SCENARIO__VERTICAL_HEAD: + setVertical_head((Lane_Vertical)null); + return; } super.eUnset(featureID); } @@ -348,6 +470,10 @@ public class CrossingScenarioImpl extends MinimalEObjectImpl.Container implement return lanes != null && !lanes.isEmpty(); case CrossingScenarioPackage.CROSSING_SCENARIO__MAX_TIME: return maxTime != MAX_TIME_EDEFAULT; + case CrossingScenarioPackage.CROSSING_SCENARIO__HORIZONTAL_HEAD: + return horizontal_head != null; + case CrossingScenarioPackage.CROSSING_SCENARIO__VERTICAL_HEAD: + return vertical_head != null; } return super.eIsSet(featureID); } diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioPackageImpl.java b/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioPackageImpl.java index 3d2ccc0d..b87d2a4d 100644 --- a/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioPackageImpl.java +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/impl/CrossingScenarioPackageImpl.java @@ -10,7 +10,8 @@ import crossingScenario.CrossingScenarioFactory; import crossingScenario.CrossingScenarioPackage; import crossingScenario.Distance; import crossingScenario.Lane; -import crossingScenario.Orientation; +import crossingScenario.Lane_Horizontal; +import crossingScenario.Lane_Vertical; import crossingScenario.Pedestrian; import crossingScenario.Relation; import crossingScenario.SeparationDistance; @@ -124,7 +125,14 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin * * @generated */ - private EEnum orientationEEnum = null; + private EClass lane_HorizontalEClass = null; + + /** + * + * + * @generated + */ + private EClass lane_VerticalEClass = null; /** * @@ -267,8 +275,8 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin * @generated */ @Override - public EClass getLane() { - return laneEClass; + public EReference getCrossingScenario_Horizontal_head() { + return (EReference)crossingScenarioEClass.getEStructuralFeatures().get(5); } /** @@ -277,8 +285,18 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin * @generated */ @Override - public EAttribute getLane_Orientation() { - return (EAttribute)laneEClass.getEStructuralFeatures().get(0); + public EReference getCrossingScenario_Vertical_head() { + return (EReference)crossingScenarioEClass.getEStructuralFeatures().get(6); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLane() { + return laneEClass; } /** @@ -288,7 +306,7 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin */ @Override public EAttribute getLane_Width() { - return (EAttribute)laneEClass.getEStructuralFeatures().get(1); + return (EAttribute)laneEClass.getEStructuralFeatures().get(0); } /** @@ -298,7 +316,7 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin */ @Override public EAttribute getLane_ReferenceCoord() { - return (EAttribute)laneEClass.getEStructuralFeatures().get(2); + return (EAttribute)laneEClass.getEStructuralFeatures().get(1); } /** @@ -308,7 +326,7 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin */ @Override public EReference getLane_PrevLane() { - return (EReference)laneEClass.getEStructuralFeatures().get(3); + return (EReference)laneEClass.getEStructuralFeatures().get(2); } /** @@ -318,7 +336,7 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin */ @Override public EReference getLane_Actors() { - return (EReference)laneEClass.getEStructuralFeatures().get(4); + return (EReference)laneEClass.getEStructuralFeatures().get(3); } /** @@ -328,7 +346,7 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin */ @Override public EAttribute getLane_NumWidth() { - return (EAttribute)laneEClass.getEStructuralFeatures().get(5); + return (EAttribute)laneEClass.getEStructuralFeatures().get(4); } /** @@ -557,8 +575,18 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin * @generated */ @Override - public EEnum getOrientation() { - return orientationEEnum; + public EClass getLane_Horizontal() { + return lane_HorizontalEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getLane_Vertical() { + return lane_VerticalEClass; } /** @@ -616,9 +644,10 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin createEReference(crossingScenarioEClass, CROSSING_SCENARIO__ACTORS); createEReference(crossingScenarioEClass, CROSSING_SCENARIO__LANES); createEAttribute(crossingScenarioEClass, CROSSING_SCENARIO__MAX_TIME); + createEReference(crossingScenarioEClass, CROSSING_SCENARIO__HORIZONTAL_HEAD); + createEReference(crossingScenarioEClass, CROSSING_SCENARIO__VERTICAL_HEAD); laneEClass = createEClass(LANE); - createEAttribute(laneEClass, LANE__ORIENTATION); createEAttribute(laneEClass, LANE__WIDTH); createEAttribute(laneEClass, LANE__REFERENCE_COORD); createEReference(laneEClass, LANE__PREV_LANE); @@ -657,8 +686,11 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin vehicleEClass = createEClass(VEHICLE); + lane_HorizontalEClass = createEClass(LANE_HORIZONTAL); + + lane_VerticalEClass = createEClass(LANE_VERTICAL); + // Create enums - orientationEEnum = createEEnum(ORIENTATION); sizeEEnum = createEEnum(SIZE); distanceEEnum = createEEnum(DISTANCE); } @@ -699,6 +731,8 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin collisionDoesNotExistEClass.getESuperTypes().add(this.getTemporalRelation()); pedestrianEClass.getESuperTypes().add(this.getActor()); vehicleEClass.getESuperTypes().add(this.getActor()); + lane_HorizontalEClass.getESuperTypes().add(this.getLane()); + lane_VerticalEClass.getESuperTypes().add(this.getLane()); // Initialize classes, features, and operations; add parameters initEClass(crossingScenarioEClass, CrossingScenario.class, "CrossingScenario", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -707,9 +741,10 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin initEReference(getCrossingScenario_Actors(), this.getActor(), null, "actors", null, 0, -1, CrossingScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getCrossingScenario_Lanes(), this.getLane(), null, "lanes", null, 0, -1, CrossingScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getCrossingScenario_MaxTime(), ecorePackage.getEDouble(), "maxTime", null, 0, 1, CrossingScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCrossingScenario_Horizontal_head(), this.getLane_Horizontal(), null, "horizontal_head", null, 1, 1, CrossingScenario.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCrossingScenario_Vertical_head(), this.getLane_Vertical(), null, "vertical_head", null, 1, 1, CrossingScenario.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); + initEClass(laneEClass, Lane.class, "Lane", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 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_PrevLane(), this.getLane(), null, "prevLane", null, 0, 1, Lane.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -748,11 +783,11 @@ public class CrossingScenarioPackageImpl extends EPackageImpl implements Crossin initEClass(vehicleEClass, Vehicle.class, "Vehicle", !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); + initEClass(lane_HorizontalEClass, Lane_Horizontal.class, "Lane_Horizontal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(lane_VerticalEClass, Lane_Vertical.class, "Lane_Vertical", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + // Initialize enums and add enum literals initEEnum(sizeEEnum, Size.class, "Size"); addEEnumLiteral(sizeEEnum, Size.SSMALL); addEEnumLiteral(sizeEEnum, Size.SMED); diff --git a/Domains/crossingScenario/ecore-gen/crossingScenario/impl/LaneImpl.java b/Domains/crossingScenario/ecore-gen/crossingScenario/impl/LaneImpl.java index 110f26c8..c0a25d6e 100644 --- a/Domains/crossingScenario/ecore-gen/crossingScenario/impl/LaneImpl.java +++ b/Domains/crossingScenario/ecore-gen/crossingScenario/impl/LaneImpl.java @@ -5,7 +5,6 @@ package crossingScenario.impl; import crossingScenario.Actor; import crossingScenario.CrossingScenarioPackage; import crossingScenario.Lane; -import crossingScenario.Orientation; import crossingScenario.Size; import java.util.Collection; @@ -32,7 +31,6 @@ import org.eclipse.emf.ecore.util.InternalEList; * The following features are implemented: *

    *