aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummFactoryImpl.java10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/YakindummPackageImpl.java26
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql216
9 files changed, 134 insertions, 144 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java
index 0e298b95..96c642fb 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/CompositeElementImpl.java
@@ -68,6 +68,7 @@ public abstract class CompositeElementImpl extends MinimalEObjectImpl.Container
68 * <!-- end-user-doc --> 68 * <!-- end-user-doc -->
69 * @generated 69 * @generated
70 */ 70 */
71 @Override
71 public EList<Region> getRegions() { 72 public EList<Region> getRegions() {
72 if (regions == null) { 73 if (regions == null) {
73 regions = new EObjectContainmentEList<Region>(Region.class, this, YakindummPackage.COMPOSITE_ELEMENT__REGIONS); 74 regions = new EObjectContainmentEList<Region>(Region.class, this, YakindummPackage.COMPOSITE_ELEMENT__REGIONS);
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java
index 232e5ab6..06ae652a 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/RegionImpl.java
@@ -68,6 +68,7 @@ public class RegionImpl extends MinimalEObjectImpl.Container implements Region {
68 * <!-- end-user-doc --> 68 * <!-- end-user-doc -->
69 * @generated 69 * @generated
70 */ 70 */
71 @Override
71 public EList<Vertex> getVertices() { 72 public EList<Vertex> getVertices() {
72 if (vertices == null) { 73 if (vertices == null) {
73 vertices = new EObjectContainmentEList<Vertex>(Vertex.class, this, YakindummPackage.REGION__VERTICES); 74 vertices = new EObjectContainmentEList<Vertex>(Vertex.class, this, YakindummPackage.REGION__VERTICES);
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java
index 6da0caec..bb1715f8 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/StateImpl.java
@@ -67,6 +67,7 @@ public class StateImpl extends RegularStateImpl implements State {
67 * <!-- end-user-doc --> 67 * <!-- end-user-doc -->
68 * @generated 68 * @generated
69 */ 69 */
70 @Override
70 public EList<Region> getRegions() { 71 public EList<Region> getRegions() {
71 if (regions == null) { 72 if (regions == null) {
72 regions = new EObjectContainmentEList<Region>(Region.class, this, YakindummPackage.STATE__REGIONS); 73 regions = new EObjectContainmentEList<Region>(Region.class, this, YakindummPackage.STATE__REGIONS);
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java
index ff957869..1a7a275b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/TransitionImpl.java
@@ -66,6 +66,7 @@ public class TransitionImpl extends MinimalEObjectImpl.Container implements Tran
66 * <!-- end-user-doc --> 66 * <!-- end-user-doc -->
67 * @generated 67 * @generated
68 */ 68 */
69 @Override
69 public Vertex getTarget() { 70 public Vertex getTarget() {
70 if (target != null && target.eIsProxy()) { 71 if (target != null && target.eIsProxy()) {
71 InternalEObject oldTarget = (InternalEObject)target; 72 InternalEObject oldTarget = (InternalEObject)target;
@@ -107,6 +108,7 @@ public class TransitionImpl extends MinimalEObjectImpl.Container implements Tran
107 * <!-- end-user-doc --> 108 * <!-- end-user-doc -->
108 * @generated 109 * @generated
109 */ 110 */
111 @Override
110 public void setTarget(Vertex newTarget) { 112 public void setTarget(Vertex newTarget) {
111 if (newTarget != target) { 113 if (newTarget != target) {
112 NotificationChain msgs = null; 114 NotificationChain msgs = null;
@@ -126,6 +128,7 @@ public class TransitionImpl extends MinimalEObjectImpl.Container implements Tran
126 * <!-- end-user-doc --> 128 * <!-- end-user-doc -->
127 * @generated 129 * @generated
128 */ 130 */
131 @Override
129 public Vertex getSource() { 132 public Vertex getSource() {
130 if (eContainerFeatureID() != YakindummPackage.TRANSITION__SOURCE) return null; 133 if (eContainerFeatureID() != YakindummPackage.TRANSITION__SOURCE) return null;
131 return (Vertex)eInternalContainer(); 134 return (Vertex)eInternalContainer();
@@ -146,6 +149,7 @@ public class TransitionImpl extends MinimalEObjectImpl.Container implements Tran
146 * <!-- end-user-doc --> 149 * <!-- end-user-doc -->
147 * @generated 150 * @generated
148 */ 151 */
152 @Override
149 public void setSource(Vertex newSource) { 153 public void setSource(Vertex newSource) {
150 if (newSource != eInternalContainer() || (eContainerFeatureID() != YakindummPackage.TRANSITION__SOURCE && newSource != null)) { 154 if (newSource != eInternalContainer() || (eContainerFeatureID() != YakindummPackage.TRANSITION__SOURCE && newSource != null)) {
151 if (EcoreUtil.isAncestor(this, newSource)) 155 if (EcoreUtil.isAncestor(this, newSource))
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java
index 13df20ee..a2989ade 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/VertexImpl.java
@@ -80,6 +80,7 @@ public abstract class VertexImpl extends MinimalEObjectImpl.Container implements
80 * <!-- end-user-doc --> 80 * <!-- end-user-doc -->
81 * @generated 81 * @generated
82 */ 82 */
83 @Override
83 public EList<Transition> getIncomingTransitions() { 84 public EList<Transition> getIncomingTransitions() {
84 if (incomingTransitions == null) { 85 if (incomingTransitions == null) {
85 incomingTransitions = new EObjectWithInverseResolvingEList<Transition>(Transition.class, this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, YakindummPackage.TRANSITION__TARGET); 86 incomingTransitions = new EObjectWithInverseResolvingEList<Transition>(Transition.class, this, YakindummPackage.VERTEX__INCOMING_TRANSITIONS, YakindummPackage.TRANSITION__TARGET);
@@ -92,6 +93,7 @@ public abstract class VertexImpl extends MinimalEObjectImpl.Container implements
92 * <!-- end-user-doc --> 93 * <!-- end-user-doc -->
93 * @generated 94 * @generated
94 */ 95 */
96 @Override
95 public EList<Transition> getOutgoingTransitions() { 97 public EList<Transition> getOutgoingTransitions() {
96 if (outgoingTransitions == null) { 98 if (outgoingTransitions == null) {
97 outgoingTransitions = new EObjectContainmentWithInverseEList<Transition>(Transition.class, this, YakindummPackage.VERTEX__OUTGOING_TRANSITIONS, YakindummPackage.TRANSITION__SOURCE); 99 outgoingTransitions = new EObjectContainmentWithInverseEList<Transition>(Transition.class, this, YakindummPackage.VERTEX__OUTGOING_TRANSITIONS, YakindummPackage.TRANSITION__SOURCE);
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 9c4fc4f1..79dd5b80 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
@@ -75,6 +75,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
75 * <!-- end-user-doc --> 75 * <!-- end-user-doc -->
76 * @generated 76 * @generated
77 */ 77 */
78 @Override
78 public Region createRegion() { 79 public Region createRegion() {
79 RegionImpl region = new RegionImpl(); 80 RegionImpl region = new RegionImpl();
80 return region; 81 return region;
@@ -85,6 +86,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
85 * <!-- end-user-doc --> 86 * <!-- end-user-doc -->
86 * @generated 87 * @generated
87 */ 88 */
89 @Override
88 public Transition createTransition() { 90 public Transition createTransition() {
89 TransitionImpl transition = new TransitionImpl(); 91 TransitionImpl transition = new TransitionImpl();
90 return transition; 92 return transition;
@@ -95,6 +97,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
95 * <!-- end-user-doc --> 97 * <!-- end-user-doc -->
96 * @generated 98 * @generated
97 */ 99 */
100 @Override
98 public Statechart createStatechart() { 101 public Statechart createStatechart() {
99 StatechartImpl statechart = new StatechartImpl(); 102 StatechartImpl statechart = new StatechartImpl();
100 return statechart; 103 return statechart;
@@ -105,6 +108,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
105 * <!-- end-user-doc --> 108 * <!-- end-user-doc -->
106 * @generated 109 * @generated
107 */ 110 */
111 @Override
108 public Entry createEntry() { 112 public Entry createEntry() {
109 EntryImpl entry = new EntryImpl(); 113 EntryImpl entry = new EntryImpl();
110 return entry; 114 return entry;
@@ -115,6 +119,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
115 * <!-- end-user-doc --> 119 * <!-- end-user-doc -->
116 * @generated 120 * @generated
117 */ 121 */
122 @Override
118 public Synchronization createSynchronization() { 123 public Synchronization createSynchronization() {
119 SynchronizationImpl synchronization = new SynchronizationImpl(); 124 SynchronizationImpl synchronization = new SynchronizationImpl();
120 return synchronization; 125 return synchronization;
@@ -125,6 +130,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
125 * <!-- end-user-doc --> 130 * <!-- end-user-doc -->
126 * @generated 131 * @generated
127 */ 132 */
133 @Override
128 public State createState() { 134 public State createState() {
129 StateImpl state = new StateImpl(); 135 StateImpl state = new StateImpl();
130 return state; 136 return state;
@@ -135,6 +141,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
135 * <!-- end-user-doc --> 141 * <!-- end-user-doc -->
136 * @generated 142 * @generated
137 */ 143 */
144 @Override
138 public Choice createChoice() { 145 public Choice createChoice() {
139 ChoiceImpl choice = new ChoiceImpl(); 146 ChoiceImpl choice = new ChoiceImpl();
140 return choice; 147 return choice;
@@ -145,6 +152,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
145 * <!-- end-user-doc --> 152 * <!-- end-user-doc -->
146 * @generated 153 * @generated
147 */ 154 */
155 @Override
148 public Exit createExit() { 156 public Exit createExit() {
149 ExitImpl exit = new ExitImpl(); 157 ExitImpl exit = new ExitImpl();
150 return exit; 158 return exit;
@@ -155,6 +163,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
155 * <!-- end-user-doc --> 163 * <!-- end-user-doc -->
156 * @generated 164 * @generated
157 */ 165 */
166 @Override
158 public FinalState createFinalState() { 167 public FinalState createFinalState() {
159 FinalStateImpl finalState = new FinalStateImpl(); 168 FinalStateImpl finalState = new FinalStateImpl();
160 return finalState; 169 return finalState;
@@ -165,6 +174,7 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto
165 * <!-- end-user-doc --> 174 * <!-- end-user-doc -->
166 * @generated 175 * @generated
167 */ 176 */
177 @Override
168 public YakindummPackage getYakindummPackage() { 178 public YakindummPackage getYakindummPackage() {
169 return (YakindummPackage)getEPackage(); 179 return (YakindummPackage)getEPackage();
170 } 180 }
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 77092c17..ccb5cb6a 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
@@ -150,7 +150,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
150 150
151 /** 151 /**
152 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. 152 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
153 * 153 *
154 * <p>This method is used to initialize {@link YakindummPackage#eINSTANCE} when that field is accessed. 154 * <p>This method is used to initialize {@link YakindummPackage#eINSTANCE} when that field is accessed.
155 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. 155 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
156 * <!-- begin-user-doc --> 156 * <!-- begin-user-doc -->
@@ -164,7 +164,8 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
164 if (isInited) return (YakindummPackage)EPackage.Registry.INSTANCE.getEPackage(YakindummPackage.eNS_URI); 164 if (isInited) return (YakindummPackage)EPackage.Registry.INSTANCE.getEPackage(YakindummPackage.eNS_URI);
165 165
166 // Obtain or create and register package 166 // Obtain or create and register package
167 YakindummPackageImpl theYakindummPackage = (YakindummPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof YakindummPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new YakindummPackageImpl()); 167 Object registeredYakindummPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
168 YakindummPackageImpl theYakindummPackage = registeredYakindummPackage instanceof YakindummPackageImpl ? (YakindummPackageImpl)registeredYakindummPackage : new YakindummPackageImpl();
168 169
169 isInited = true; 170 isInited = true;
170 171
@@ -177,7 +178,6 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
177 // Mark meta-data to indicate it can't be changed 178 // Mark meta-data to indicate it can't be changed
178 theYakindummPackage.freeze(); 179 theYakindummPackage.freeze();
179 180
180
181 // Update the registry and return the package 181 // Update the registry and return the package
182 EPackage.Registry.INSTANCE.put(YakindummPackage.eNS_URI, theYakindummPackage); 182 EPackage.Registry.INSTANCE.put(YakindummPackage.eNS_URI, theYakindummPackage);
183 return theYakindummPackage; 183 return theYakindummPackage;
@@ -188,6 +188,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
188 * <!-- end-user-doc --> 188 * <!-- end-user-doc -->
189 * @generated 189 * @generated
190 */ 190 */
191 @Override
191 public EClass getPseudostate() { 192 public EClass getPseudostate() {
192 return pseudostateEClass; 193 return pseudostateEClass;
193 } 194 }
@@ -197,6 +198,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
197 * <!-- end-user-doc --> 198 * <!-- end-user-doc -->
198 * @generated 199 * @generated
199 */ 200 */
201 @Override
200 public EClass getVertex() { 202 public EClass getVertex() {
201 return vertexEClass; 203 return vertexEClass;
202 } 204 }
@@ -206,6 +208,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
206 * <!-- end-user-doc --> 208 * <!-- end-user-doc -->
207 * @generated 209 * @generated
208 */ 210 */
211 @Override
209 public EReference getVertex_IncomingTransitions() { 212 public EReference getVertex_IncomingTransitions() {
210 return (EReference)vertexEClass.getEStructuralFeatures().get(0); 213 return (EReference)vertexEClass.getEStructuralFeatures().get(0);
211 } 214 }
@@ -215,6 +218,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
215 * <!-- end-user-doc --> 218 * <!-- end-user-doc -->
216 * @generated 219 * @generated
217 */ 220 */
221 @Override
218 public EReference getVertex_OutgoingTransitions() { 222 public EReference getVertex_OutgoingTransitions() {
219 return (EReference)vertexEClass.getEStructuralFeatures().get(1); 223 return (EReference)vertexEClass.getEStructuralFeatures().get(1);
220 } 224 }
@@ -224,6 +228,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
224 * <!-- end-user-doc --> 228 * <!-- end-user-doc -->
225 * @generated 229 * @generated
226 */ 230 */
231 @Override
227 public EClass getRegion() { 232 public EClass getRegion() {
228 return regionEClass; 233 return regionEClass;
229 } 234 }
@@ -233,6 +238,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
233 * <!-- end-user-doc --> 238 * <!-- end-user-doc -->
234 * @generated 239 * @generated
235 */ 240 */
241 @Override
236 public EReference getRegion_Vertices() { 242 public EReference getRegion_Vertices() {
237 return (EReference)regionEClass.getEStructuralFeatures().get(0); 243 return (EReference)regionEClass.getEStructuralFeatures().get(0);
238 } 244 }
@@ -242,6 +248,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
242 * <!-- end-user-doc --> 248 * <!-- end-user-doc -->
243 * @generated 249 * @generated
244 */ 250 */
251 @Override
245 public EClass getTransition() { 252 public EClass getTransition() {
246 return transitionEClass; 253 return transitionEClass;
247 } 254 }
@@ -251,6 +258,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
251 * <!-- end-user-doc --> 258 * <!-- end-user-doc -->
252 * @generated 259 * @generated
253 */ 260 */
261 @Override
254 public EReference getTransition_Target() { 262 public EReference getTransition_Target() {
255 return (EReference)transitionEClass.getEStructuralFeatures().get(0); 263 return (EReference)transitionEClass.getEStructuralFeatures().get(0);
256 } 264 }
@@ -260,6 +268,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
260 * <!-- end-user-doc --> 268 * <!-- end-user-doc -->
261 * @generated 269 * @generated
262 */ 270 */
271 @Override
263 public EReference getTransition_Source() { 272 public EReference getTransition_Source() {
264 return (EReference)transitionEClass.getEStructuralFeatures().get(1); 273 return (EReference)transitionEClass.getEStructuralFeatures().get(1);
265 } 274 }
@@ -269,6 +278,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
269 * <!-- end-user-doc --> 278 * <!-- end-user-doc -->
270 * @generated 279 * @generated
271 */ 280 */
281 @Override
272 public EClass getStatechart() { 282 public EClass getStatechart() {
273 return statechartEClass; 283 return statechartEClass;
274 } 284 }
@@ -278,6 +288,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
278 * <!-- end-user-doc --> 288 * <!-- end-user-doc -->
279 * @generated 289 * @generated
280 */ 290 */
291 @Override
281 public EClass getEntry() { 292 public EClass getEntry() {
282 return entryEClass; 293 return entryEClass;
283 } 294 }
@@ -287,6 +298,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
287 * <!-- end-user-doc --> 298 * <!-- end-user-doc -->
288 * @generated 299 * @generated
289 */ 300 */
301 @Override
290 public EClass getSynchronization() { 302 public EClass getSynchronization() {
291 return synchronizationEClass; 303 return synchronizationEClass;
292 } 304 }
@@ -296,6 +308,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
296 * <!-- end-user-doc --> 308 * <!-- end-user-doc -->
297 * @generated 309 * @generated
298 */ 310 */
311 @Override
299 public EClass getState() { 312 public EClass getState() {
300 return stateEClass; 313 return stateEClass;
301 } 314 }
@@ -305,6 +318,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
305 * <!-- end-user-doc --> 318 * <!-- end-user-doc -->
306 * @generated 319 * @generated
307 */ 320 */
321 @Override
308 public EClass getRegularState() { 322 public EClass getRegularState() {
309 return regularStateEClass; 323 return regularStateEClass;
310 } 324 }
@@ -314,6 +328,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
314 * <!-- end-user-doc --> 328 * <!-- end-user-doc -->
315 * @generated 329 * @generated
316 */ 330 */
331 @Override
317 public EClass getCompositeElement() { 332 public EClass getCompositeElement() {
318 return compositeElementEClass; 333 return compositeElementEClass;
319 } 334 }
@@ -323,6 +338,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
323 * <!-- end-user-doc --> 338 * <!-- end-user-doc -->
324 * @generated 339 * @generated
325 */ 340 */
341 @Override
326 public EReference getCompositeElement_Regions() { 342 public EReference getCompositeElement_Regions() {
327 return (EReference)compositeElementEClass.getEStructuralFeatures().get(0); 343 return (EReference)compositeElementEClass.getEStructuralFeatures().get(0);
328 } 344 }
@@ -332,6 +348,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
332 * <!-- end-user-doc --> 348 * <!-- end-user-doc -->
333 * @generated 349 * @generated
334 */ 350 */
351 @Override
335 public EClass getChoice() { 352 public EClass getChoice() {
336 return choiceEClass; 353 return choiceEClass;
337 } 354 }
@@ -341,6 +358,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
341 * <!-- end-user-doc --> 358 * <!-- end-user-doc -->
342 * @generated 359 * @generated
343 */ 360 */
361 @Override
344 public EClass getExit() { 362 public EClass getExit() {
345 return exitEClass; 363 return exitEClass;
346 } 364 }
@@ -350,6 +368,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
350 * <!-- end-user-doc --> 368 * <!-- end-user-doc -->
351 * @generated 369 * @generated
352 */ 370 */
371 @Override
353 public EClass getFinalState() { 372 public EClass getFinalState() {
354 return finalStateEClass; 373 return finalStateEClass;
355 } 374 }
@@ -359,6 +378,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka
359 * <!-- end-user-doc --> 378 * <!-- end-user-doc -->
360 * @generated 379 * @generated
361 */ 380 */
381 @Override
362 public YakindummFactory getYakindummFactory() { 382 public YakindummFactory getYakindummFactory() {
363 return (YakindummFactory)getEFactoryInstance(); 383 return (YakindummFactory)getEFactoryInstance();
364 } 384 }
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 d4ab204e..6941efca 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
@@ -8,10 +8,7 @@
8 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.entryInRegion"/> 8 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.entryInRegion"/>
9 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noEntryInRegion"/> 9 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noEntryInRegion"/>
10 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.multipleEntryInRegion"/> 10 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.multipleEntryInRegion"/>
11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.unsat_multipleEntryInRegion"/>
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.transition"/> 11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.transition"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.transitionFrom"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.transitionTo"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.incomingToEntry"/> 12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.incomingToEntry"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noOutgoingTransitionFromEntry"/> 13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.noOutgoingTransitionFromEntry"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.multipleTransitionFromEntry"/> 14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.multipleTransitionFromEntry"/>
@@ -21,22 +18,8 @@
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.StateInRegion"/> 18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.StateInRegion"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.choiceHasNoOutgoing"/> 19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.choiceHasNoOutgoing"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.choiceHasNoIncoming"/> 20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.choiceHasNoIncoming"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchHasNoOutgoing"/>
25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchHasNoIncoming"/>
26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedIncomingInSameRegion"/>
27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedIncomingInSameRegionHelper1"/>
28 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedIncomingInSameRegionHelper2"/>
29 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.notSynchronizingStates"/>
30 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleOutgoingTrainsition"/>
31 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleIncomingTrainsition"/>
32 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionsAreNotSiblings"/>
33 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionsAreNotSiblingsHelper1"/>
34 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionsAreNotSiblingsHelper2"/>
35 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.child"/> 21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.child"/>
36 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionDoesNotHaveMultipleRegions"/>
37 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleRegions"/> 22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleRegions"/>
38 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchThree"/>
39 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.twoSynch"/>
40 </group> 23 </group>
41 </extension> 24 </extension>
42</plugin> 25</plugin>
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 49fb5b2f..82b908b3 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
@@ -1,5 +1,4 @@
1package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu 1package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu
2
3import epackage "hu.bme.mit.inf.yakindumm" 2import epackage "hu.bme.mit.inf.yakindumm"
4 3
5///////// 4/////////
@@ -22,33 +21,19 @@ pattern multipleEntryInRegion(r : Region) {
22 e1 != e2; 21 e1 != e2;
23} 22}
24 23
25@Constraint(severity="error", message="error", key = {sct})
26pattern unsat_multipleEntryInRegion(sct : Statechart) {
27 Statechart(sct);
28 neg find multipleEntryInRegion(_);
29}
30
31pattern transition(t : Transition, src : Vertex, trg : Vertex) { 24pattern transition(t : Transition, src : Vertex, trg : Vertex) {
32 Transition.source(t, src); 25 Transition.source(t, src);
33 Transition.target(t, trg); 26 Transition.target(t, trg);
34} 27}
35 28
36pattern transitionFrom(t : Transition, src : Vertex) {
37 Transition.source(t, src);
38}
39
40pattern transitionTo(t : Transition, trg : Vertex) {
41 Transition.target(t, trg);
42}
43
44@Constraint(severity="error", message="error", key = {e}) 29@Constraint(severity="error", message="error", key = {e})
45pattern incomingToEntry(t : Transition, e : Entry) { 30pattern incomingToEntry(t : Transition, e : Entry) {
46 find transitionTo(t, e); 31 find transition(t, _, e);
47} 32}
48 33
49@Constraint(severity="error", message="error", key = {e}) 34@Constraint(severity="error", message="error", key = {e})
50pattern noOutgoingTransitionFromEntry(e : Entry) { 35pattern noOutgoingTransitionFromEntry(e : Entry) {
51 neg find transitionFrom(_, e); 36 neg find transition(_, e, _);
52} 37}
53 38
54@Constraint(severity="error", message="error", key = {e}) 39@Constraint(severity="error", message="error", key = {e})
@@ -94,87 +79,75 @@ pattern StateInRegion(region: Region, state: State) {
94 79
95@Constraint(severity="error", message="error", key = {c}) 80@Constraint(severity="error", message="error", key = {c})
96pattern choiceHasNoOutgoing(c : Choice) { 81pattern choiceHasNoOutgoing(c : Choice) {
97 neg find transitionFrom(_, c); 82 neg find transition(_, c, _);
98} 83}
99 84
100@Constraint(severity="error", message="error", key = {c}) 85@Constraint(severity="error", message="error", key = {c})
101pattern choiceHasNoIncoming(c: Choice) { 86pattern choiceHasNoIncoming(c: Choice) {
102 neg find transitionTo(_, c); 87 neg find transition(_, _, c);
103} 88}
104 89
105///////// 90/////////
106// Synchronization 91// Synchronization
107///////// 92/////////
108 93
109@Constraint(severity="error", message="error", key = {s}) 94//@Constraint(severity="error", message="error", key = {s})
110pattern synchHasNoOutgoing(s : Synchronization) { 95//pattern synchHasNoOutgoing(s : Synchronization) {
111 neg find transitionFrom(_, s); 96// neg find transition(_, s, _);
112} 97//}
113 98//
114@Constraint(severity="error", message="error", key = {s}) 99//@Constraint(severity="error", message="error", key = {s})
115pattern synchHasNoIncoming(s : Synchronization) { 100//pattern synchHasNoIncoming(s : Synchronization) {
116 neg find transitionTo(_, s); 101// neg find transition(_, _, s);
117} 102//}
118 103//
119@Constraint(severity="error", message="error", key = {s}) 104//@Constraint(severity="error", message="error", key = {s})
120pattern SynchronizedIncomingInSameRegion(s : Synchronization, t1 : Transition, t2 : Transition) { 105//pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Vertex) {
121 find SynchronizedIncomingInSameRegionHelper1(r, s, t1); 106// find transition(t1, v1, s);
122 find SynchronizedIncomingInSameRegionHelper1(r, s, t2); 107// find transition(t2, v2, s);
123 t1!=t2; 108// t1!=t2;
124} or { 109// Region.vertices(r, v1);
125 find SynchronizedIncomingInSameRegionHelper2(r, s, t1); 110// Region.vertices(r, v2);
126 find SynchronizedIncomingInSameRegionHelper2(r, s, t2); 111//} or {
127 t1!=t2; 112// find transition(t1, s, v1);
128} 113// find transition(t2, s, v2);
129 114// t1!=t2;
130pattern SynchronizedIncomingInSameRegionHelper1(r : Region, s : Synchronization, t1 : Transition) { 115// Region.vertices(r, v1);
131 find transition(t1, v1, s); 116// Region.vertices(r, v2);
132 Region.vertices(r, v1); 117//}
133} 118//
134 119//@Constraint(severity="error", message="error", key = {s})
135pattern SynchronizedIncomingInSameRegionHelper2(r : Region, s : Synchronization, t1 : Transition) { 120//pattern notSynchronizingStates(s : Synchronization) {
136 find transition(t1, s, v1); 121// neg find hasMultipleOutgoingTrainsition(s);
137 Region.vertices(r, v1); 122// neg find hasMultipleIncomingTrainsition(s);
138} 123//}
139
140@Constraint(severity="error", message="error", key = {s})
141pattern notSynchronizingStates(s : Synchronization) {
142 neg find hasMultipleOutgoingTrainsition(s);
143 neg find hasMultipleIncomingTrainsition(s);
144}
145
146pattern hasMultipleOutgoingTrainsition(v : Synchronization) {
147 find transition(_, v, trg1);
148 find transition(_, v, trg2);
149 trg1 != trg2;
150}
151
152pattern hasMultipleIncomingTrainsition(v : Synchronization) {
153 find transition(_, src1, v);
154 find transition(_, src2, v);
155 src1 != src2;
156}
157
158@Constraint(severity="error", message="error", key = {s})
159pattern SynchronizedRegionsAreNotSiblings(s : Synchronization, r1 : CompositeElement, r2 : CompositeElement) {
160 find SynchronizedRegionsAreNotSiblingsHelper1(s, r1);
161 find SynchronizedRegionsAreNotSiblingsHelper1(s, r2);
162 r1 != r2;
163} or {
164 find SynchronizedRegionsAreNotSiblingsHelper2(s, r1);
165 find SynchronizedRegionsAreNotSiblingsHelper2(s, r2);
166 r1 != r2;
167}
168
169pattern SynchronizedRegionsAreNotSiblingsHelper1(s : Synchronization, r1 : CompositeElement) {
170 find transition(_, s, v1);
171 CompositeElement.regions.vertices(r1, v1);
172}
173 124
174pattern SynchronizedRegionsAreNotSiblingsHelper2(s : Synchronization, r1 : CompositeElement) { 125//pattern hasMultipleOutgoingTrainsition(v : Synchronization) {
175 find transition(_, v1, s); 126// find transition(_, v, trg1);
176 CompositeElement.regions.vertices(r1, v1); 127// find transition(_, v, trg2);
177} 128// trg1 != trg2;
129//}
130//
131//pattern hasMultipleIncomingTrainsition(v : Synchronization) {
132// find transition(_, src1, v);
133// find transition(_, src2, v);
134// src1 != src2;
135//}
136//
137//@Constraint(severity="error", message="error", key = {s})
138//pattern SynchronizedRegionsAreNotSiblings(s : Synchronization, v1 : Vertex, v2 : Vertex) {
139// find transition(_, v1, s);
140// find transition(_, v2, s);
141// CompositeElement.regions.vertices(r1, v1);
142// CompositeElement.regions.vertices(r2, v2);
143// r1 != r2;
144//} or {
145// find transition(_, s, v1);
146// find transition(_, s, v2);
147// CompositeElement.regions.vertices(r1, v1);
148// CompositeElement.regions.vertices(r2, v2);
149// r1 != r2;
150//}
178 151
179/////////////////////////////// 152///////////////////////////////
180// Extra 153// Extra
@@ -192,23 +165,18 @@ pattern child(parent: CompositeElement, child: Vertex) {
192 CompositeElement.regions.vertices(parent, child); 165 CompositeElement.regions.vertices(parent, child);
193} 166}
194 167
195@Constraint(severity="error", message="error", key = {s}) 168//@Constraint(severity="error", message="error", key = {s})
196pattern SynchronizedRegionDoesNotHaveMultipleRegions(s : Synchronization, v : Vertex) { 169//pattern SynchronizedRegionDoesNotHaveMultipleRegions(s : Synchronization, v : Vertex) {
197 find transition(_, v, s); 170// find transition(_, v, s);
198 find child(c,v); 171// find child(c,v);
199 neg find hasMultipleRegions(c); 172// neg find hasMultipleRegions(c);
200} or { 173//} or {
201 find transition(_, s, v); 174// find transition(_, s, v);
202 find child(c,v); 175// find child(c,v);
203 neg find hasMultipleRegions(c); 176// neg find hasMultipleRegions(c);
204}
205
206//@Constraint(severity="error", message="error", key = {sct})
207//pattern unsat_SynchronizedRegionDoesNotHaveMultipleRegions(sct : Statechart) {
208// Statechart(sct);
209// neg find SynchronizedRegionDoesNotHaveMultipleRegions(_, _);
210//} 177//}
211 178
179
212pattern hasMultipleRegions(composite: CompositeElement) { 180pattern hasMultipleRegions(composite: CompositeElement) {
213 CompositeElement.regions(composite,region1); 181 CompositeElement.regions(composite,region1);
214 CompositeElement.regions(composite,region2); 182 CompositeElement.regions(composite,region2);
@@ -218,32 +186,32 @@ pattern hasMultipleRegions(composite: CompositeElement) {
218/** 186/**
219 * Simplifying model generation 187 * Simplifying model generation
220 */ 188 */
221@Constraint(severity="error", message="error", key = {s}) 189//@Constraint(severity="error", message="error", key = {s})
222pattern synchThree(s: Synchronization) { 190//pattern synchThree(s: Synchronization) {
223 Transition.target(t1,s); 191// Transition.target(t1,s);
224 Transition.target(t2,s); 192// Transition.target(t2,s);
225 Transition.target(t3,s); 193// Transition.target(t3,s);
226 t1!=t2; 194// t1!=t2;
227 t2!=t3; 195// t2!=t3;
228 t1!=t3; 196// t1!=t3;
229} or { 197//} or {
230 Transition.source(t1,s); 198// Transition.source(t1,s);
231 Transition.source(t2,s); 199// Transition.source(t2,s);
232 Transition.source(t3,s); 200// Transition.source(t3,s);
233 t1!=t2; 201// t1!=t2;
234 t2!=t3; 202// t2!=t3;
235 t1!=t3; 203// t1!=t3;
236} 204//}
237 205
238/** 206/**
239 * Simplifying model generation 207 * Simplifying model generation
240 */ 208 */
241@Constraint(severity="error", message="error", key = {s1,s2}) 209//@Constraint(severity="error", message="error", key = {s1,s2})
242pattern twoSynch(s1 : Synchronization, s2 : Synchronization) { 210//pattern twoSynch(s1 : Synchronization, s2 : Synchronization) {
243 Synchronization(s1); 211// Synchronization(s1);
244 Synchronization(s2); 212// Synchronization(s2);
245 s1 != s2; 213// s1 != s2;
246} 214//}
247 215
248/** 216/**
249 * Model generation task: at least one synch 217 * Model generation task: at least one synch