From ac3d399075bda8c77a74a4553ee7b7217a50734c Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Wed, 21 Jun 2017 18:39:47 +0200 Subject: Added missing types: exit state, final state and choice --- .../.classpath | 2 +- .../yakindu/sgraph/yakindumm/Transition.java | 2 +- .../yakindu/sgraph/yakindumm/YakindummFactory.java | 27 + .../yakindu/sgraph/yakindumm/YakindummPackage.java | 200 ++ .../yakindumm/impl/YakindummFactoryImpl.java | 33 + .../yakindumm/impl/YakindummPackageImpl.java | 68 +- .../yakindumm/util/YakindummAdapterFactory.java | 54 + .../sgraph/yakindumm/util/YakindummSwitch.java | 69 + .../model/yakindu_simplified.aird | 2476 +++++++++++--------- .../model/yakindu_simplified.ecore | 3 + .../model/yakindu_simplified.genmodel | 2 + .../plugin.xml | 24 +- .../partialsnapshot_mavo/yakindu/patterns.vql | 110 +- 13 files changed, 1858 insertions(+), 1212 deletions(-) (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.classpath index e97c71bb..9e7c2c80 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.classpath +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/.classpath @@ -5,6 +5,6 @@ - + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Transition.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Transition.java index a27e46e8..8d30734c 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Transition.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Transition.java @@ -63,7 +63,7 @@ public interface Transition extends EObject { * @see #setSource(Vertex) * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getTransition_Source() * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex#getOutgoingTransitions - * @model opposite="outgoingTransitions" required="true" transient="false" ordered="false" + * @model opposite="outgoingTransitions" transient="false" ordered="false" * @generated */ Vertex getSource(); diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummFactory.java index 51751f8c..bbf75ada 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummFactory.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummFactory.java @@ -75,6 +75,33 @@ public interface YakindummFactory extends EFactory { */ State createState(); + /** + * Returns a new object of class 'Choice'. + * + * + * @return a new object of class 'Choice'. + * @generated + */ + Choice createChoice(); + + /** + * Returns a new object of class 'Exit'. + * + * + * @return a new object of class 'Exit'. + * @generated + */ + Exit createExit(); + + /** + * Returns a new object of class 'Final State'. + * + * + * @return a new object of class 'Final State'. + * @generated + */ + FinalState createFinalState(); + /** * Returns the package supported by this factory. * diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummPackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummPackage.java index 01f62588..18a4b105 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummPackage.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/YakindummPackage.java @@ -498,6 +498,146 @@ public interface YakindummPackage extends EPackage { int STATE_OPERATION_COUNT = REGULAR_STATE_OPERATION_COUNT + 0; + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.ChoiceImpl Choice}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.ChoiceImpl + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getChoice() + * @generated + */ + int CHOICE = 10; + + /** + * The feature id for the 'Incoming Transitions' reference list. + * + * + * @generated + * @ordered + */ + int CHOICE__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS; + + /** + * The feature id for the 'Outgoing Transitions' containment reference list. + * + * + * @generated + * @ordered + */ + int CHOICE__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS; + + /** + * The number of structural features of the 'Choice' class. + * + * + * @generated + * @ordered + */ + int CHOICE_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Choice' class. + * + * + * @generated + * @ordered + */ + int CHOICE_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.ExitImpl Exit}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.ExitImpl + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getExit() + * @generated + */ + int EXIT = 11; + + /** + * The feature id for the 'Incoming Transitions' reference list. + * + * + * @generated + * @ordered + */ + int EXIT__INCOMING_TRANSITIONS = PSEUDOSTATE__INCOMING_TRANSITIONS; + + /** + * The feature id for the 'Outgoing Transitions' containment reference list. + * + * + * @generated + * @ordered + */ + int EXIT__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS; + + /** + * The number of structural features of the 'Exit' class. + * + * + * @generated + * @ordered + */ + int EXIT_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Exit' class. + * + * + * @generated + * @ordered + */ + int EXIT_OPERATION_COUNT = PSEUDOSTATE_OPERATION_COUNT + 0; + + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.FinalStateImpl Final State}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.FinalStateImpl + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getFinalState() + * @generated + */ + int FINAL_STATE = 12; + + /** + * The feature id for the 'Incoming Transitions' reference list. + * + * + * @generated + * @ordered + */ + int FINAL_STATE__INCOMING_TRANSITIONS = REGULAR_STATE__INCOMING_TRANSITIONS; + + /** + * The feature id for the 'Outgoing Transitions' containment reference list. + * + * + * @generated + * @ordered + */ + int FINAL_STATE__OUTGOING_TRANSITIONS = REGULAR_STATE__OUTGOING_TRANSITIONS; + + /** + * The number of structural features of the 'Final State' class. + * + * + * @generated + * @ordered + */ + int FINAL_STATE_FEATURE_COUNT = REGULAR_STATE_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Final State' class. + * + * + * @generated + * @ordered + */ + int FINAL_STATE_OPERATION_COUNT = REGULAR_STATE_OPERATION_COUNT + 0; + + /** * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate Pseudostate}'. * @@ -664,6 +804,36 @@ public interface YakindummPackage extends EPackage { */ EReference getCompositeElement_Regions(); + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Choice Choice}'. + * + * + * @return the meta object for class 'Choice'. + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Choice + * @generated + */ + EClass getChoice(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Exit Exit}'. + * + * + * @return the meta object for class 'Exit'. + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Exit + * @generated + */ + EClass getExit(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.FinalState Final State}'. + * + * + * @return the meta object for class 'Final State'. + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.FinalState + * @generated + */ + EClass getFinalState(); + /** * Returns the factory that creates the instances of the model. * @@ -835,6 +1005,36 @@ public interface YakindummPackage extends EPackage { */ EReference COMPOSITE_ELEMENT__REGIONS = eINSTANCE.getCompositeElement_Regions(); + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.ChoiceImpl Choice}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.ChoiceImpl + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getChoice() + * @generated + */ + EClass CHOICE = eINSTANCE.getChoice(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.ExitImpl Exit}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.ExitImpl + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getExit() + * @generated + */ + EClass EXIT = eINSTANCE.getExit(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.FinalStateImpl Final State}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.FinalStateImpl + * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getFinalState() + * @generated + */ + EClass FINAL_STATE = eINSTANCE.getFinalState(); + } } //YakindummPackage diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java index 3578e66a..9c4fc4f1 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java @@ -62,6 +62,9 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto case YakindummPackage.ENTRY: return createEntry(); case YakindummPackage.SYNCHRONIZATION: return createSynchronization(); case YakindummPackage.STATE: return createState(); + case YakindummPackage.CHOICE: return createChoice(); + case YakindummPackage.EXIT: return createExit(); + case YakindummPackage.FINAL_STATE: return createFinalState(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } @@ -127,6 +130,36 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto return state; } + /** + * + * + * @generated + */ + public Choice createChoice() { + ChoiceImpl choice = new ChoiceImpl(); + return choice; + } + + /** + * + * + * @generated + */ + public Exit createExit() { + ExitImpl exit = new ExitImpl(); + return exit; + } + + /** + * + * + * @generated + */ + public FinalState createFinalState() { + FinalStateImpl finalState = new FinalStateImpl(); + return finalState; + } + /** * * diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java index 2d8abfab..77092c17 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java @@ -2,8 +2,11 @@ */ package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl; +import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Choice; import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement; import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry; +import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Exit; +import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.FinalState; import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate; import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Region; import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.RegularState; @@ -98,6 +101,27 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka */ private EClass compositeElementEClass = null; + /** + * + * + * @generated + */ + private EClass choiceEClass = null; + + /** + * + * + * @generated + */ + private EClass exitEClass = null; + + /** + * + * + * @generated + */ + private EClass finalStateEClass = null; + /** * Creates an instance of the model Package, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package @@ -303,6 +327,33 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka return (EReference)compositeElementEClass.getEStructuralFeatures().get(0); } + /** + * + * + * @generated + */ + public EClass getChoice() { + return choiceEClass; + } + + /** + * + * + * @generated + */ + public EClass getExit() { + return exitEClass; + } + + /** + * + * + * @generated + */ + public EClass getFinalState() { + return finalStateEClass; + } + /** * * @@ -356,6 +407,12 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka compositeElementEClass = createEClass(COMPOSITE_ELEMENT); createEReference(compositeElementEClass, COMPOSITE_ELEMENT__REGIONS); + + choiceEClass = createEClass(CHOICE); + + exitEClass = createEClass(EXIT); + + finalStateEClass = createEClass(FINAL_STATE); } /** @@ -393,6 +450,9 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka stateEClass.getESuperTypes().add(this.getRegularState()); stateEClass.getESuperTypes().add(this.getCompositeElement()); regularStateEClass.getESuperTypes().add(this.getVertex()); + choiceEClass.getESuperTypes().add(this.getPseudostate()); + exitEClass.getESuperTypes().add(this.getPseudostate()); + finalStateEClass.getESuperTypes().add(this.getRegularState()); // Initialize classes, features, and operations; add parameters initEClass(pseudostateEClass, Pseudostate.class, "Pseudostate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -406,7 +466,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTransition_Target(), this.getVertex(), this.getVertex_IncomingTransitions(), "target", null, 1, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); - initEReference(getTransition_Source(), this.getVertex(), this.getVertex_OutgoingTransitions(), "source", null, 1, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); + initEReference(getTransition_Source(), this.getVertex(), this.getVertex_OutgoingTransitions(), "source", null, 0, 1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); initEClass(statechartEClass, Statechart.class, "Statechart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -421,6 +481,12 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka initEClass(compositeElementEClass, CompositeElement.class, "CompositeElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getCompositeElement_Regions(), this.getRegion(), null, "regions", null, 0, -1, CompositeElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(choiceEClass, Choice.class, "Choice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(exitEClass, Exit.class, "Exit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(finalStateEClass, FinalState.class, "FinalState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + // Create resource createResource(eNS_URI); } diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummAdapterFactory.java index 06393ef6..5fe6c27a 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummAdapterFactory.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummAdapterFactory.java @@ -108,6 +108,18 @@ public class YakindummAdapterFactory extends AdapterFactoryImpl { return createCompositeElementAdapter(); } @Override + public Adapter caseChoice(Choice object) { + return createChoiceAdapter(); + } + @Override + public Adapter caseExit(Exit object) { + return createExitAdapter(); + } + @Override + public Adapter caseFinalState(FinalState object) { + return createFinalStateAdapter(); + } + @Override public Adapter defaultCase(EObject object) { return createEObjectAdapter(); } @@ -267,6 +279,48 @@ public class YakindummAdapterFactory extends AdapterFactoryImpl { return null; } + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Choice Choice}'. + * + * 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 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Choice + * @generated + */ + public Adapter createChoiceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Exit Exit}'. + * + * 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 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Exit + * @generated + */ + public Adapter createExitAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.FinalState Final State}'. + * + * 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 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.FinalState + * @generated + */ + public Adapter createFinalStateAdapter() { + return null; + } + /** * Creates a new adapter for the default case. * diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummSwitch.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummSwitch.java index 269486fb..6e0c3567 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummSwitch.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/util/YakindummSwitch.java @@ -136,6 +136,30 @@ public class YakindummSwitch extends Switch { if (result == null) result = defaultCase(theEObject); return result; } + case YakindummPackage.CHOICE: { + Choice choice = (Choice)theEObject; + T result = caseChoice(choice); + if (result == null) result = casePseudostate(choice); + if (result == null) result = caseVertex(choice); + if (result == null) result = defaultCase(theEObject); + return result; + } + case YakindummPackage.EXIT: { + Exit exit = (Exit)theEObject; + T result = caseExit(exit); + if (result == null) result = casePseudostate(exit); + if (result == null) result = caseVertex(exit); + if (result == null) result = defaultCase(theEObject); + return result; + } + case YakindummPackage.FINAL_STATE: { + FinalState finalState = (FinalState)theEObject; + T result = caseFinalState(finalState); + if (result == null) result = caseRegularState(finalState); + if (result == null) result = caseVertex(finalState); + if (result == null) result = defaultCase(theEObject); + return result; + } default: return defaultCase(theEObject); } } @@ -290,6 +314,51 @@ public class YakindummSwitch extends Switch { return null; } + /** + * Returns the result of interpreting the object as an instance of 'Choice'. + * + * 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 'Choice'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseChoice(Choice object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Exit'. + * + * 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 'Exit'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExit(Exit object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Final State'. + * + * 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 'Final State'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFinalState(FinalState object) { + return null; + } + /** * Returns the result of interpreting the object as an instance of 'EObject'. * diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.aird b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.aird index 544c3d4e..4676d4bf 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.aird +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.aird @@ -1,1167 +1,1331 @@ - - yakindu_simplified.ecore - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - + + + yakindu_simplified.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + labelFormat + backgroundColor + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + labelFormat + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + labelFormat + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - labelFormat - backgroundColor - foregroundColor + + + + + + + + + + routingStyle + + italic - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - labelFormat - backgroundColor - foregroundColor - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - labelFormat - backgroundColor - foregroundColor - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - + + + + + + + + + + + italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - + + + + + + + + + + + italic - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - italic - - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - strokeColor - size - - - labelFormat - - - labelFormat - - - - - - - - - - strokeColor - size - - labelFormat - - - labelFormat - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - + + + + + + + + + + + + italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - labelFormat - backgroundColor - foregroundColor + + + + + + + + + + + + italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - backgroundColor - foregroundColor - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - + + + + + + + + + + + + italic + + + + + + + + + + + strokeColor + size + + + labelFormat + + labelFormat - backgroundColor - foregroundColor - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - backgroundColor - foregroundColor - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - backgroundColor - foregroundColor - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - + + + + + + + + + + strokeColor + size + labelFormat - backgroundColor - foregroundColor - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - backgroundColor - foregroundColor - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - + + + labelFormat + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + + routingStyle + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + labelFormat + backgroundColor + foregroundColor + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + labelFormat + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + labelFormat + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + backgroundColor + foregroundColor + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + italic + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - + + + + + + + + + + + italic - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - italic - - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - strokeColor - size - - - labelFormat - - - labelFormat - - - - - - - - - - strokeColor - size - - labelFormat - - - labelFormat - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + italic + + + + + + + + + + + + + italic + + + + + + + + + + + + italic + + + + + + + + + + + strokeColor + size + + + labelFormat + + + labelFormat + + + + + + + + + + strokeColor + size + + labelFormat + + + labelFormat + + + + + + + + + + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore index 109ec1a7..0d6b4ac6 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore @@ -27,4 +27,7 @@ + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel index e894efb8..4e34cf1d 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel @@ -27,5 +27,7 @@ + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml index 1ec8a6ec..adff6ce6 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml @@ -1,4 +1,8 @@ + + + + @@ -8,11 +12,15 @@ - - + + + + + + + - @@ -22,16 +30,6 @@ - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql index afee1332..e964cfc7 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql @@ -2,6 +2,10 @@ package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu import epackage "hu.bme.mit.inf.yakindumm" +///////// +// Entry +///////// + pattern entryInRegion(r1 : Region, e1 : Entry) { Region.vertices(r1, e1); } @@ -40,21 +44,64 @@ pattern multipleTransitionFromEntry(e : Entry, t1 : Transition, t2: Transition) t1!=t2; } +///////// +// Exit +///////// -@Constraint(severity="error", message="error", key = {s}) -pattern hasNoOutgoing(s : Synchronization) { - neg find transition(_, s, _); +@Constraint(severity="error", message="error", key = {e}) +pattern outgoingFromExit(t : Transition, e : Exit) { + find transition(t, e, _); } -@Constraint(severity="error", message="error", key = {s}) -pattern hasNoIncoming(s : Synchronization) { - neg find transition(_, _, s); +///////// +// Final +///////// + +@Constraint(severity="error", message="error", key = {f}) +pattern outgoingFromFinal(t : Transition, f : FinalState) { + find transition(t, f, _); } +///////// +// State vs Region +///////// + +@Constraint(severity="error", message="error", key = {region}) +pattern noStateInRegion(region: Region) { + neg find StateInRegion(region,_); +} pattern StateInRegion(region: Region, state: State) { Region.vertices(region,state); } +///////// +// Choice +///////// + +@Constraint(severity="error", message="error", key = {c}) +pattern choiceHasNoOutgoing(c : Choice) { + neg find transition(_, c, _); +} + +@Constraint(severity="error", message="error", key = {c}) +pattern choiceHasNoIncoming(c: Choice) { + neg find transition(_, _, c); +} + +///////// +// Synchronization +///////// + +@Constraint(severity="error", message="error", key = {s}) +pattern synchHasNoOutgoing(s : Synchronization) { + neg find transition(_, s, _); +} + +@Constraint(severity="error", message="error", key = {s}) +pattern synchHasNoIncoming(s : Synchronization) { + neg find transition(_, _, s); +} + @Constraint(severity="error", message="error", key = {s}) pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Vertex) { find transition(t1, v1, s); @@ -70,11 +117,6 @@ pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Region.vertices(r, v2); } -@Constraint(severity="error", message="error", key = {region}) -pattern noStateInRegion(region: Region) { - neg find StateInRegion(region,_); -} - @Constraint(severity="error", message="error", key = {s}) pattern notSynchronizingStates(s : Synchronization) { neg find hasMultipleOutgoingTrainsition(s); @@ -142,7 +184,9 @@ pattern hasMultipleRegions(composite: CompositeElement) { region1 != region2; } -// multiplicity constraints +/** + * Simplifying model generation + */ @Constraint(severity="error", message="error", key = {s}) pattern synchThree(s: Synchronization) { Transition.target(t1,s); @@ -160,6 +204,9 @@ pattern synchThree(s: Synchronization) { t1!=t3; } +/** + * Simplifying model generation + */ @Constraint(severity="error", message="error", key = {s1,s2}) pattern twoSynch(s1 : Synchronization, s2 : Synchronization) { Synchronization(s1); @@ -167,31 +214,14 @@ pattern twoSynch(s1 : Synchronization, s2 : Synchronization) { s1 != s2; } -pattern synch(s:Synchronization) { - Synchronization(s); -} -@Constraint(severity="error", message="error", key = {s}) -pattern noSynch(s:Statechart) { - Statechart(s); - neg find synch(_); -} -@Constraint(severity="error", message="error", key = {s}) -pattern noSynch1(s:Statechart) { - Statechart(s); - neg find synch(_); -} -@Constraint(severity="error", message="error", key = {s}) -pattern noSynch2(s:Statechart) { - Statechart(s); - neg find synch(_); -} -@Constraint(severity="error", message="error", key = {s}) -pattern noSynch3(s:Statechart) { - Statechart(s); - neg find synch(_); -} -@Constraint(severity="error", message="error", key = {s}) -pattern noSynch4(s:Statechart) { - Statechart(s); - neg find synch(_); -} \ No newline at end of file +/** + * Model generation task: at least one synch + */ +//@Constraint(severity="error", message="error", key = {s}) +//pattern noSynch(s:Statechart) { +// Statechart(s); +// neg find synch(_); +//} +//pattern synch(s:Synchronization) { +// Synchronization(s); +//} \ No newline at end of file -- cgit v1.2.3-70-g09d2