diff options
author | 2019-10-07 00:35:42 -0400 | |
---|---|---|
committer | 2019-10-07 00:35:42 -0400 | |
commit | 5d1165ceef23e20c4bbe46fe6f88e95f317234b5 (patch) | |
tree | 9ed155a9e8d74b0f1ce7173aacd50e0e01c96f22 /Domains | |
parent | VAMPIRE: fix model generation (diff) | |
download | VIATRA-Generator-5d1165ceef23e20c4bbe46fe6f88e95f317234b5.tar.gz VIATRA-Generator-5d1165ceef23e20c4bbe46fe6f88e95f317234b5.tar.zst VIATRA-Generator-5d1165ceef23e20c4bbe46fe6f88e95f317234b5.zip |
VAMPIRE: Implement Vampire measurement code
Diffstat (limited to 'Domains')
13 files changed, 635 insertions, 84 deletions
diff --git a/Domains/Examples/ModelGenExampleFAM_plugin/model/FamMetamodel.ecore b/Domains/Examples/ModelGenExampleFAM_plugin/model/FamMetamodel.ecore index d8331ba8..3fab9a1d 100644 --- a/Domains/Examples/ModelGenExampleFAM_plugin/model/FamMetamodel.ecore +++ b/Domains/Examples/ModelGenExampleFAM_plugin/model/FamMetamodel.ecore | |||
@@ -9,7 +9,7 @@ | |||
9 | <eStructuralFeatures xsi:type="ecore:EReference" name="interface" eType="#//FunctionalInterface" | 9 | <eStructuralFeatures xsi:type="ecore:EReference" name="interface" eType="#//FunctionalInterface" |
10 | containment="true" eOpposite="#//FunctionalInterface/element"/> | 10 | containment="true" eOpposite="#//FunctionalInterface/element"/> |
11 | <eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="#//FunctionalArchitectureModel" | 11 | <eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="#//FunctionalArchitectureModel" |
12 | volatile="true" transient="true" derived="true"> | 12 | volatile="true" transient="true"> |
13 | <eAnnotations source="org.eclipse.viatra.query.querybasedfeature"> | 13 | <eAnnotations source="org.eclipse.viatra.query.querybasedfeature"> |
14 | <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.transima.fam.model"/> | 14 | <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.transima.fam.model"/> |
15 | </eAnnotations> | 15 | </eAnnotations> |
@@ -25,7 +25,7 @@ | |||
25 | <eStructuralFeatures xsi:type="ecore:EReference" name="subElements" upperBound="-1" | 25 | <eStructuralFeatures xsi:type="ecore:EReference" name="subElements" upperBound="-1" |
26 | eType="#//FunctionalElement" containment="true" eOpposite="#//FunctionalElement/parent"/> | 26 | eType="#//FunctionalElement" containment="true" eOpposite="#//FunctionalElement/parent"/> |
27 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//FunctionType" | 27 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//FunctionType" |
28 | changeable="false" volatile="true" transient="true" derived="true"> | 28 | volatile="true" transient="true"> |
29 | <eAnnotations source="org.eclipse.viatra.query.querybasedfeature"> | 29 | <eAnnotations source="org.eclipse.viatra.query.querybasedfeature"> |
30 | <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.transima.fam.type"/> | 30 | <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.transima.fam.type"/> |
31 | </eAnnotations> | 31 | </eAnnotations> |
diff --git a/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml b/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml index d6f22c95..07fd662c 100644 --- a/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml +++ b/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml | |||
@@ -3,12 +3,6 @@ | |||
3 | <!-- @generated FamMetamodel --> | 3 | <!-- @generated FamMetamodel --> |
4 | <package class="functionalarchitecture.FunctionalarchitecturePackage" genModel="model/FamMetamodel.genmodel" uri="http://www.inf.mit.bme.hu/viatrasolver/example/fam"/> | 4 | <package class="functionalarchitecture.FunctionalarchitecturePackage" genModel="model/FamMetamodel.genmodel" uri="http://www.inf.mit.bme.hu/viatrasolver/example/fam"/> |
5 | </extension> | 5 | </extension> |
6 | <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.transima.fam.model" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features"> | ||
7 | <wellbehaving-derived-feature classifier-name="FunctionalElement" feature-name="model" package-nsUri="http://www.inf.mit.bme.hu/viatrasolver/example/fam"/> | ||
8 | </extension> | ||
9 | <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.transima.fam.type" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features"> | ||
10 | <wellbehaving-derived-feature classifier-name="Function" feature-name="type" package-nsUri="http://www.inf.mit.bme.hu/viatrasolver/example/fam"/> | ||
11 | </extension> | ||
12 | <extension id="hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns" point="org.eclipse.viatra.query.runtime.queryspecification"> | 6 | <extension id="hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns" point="org.eclipse.viatra.query.runtime.queryspecification"> |
13 | <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns" id="hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns"> | 7 | <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns" id="hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns"> |
14 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.terminatorAndInformation"/> | 8 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.transima.fam.terminatorAndInformation"/> |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF index f2fd2ff3..f8973169 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF | |||
@@ -15,6 +15,7 @@ Require-Bundle: org.eclipse.viatra.query.runtime, | |||
15 | org.eclipse.core.runtime, | 15 | org.eclipse.core.runtime, |
16 | org.eclipse.emf.ecore;visibility:=reexport, | 16 | org.eclipse.emf.ecore;visibility:=reexport, |
17 | com.google.guava;bundle-version="15.0.0" | 17 | com.google.guava;bundle-version="15.0.0" |
18 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | ||
19 | Bundle-ActivationPolicy: lazy | ||
20 | Import-Package: org.apache.log4j | 18 | Import-Package: org.apache.log4j |
19 | Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph | ||
20 | Bundle-ActivationPolicy: lazy | ||
21 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Entry.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Entry.java index de8cdb07..994ffd96 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Entry.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/Entry.java | |||
@@ -8,10 +8,45 @@ package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm; | |||
8 | * A representation of the model object '<em><b>Entry</b></em>'. | 8 | * A representation of the model object '<em><b>Entry</b></em>'. |
9 | * <!-- end-user-doc --> | 9 | * <!-- end-user-doc --> |
10 | * | 10 | * |
11 | * <p> | ||
12 | * The following features are supported: | ||
13 | * </p> | ||
14 | * <ul> | ||
15 | * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry#getType <em>Type</em>}</li> | ||
16 | * </ul> | ||
11 | * | 17 | * |
12 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getEntry() | 18 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getEntry() |
13 | * @model | 19 | * @model |
14 | * @generated | 20 | * @generated |
15 | */ | 21 | */ |
16 | public interface Entry extends Pseudostate { | 22 | public interface Entry extends Pseudostate { |
23 | |||
24 | /** | ||
25 | * Returns the value of the '<em><b>Type</b></em>' attribute. | ||
26 | * The literals are from the enumeration {@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType}. | ||
27 | * <!-- begin-user-doc --> | ||
28 | * <p> | ||
29 | * If the meaning of the '<em>Type</em>' attribute isn't clear, | ||
30 | * there really should be more of a description here... | ||
31 | * </p> | ||
32 | * <!-- end-user-doc --> | ||
33 | * @return the value of the '<em>Type</em>' attribute. | ||
34 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType | ||
35 | * @see #setType(EntryType) | ||
36 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getEntry_Type() | ||
37 | * @model | ||
38 | * @generated | ||
39 | */ | ||
40 | EntryType getType(); | ||
41 | |||
42 | /** | ||
43 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry#getType <em>Type</em>}' attribute. | ||
44 | * <!-- begin-user-doc --> | ||
45 | * <!-- end-user-doc --> | ||
46 | * @param value the new value of the '<em>Type</em>' attribute. | ||
47 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType | ||
48 | * @see #getType() | ||
49 | * @generated | ||
50 | */ | ||
51 | void setType(EntryType value); | ||
17 | } // Entry | 52 | } // Entry |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/EntryType.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/EntryType.java new file mode 100644 index 00000000..4f5d1a31 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/EntryType.java | |||
@@ -0,0 +1,239 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm; | ||
4 | |||
5 | import java.util.Arrays; | ||
6 | import java.util.Collections; | ||
7 | import java.util.List; | ||
8 | |||
9 | import org.eclipse.emf.common.util.Enumerator; | ||
10 | |||
11 | /** | ||
12 | * <!-- begin-user-doc --> | ||
13 | * A representation of the literals of the enumeration '<em><b>Entry Type</b></em>', | ||
14 | * and utility methods for working with them. | ||
15 | * <!-- end-user-doc --> | ||
16 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage#getEntryType() | ||
17 | * @model | ||
18 | * @generated | ||
19 | */ | ||
20 | public enum EntryType implements Enumerator { | ||
21 | /** | ||
22 | * The '<em><b>Normal</b></em>' literal object. | ||
23 | * <!-- begin-user-doc --> | ||
24 | * <!-- end-user-doc --> | ||
25 | * @see #NORMAL_VALUE | ||
26 | * @generated | ||
27 | * @ordered | ||
28 | */ | ||
29 | NORMAL(0, "Normal", "Normal"), | ||
30 | |||
31 | /** | ||
32 | * The '<em><b>History</b></em>' literal object. | ||
33 | * <!-- begin-user-doc --> | ||
34 | * <!-- end-user-doc --> | ||
35 | * @see #HISTORY_VALUE | ||
36 | * @generated | ||
37 | * @ordered | ||
38 | */ | ||
39 | HISTORY(0, "History", "History"), | ||
40 | |||
41 | /** | ||
42 | * The '<em><b>Deep History</b></em>' literal object. | ||
43 | * <!-- begin-user-doc --> | ||
44 | * <!-- end-user-doc --> | ||
45 | * @see #DEEP_HISTORY_VALUE | ||
46 | * @generated | ||
47 | * @ordered | ||
48 | */ | ||
49 | DEEP_HISTORY(0, "DeepHistory", "DeepHistory"); | ||
50 | |||
51 | /** | ||
52 | * The '<em><b>Normal</b></em>' literal value. | ||
53 | * <!-- begin-user-doc --> | ||
54 | * <p> | ||
55 | * If the meaning of '<em><b>Normal</b></em>' literal object isn't clear, | ||
56 | * there really should be more of a description here... | ||
57 | * </p> | ||
58 | * <!-- end-user-doc --> | ||
59 | * @see #NORMAL | ||
60 | * @model name="Normal" | ||
61 | * @generated | ||
62 | * @ordered | ||
63 | */ | ||
64 | public static final int NORMAL_VALUE = 0; | ||
65 | |||
66 | /** | ||
67 | * The '<em><b>History</b></em>' literal value. | ||
68 | * <!-- begin-user-doc --> | ||
69 | * <p> | ||
70 | * If the meaning of '<em><b>History</b></em>' literal object isn't clear, | ||
71 | * there really should be more of a description here... | ||
72 | * </p> | ||
73 | * <!-- end-user-doc --> | ||
74 | * @see #HISTORY | ||
75 | * @model name="History" | ||
76 | * @generated | ||
77 | * @ordered | ||
78 | */ | ||
79 | public static final int HISTORY_VALUE = 0; | ||
80 | |||
81 | /** | ||
82 | * The '<em><b>Deep History</b></em>' literal value. | ||
83 | * <!-- begin-user-doc --> | ||
84 | * <p> | ||
85 | * If the meaning of '<em><b>Deep History</b></em>' literal object isn't clear, | ||
86 | * there really should be more of a description here... | ||
87 | * </p> | ||
88 | * <!-- end-user-doc --> | ||
89 | * @see #DEEP_HISTORY | ||
90 | * @model name="DeepHistory" | ||
91 | * @generated | ||
92 | * @ordered | ||
93 | */ | ||
94 | public static final int DEEP_HISTORY_VALUE = 0; | ||
95 | |||
96 | /** | ||
97 | * An array of all the '<em><b>Entry Type</b></em>' enumerators. | ||
98 | * <!-- begin-user-doc --> | ||
99 | * <!-- end-user-doc --> | ||
100 | * @generated | ||
101 | */ | ||
102 | private static final EntryType[] VALUES_ARRAY = | ||
103 | new EntryType[] { | ||
104 | NORMAL, | ||
105 | HISTORY, | ||
106 | DEEP_HISTORY, | ||
107 | }; | ||
108 | |||
109 | /** | ||
110 | * A public read-only list of all the '<em><b>Entry Type</b></em>' enumerators. | ||
111 | * <!-- begin-user-doc --> | ||
112 | * <!-- end-user-doc --> | ||
113 | * @generated | ||
114 | */ | ||
115 | public static final List<EntryType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); | ||
116 | |||
117 | /** | ||
118 | * Returns the '<em><b>Entry Type</b></em>' literal with the specified literal value. | ||
119 | * <!-- begin-user-doc --> | ||
120 | * <!-- end-user-doc --> | ||
121 | * @param literal the literal. | ||
122 | * @return the matching enumerator or <code>null</code>. | ||
123 | * @generated | ||
124 | */ | ||
125 | public static EntryType get(String literal) { | ||
126 | for (int i = 0; i < VALUES_ARRAY.length; ++i) { | ||
127 | EntryType result = VALUES_ARRAY[i]; | ||
128 | if (result.toString().equals(literal)) { | ||
129 | return result; | ||
130 | } | ||
131 | } | ||
132 | return null; | ||
133 | } | ||
134 | |||
135 | /** | ||
136 | * Returns the '<em><b>Entry Type</b></em>' literal with the specified name. | ||
137 | * <!-- begin-user-doc --> | ||
138 | * <!-- end-user-doc --> | ||
139 | * @param name the name. | ||
140 | * @return the matching enumerator or <code>null</code>. | ||
141 | * @generated | ||
142 | */ | ||
143 | public static EntryType getByName(String name) { | ||
144 | for (int i = 0; i < VALUES_ARRAY.length; ++i) { | ||
145 | EntryType result = VALUES_ARRAY[i]; | ||
146 | if (result.getName().equals(name)) { | ||
147 | return result; | ||
148 | } | ||
149 | } | ||
150 | return null; | ||
151 | } | ||
152 | |||
153 | /** | ||
154 | * Returns the '<em><b>Entry Type</b></em>' literal with the specified integer value. | ||
155 | * <!-- begin-user-doc --> | ||
156 | * <!-- end-user-doc --> | ||
157 | * @param value the integer value. | ||
158 | * @return the matching enumerator or <code>null</code>. | ||
159 | * @generated | ||
160 | */ | ||
161 | public static EntryType get(int value) { | ||
162 | switch (value) { | ||
163 | case NORMAL_VALUE: return NORMAL; | ||
164 | } | ||
165 | return null; | ||
166 | } | ||
167 | |||
168 | /** | ||
169 | * <!-- begin-user-doc --> | ||
170 | * <!-- end-user-doc --> | ||
171 | * @generated | ||
172 | */ | ||
173 | private final int value; | ||
174 | |||
175 | /** | ||
176 | * <!-- begin-user-doc --> | ||
177 | * <!-- end-user-doc --> | ||
178 | * @generated | ||
179 | */ | ||
180 | private final String name; | ||
181 | |||
182 | /** | ||
183 | * <!-- begin-user-doc --> | ||
184 | * <!-- end-user-doc --> | ||
185 | * @generated | ||
186 | */ | ||
187 | private final String literal; | ||
188 | |||
189 | /** | ||
190 | * Only this class can construct instances. | ||
191 | * <!-- begin-user-doc --> | ||
192 | * <!-- end-user-doc --> | ||
193 | * @generated | ||
194 | */ | ||
195 | private EntryType(int value, String name, String literal) { | ||
196 | this.value = value; | ||
197 | this.name = name; | ||
198 | this.literal = literal; | ||
199 | } | ||
200 | |||
201 | /** | ||
202 | * <!-- begin-user-doc --> | ||
203 | * <!-- end-user-doc --> | ||
204 | * @generated | ||
205 | */ | ||
206 | public int getValue() { | ||
207 | return value; | ||
208 | } | ||
209 | |||
210 | /** | ||
211 | * <!-- begin-user-doc --> | ||
212 | * <!-- end-user-doc --> | ||
213 | * @generated | ||
214 | */ | ||
215 | public String getName() { | ||
216 | return name; | ||
217 | } | ||
218 | |||
219 | /** | ||
220 | * <!-- begin-user-doc --> | ||
221 | * <!-- end-user-doc --> | ||
222 | * @generated | ||
223 | */ | ||
224 | public String getLiteral() { | ||
225 | return literal; | ||
226 | } | ||
227 | |||
228 | /** | ||
229 | * Returns the literal value of the enumerator, which is its string representation. | ||
230 | * <!-- begin-user-doc --> | ||
231 | * <!-- end-user-doc --> | ||
232 | * @generated | ||
233 | */ | ||
234 | @Override | ||
235 | public String toString() { | ||
236 | return literal; | ||
237 | } | ||
238 | |||
239 | } //EntryType | ||
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 18a4b105..a9269e05 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 | |||
@@ -2,7 +2,9 @@ | |||
2 | */ | 2 | */ |
3 | package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm; | 3 | package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm; |
4 | 4 | ||
5 | import org.eclipse.emf.ecore.EAttribute; | ||
5 | import org.eclipse.emf.ecore.EClass; | 6 | import org.eclipse.emf.ecore.EClass; |
7 | import org.eclipse.emf.ecore.EEnum; | ||
6 | import org.eclipse.emf.ecore.EPackage; | 8 | import org.eclipse.emf.ecore.EPackage; |
7 | import org.eclipse.emf.ecore.EReference; | 9 | import org.eclipse.emf.ecore.EReference; |
8 | 10 | ||
@@ -333,13 +335,22 @@ public interface YakindummPackage extends EPackage { | |||
333 | int ENTRY__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS; | 335 | int ENTRY__OUTGOING_TRANSITIONS = PSEUDOSTATE__OUTGOING_TRANSITIONS; |
334 | 336 | ||
335 | /** | 337 | /** |
338 | * The feature id for the '<em><b>Type</b></em>' attribute. | ||
339 | * <!-- begin-user-doc --> | ||
340 | * <!-- end-user-doc --> | ||
341 | * @generated | ||
342 | * @ordered | ||
343 | */ | ||
344 | int ENTRY__TYPE = PSEUDOSTATE_FEATURE_COUNT + 0; | ||
345 | |||
346 | /** | ||
336 | * The number of structural features of the '<em>Entry</em>' class. | 347 | * The number of structural features of the '<em>Entry</em>' class. |
337 | * <!-- begin-user-doc --> | 348 | * <!-- begin-user-doc --> |
338 | * <!-- end-user-doc --> | 349 | * <!-- end-user-doc --> |
339 | * @generated | 350 | * @generated |
340 | * @ordered | 351 | * @ordered |
341 | */ | 352 | */ |
342 | int ENTRY_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 0; | 353 | int ENTRY_FEATURE_COUNT = PSEUDOSTATE_FEATURE_COUNT + 1; |
343 | 354 | ||
344 | /** | 355 | /** |
345 | * The number of operations of the '<em>Entry</em>' class. | 356 | * The number of operations of the '<em>Entry</em>' class. |
@@ -639,6 +650,17 @@ public interface YakindummPackage extends EPackage { | |||
639 | 650 | ||
640 | 651 | ||
641 | /** | 652 | /** |
653 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType <em>Entry Type</em>}' enum. | ||
654 | * <!-- begin-user-doc --> | ||
655 | * <!-- end-user-doc --> | ||
656 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType | ||
657 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getEntryType() | ||
658 | * @generated | ||
659 | */ | ||
660 | int ENTRY_TYPE = 13; | ||
661 | |||
662 | |||
663 | /** | ||
642 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate <em>Pseudostate</em>}'. | 664 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate <em>Pseudostate</em>}'. |
643 | * <!-- begin-user-doc --> | 665 | * <!-- begin-user-doc --> |
644 | * <!-- end-user-doc --> | 666 | * <!-- end-user-doc --> |
@@ -754,6 +776,17 @@ public interface YakindummPackage extends EPackage { | |||
754 | EClass getEntry(); | 776 | EClass getEntry(); |
755 | 777 | ||
756 | /** | 778 | /** |
779 | * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry#getType <em>Type</em>}'. | ||
780 | * <!-- begin-user-doc --> | ||
781 | * <!-- end-user-doc --> | ||
782 | * @return the meta object for the attribute '<em>Type</em>'. | ||
783 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry#getType() | ||
784 | * @see #getEntry() | ||
785 | * @generated | ||
786 | */ | ||
787 | EAttribute getEntry_Type(); | ||
788 | |||
789 | /** | ||
757 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Synchronization <em>Synchronization</em>}'. | 790 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Synchronization <em>Synchronization</em>}'. |
758 | * <!-- begin-user-doc --> | 791 | * <!-- begin-user-doc --> |
759 | * <!-- end-user-doc --> | 792 | * <!-- end-user-doc --> |
@@ -835,6 +868,16 @@ public interface YakindummPackage extends EPackage { | |||
835 | EClass getFinalState(); | 868 | EClass getFinalState(); |
836 | 869 | ||
837 | /** | 870 | /** |
871 | * Returns the meta object for enum '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType <em>Entry Type</em>}'. | ||
872 | * <!-- begin-user-doc --> | ||
873 | * <!-- end-user-doc --> | ||
874 | * @return the meta object for enum '<em>Entry Type</em>'. | ||
875 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType | ||
876 | * @generated | ||
877 | */ | ||
878 | EEnum getEntryType(); | ||
879 | |||
880 | /** | ||
838 | * Returns the factory that creates the instances of the model. | 881 | * Returns the factory that creates the instances of the model. |
839 | * <!-- begin-user-doc --> | 882 | * <!-- begin-user-doc --> |
840 | * <!-- end-user-doc --> | 883 | * <!-- end-user-doc --> |
@@ -958,6 +1001,14 @@ public interface YakindummPackage extends EPackage { | |||
958 | EClass ENTRY = eINSTANCE.getEntry(); | 1001 | EClass ENTRY = eINSTANCE.getEntry(); |
959 | 1002 | ||
960 | /** | 1003 | /** |
1004 | * The meta object literal for the '<em><b>Type</b></em>' attribute feature. | ||
1005 | * <!-- begin-user-doc --> | ||
1006 | * <!-- end-user-doc --> | ||
1007 | * @generated | ||
1008 | */ | ||
1009 | EAttribute ENTRY__TYPE = eINSTANCE.getEntry_Type(); | ||
1010 | |||
1011 | /** | ||
961 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.SynchronizationImpl <em>Synchronization</em>}' class. | 1012 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.SynchronizationImpl <em>Synchronization</em>}' class. |
962 | * <!-- begin-user-doc --> | 1013 | * <!-- begin-user-doc --> |
963 | * <!-- end-user-doc --> | 1014 | * <!-- end-user-doc --> |
@@ -1035,6 +1086,16 @@ public interface YakindummPackage extends EPackage { | |||
1035 | */ | 1086 | */ |
1036 | EClass FINAL_STATE = eINSTANCE.getFinalState(); | 1087 | EClass FINAL_STATE = eINSTANCE.getFinalState(); |
1037 | 1088 | ||
1089 | /** | ||
1090 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType <em>Entry Type</em>}' enum. | ||
1091 | * <!-- begin-user-doc --> | ||
1092 | * <!-- end-user-doc --> | ||
1093 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType | ||
1094 | * @see hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl#getEntryType() | ||
1095 | * @generated | ||
1096 | */ | ||
1097 | EEnum ENTRY_TYPE = eINSTANCE.getEntryType(); | ||
1098 | |||
1038 | } | 1099 | } |
1039 | 1100 | ||
1040 | } //YakindummPackage | 1101 | } //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/EntryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/EntryImpl.java index 35003e0d..27041630 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/EntryImpl.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/yakindu/sgraph/yakindumm/impl/EntryImpl.java | |||
@@ -3,19 +3,47 @@ | |||
3 | package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl; | 3 | package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl; |
4 | 4 | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry; | 5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry; |
6 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage; | 7 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage; |
7 | 8 | ||
9 | import org.eclipse.emf.common.notify.Notification; | ||
8 | import org.eclipse.emf.ecore.EClass; | 10 | import org.eclipse.emf.ecore.EClass; |
11 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
9 | 12 | ||
10 | /** | 13 | /** |
11 | * <!-- begin-user-doc --> | 14 | * <!-- begin-user-doc --> |
12 | * An implementation of the model object '<em><b>Entry</b></em>'. | 15 | * An implementation of the model object '<em><b>Entry</b></em>'. |
13 | * <!-- end-user-doc --> | 16 | * <!-- end-user-doc --> |
17 | * <p> | ||
18 | * The following features are implemented: | ||
19 | * </p> | ||
20 | * <ul> | ||
21 | * <li>{@link hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.EntryImpl#getType <em>Type</em>}</li> | ||
22 | * </ul> | ||
14 | * | 23 | * |
15 | * @generated | 24 | * @generated |
16 | */ | 25 | */ |
17 | public class EntryImpl extends PseudostateImpl implements Entry { | 26 | public class EntryImpl extends PseudostateImpl implements Entry { |
18 | /** | 27 | /** |
28 | * The default value of the '{@link #getType() <em>Type</em>}' attribute. | ||
29 | * <!-- begin-user-doc --> | ||
30 | * <!-- end-user-doc --> | ||
31 | * @see #getType() | ||
32 | * @generated | ||
33 | * @ordered | ||
34 | */ | ||
35 | protected static final EntryType TYPE_EDEFAULT = EntryType.NORMAL; | ||
36 | /** | ||
37 | * The cached value of the '{@link #getType() <em>Type</em>}' attribute. | ||
38 | * <!-- begin-user-doc --> | ||
39 | * <!-- end-user-doc --> | ||
40 | * @see #getType() | ||
41 | * @generated | ||
42 | * @ordered | ||
43 | */ | ||
44 | protected EntryType type = TYPE_EDEFAULT; | ||
45 | |||
46 | /** | ||
19 | * <!-- begin-user-doc --> | 47 | * <!-- begin-user-doc --> |
20 | * <!-- end-user-doc --> | 48 | * <!-- end-user-doc --> |
21 | * @generated | 49 | * @generated |
@@ -34,4 +62,99 @@ public class EntryImpl extends PseudostateImpl implements Entry { | |||
34 | return YakindummPackage.Literals.ENTRY; | 62 | return YakindummPackage.Literals.ENTRY; |
35 | } | 63 | } |
36 | 64 | ||
65 | /** | ||
66 | * <!-- begin-user-doc --> | ||
67 | * <!-- end-user-doc --> | ||
68 | * @generated | ||
69 | */ | ||
70 | public EntryType getType() { | ||
71 | return type; | ||
72 | } | ||
73 | |||
74 | /** | ||
75 | * <!-- begin-user-doc --> | ||
76 | * <!-- end-user-doc --> | ||
77 | * @generated | ||
78 | */ | ||
79 | public void setType(EntryType newType) { | ||
80 | EntryType oldType = type; | ||
81 | type = newType == null ? TYPE_EDEFAULT : newType; | ||
82 | if (eNotificationRequired()) | ||
83 | eNotify(new ENotificationImpl(this, Notification.SET, YakindummPackage.ENTRY__TYPE, oldType, type)); | ||
84 | } | ||
85 | |||
86 | /** | ||
87 | * <!-- begin-user-doc --> | ||
88 | * <!-- end-user-doc --> | ||
89 | * @generated | ||
90 | */ | ||
91 | @Override | ||
92 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
93 | switch (featureID) { | ||
94 | case YakindummPackage.ENTRY__TYPE: | ||
95 | return getType(); | ||
96 | } | ||
97 | return super.eGet(featureID, resolve, coreType); | ||
98 | } | ||
99 | |||
100 | /** | ||
101 | * <!-- begin-user-doc --> | ||
102 | * <!-- end-user-doc --> | ||
103 | * @generated | ||
104 | */ | ||
105 | @Override | ||
106 | public void eSet(int featureID, Object newValue) { | ||
107 | switch (featureID) { | ||
108 | case YakindummPackage.ENTRY__TYPE: | ||
109 | setType((EntryType)newValue); | ||
110 | return; | ||
111 | } | ||
112 | super.eSet(featureID, newValue); | ||
113 | } | ||
114 | |||
115 | /** | ||
116 | * <!-- begin-user-doc --> | ||
117 | * <!-- end-user-doc --> | ||
118 | * @generated | ||
119 | */ | ||
120 | @Override | ||
121 | public void eUnset(int featureID) { | ||
122 | switch (featureID) { | ||
123 | case YakindummPackage.ENTRY__TYPE: | ||
124 | setType(TYPE_EDEFAULT); | ||
125 | return; | ||
126 | } | ||
127 | super.eUnset(featureID); | ||
128 | } | ||
129 | |||
130 | /** | ||
131 | * <!-- begin-user-doc --> | ||
132 | * <!-- end-user-doc --> | ||
133 | * @generated | ||
134 | */ | ||
135 | @Override | ||
136 | public boolean eIsSet(int featureID) { | ||
137 | switch (featureID) { | ||
138 | case YakindummPackage.ENTRY__TYPE: | ||
139 | return type != TYPE_EDEFAULT; | ||
140 | } | ||
141 | return super.eIsSet(featureID); | ||
142 | } | ||
143 | |||
144 | /** | ||
145 | * <!-- begin-user-doc --> | ||
146 | * <!-- end-user-doc --> | ||
147 | * @generated | ||
148 | */ | ||
149 | @Override | ||
150 | public String toString() { | ||
151 | if (eIsProxy()) return super.toString(); | ||
152 | |||
153 | StringBuilder result = new StringBuilder(super.toString()); | ||
154 | result.append(" (Type: "); | ||
155 | result.append(type); | ||
156 | result.append(')'); | ||
157 | return result.toString(); | ||
158 | } | ||
159 | |||
37 | } //EntryImpl | 160 | } //EntryImpl |
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..d4fc2d01 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 | |||
@@ -5,6 +5,7 @@ package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl; | |||
5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.*; | 5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.*; |
6 | 6 | ||
7 | import org.eclipse.emf.ecore.EClass; | 7 | import org.eclipse.emf.ecore.EClass; |
8 | import org.eclipse.emf.ecore.EDataType; | ||
8 | import org.eclipse.emf.ecore.EObject; | 9 | import org.eclipse.emf.ecore.EObject; |
9 | import org.eclipse.emf.ecore.EPackage; | 10 | import org.eclipse.emf.ecore.EPackage; |
10 | 11 | ||
@@ -75,6 +76,36 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto | |||
75 | * <!-- end-user-doc --> | 76 | * <!-- end-user-doc --> |
76 | * @generated | 77 | * @generated |
77 | */ | 78 | */ |
79 | @Override | ||
80 | public Object createFromString(EDataType eDataType, String initialValue) { | ||
81 | switch (eDataType.getClassifierID()) { | ||
82 | case YakindummPackage.ENTRY_TYPE: | ||
83 | return createEntryTypeFromString(eDataType, initialValue); | ||
84 | default: | ||
85 | throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); | ||
86 | } | ||
87 | } | ||
88 | |||
89 | /** | ||
90 | * <!-- begin-user-doc --> | ||
91 | * <!-- end-user-doc --> | ||
92 | * @generated | ||
93 | */ | ||
94 | @Override | ||
95 | public String convertToString(EDataType eDataType, Object instanceValue) { | ||
96 | switch (eDataType.getClassifierID()) { | ||
97 | case YakindummPackage.ENTRY_TYPE: | ||
98 | return convertEntryTypeToString(eDataType, instanceValue); | ||
99 | default: | ||
100 | throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); | ||
101 | } | ||
102 | } | ||
103 | |||
104 | /** | ||
105 | * <!-- begin-user-doc --> | ||
106 | * <!-- end-user-doc --> | ||
107 | * @generated | ||
108 | */ | ||
78 | public Region createRegion() { | 109 | public Region createRegion() { |
79 | RegionImpl region = new RegionImpl(); | 110 | RegionImpl region = new RegionImpl(); |
80 | return region; | 111 | return region; |
@@ -165,6 +196,26 @@ public class YakindummFactoryImpl extends EFactoryImpl implements YakindummFacto | |||
165 | * <!-- end-user-doc --> | 196 | * <!-- end-user-doc --> |
166 | * @generated | 197 | * @generated |
167 | */ | 198 | */ |
199 | public EntryType createEntryTypeFromString(EDataType eDataType, String initialValue) { | ||
200 | EntryType result = EntryType.get(initialValue); | ||
201 | if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); | ||
202 | return result; | ||
203 | } | ||
204 | |||
205 | /** | ||
206 | * <!-- begin-user-doc --> | ||
207 | * <!-- end-user-doc --> | ||
208 | * @generated | ||
209 | */ | ||
210 | public String convertEntryTypeToString(EDataType eDataType, Object instanceValue) { | ||
211 | return instanceValue == null ? null : instanceValue.toString(); | ||
212 | } | ||
213 | |||
214 | /** | ||
215 | * <!-- begin-user-doc --> | ||
216 | * <!-- end-user-doc --> | ||
217 | * @generated | ||
218 | */ | ||
168 | public YakindummPackage getYakindummPackage() { | 219 | public YakindummPackage getYakindummPackage() { |
169 | return (YakindummPackage)getEPackage(); | 220 | return (YakindummPackage)getEPackage(); |
170 | } | 221 | } |
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..e6da53ec 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 | |||
@@ -5,6 +5,7 @@ package hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl; | |||
5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Choice; | 5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Choice; |
6 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement; | 6 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.CompositeElement; |
7 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry; | 7 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Entry; |
8 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.EntryType; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Exit; | 9 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Exit; |
9 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.FinalState; | 10 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.FinalState; |
10 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate; | 11 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Pseudostate; |
@@ -18,7 +19,9 @@ import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.Vertex; | |||
18 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummFactory; | 19 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummFactory; |
19 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage; | 20 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage; |
20 | 21 | ||
22 | import org.eclipse.emf.ecore.EAttribute; | ||
21 | import org.eclipse.emf.ecore.EClass; | 23 | import org.eclipse.emf.ecore.EClass; |
24 | import org.eclipse.emf.ecore.EEnum; | ||
22 | import org.eclipse.emf.ecore.EPackage; | 25 | import org.eclipse.emf.ecore.EPackage; |
23 | import org.eclipse.emf.ecore.EReference; | 26 | import org.eclipse.emf.ecore.EReference; |
24 | 27 | ||
@@ -123,6 +126,13 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
123 | private EClass finalStateEClass = null; | 126 | private EClass finalStateEClass = null; |
124 | 127 | ||
125 | /** | 128 | /** |
129 | * <!-- begin-user-doc --> | ||
130 | * <!-- end-user-doc --> | ||
131 | * @generated | ||
132 | */ | ||
133 | private EEnum entryTypeEEnum = null; | ||
134 | |||
135 | /** | ||
126 | * Creates an instance of the model <b>Package</b>, registered with | 136 | * Creates an instance of the model <b>Package</b>, registered with |
127 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package | 137 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package |
128 | * package URI value. | 138 | * package URI value. |
@@ -150,7 +160,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
150 | 160 | ||
151 | /** | 161 | /** |
152 | * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. | 162 | * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. |
153 | * | 163 | * |
154 | * <p>This method is used to initialize {@link YakindummPackage#eINSTANCE} when that field is accessed. | 164 | * <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. | 165 | * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. |
156 | * <!-- begin-user-doc --> | 166 | * <!-- begin-user-doc --> |
@@ -164,7 +174,8 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
164 | if (isInited) return (YakindummPackage)EPackage.Registry.INSTANCE.getEPackage(YakindummPackage.eNS_URI); | 174 | if (isInited) return (YakindummPackage)EPackage.Registry.INSTANCE.getEPackage(YakindummPackage.eNS_URI); |
165 | 175 | ||
166 | // Obtain or create and register package | 176 | // 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()); | 177 | Object registeredYakindummPackage = EPackage.Registry.INSTANCE.get(eNS_URI); |
178 | YakindummPackageImpl theYakindummPackage = registeredYakindummPackage instanceof YakindummPackageImpl ? (YakindummPackageImpl)registeredYakindummPackage : new YakindummPackageImpl(); | ||
168 | 179 | ||
169 | isInited = true; | 180 | isInited = true; |
170 | 181 | ||
@@ -177,7 +188,6 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
177 | // Mark meta-data to indicate it can't be changed | 188 | // Mark meta-data to indicate it can't be changed |
178 | theYakindummPackage.freeze(); | 189 | theYakindummPackage.freeze(); |
179 | 190 | ||
180 | |||
181 | // Update the registry and return the package | 191 | // Update the registry and return the package |
182 | EPackage.Registry.INSTANCE.put(YakindummPackage.eNS_URI, theYakindummPackage); | 192 | EPackage.Registry.INSTANCE.put(YakindummPackage.eNS_URI, theYakindummPackage); |
183 | return theYakindummPackage; | 193 | return theYakindummPackage; |
@@ -287,6 +297,15 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
287 | * <!-- end-user-doc --> | 297 | * <!-- end-user-doc --> |
288 | * @generated | 298 | * @generated |
289 | */ | 299 | */ |
300 | public EAttribute getEntry_Type() { | ||
301 | return (EAttribute)entryEClass.getEStructuralFeatures().get(0); | ||
302 | } | ||
303 | |||
304 | /** | ||
305 | * <!-- begin-user-doc --> | ||
306 | * <!-- end-user-doc --> | ||
307 | * @generated | ||
308 | */ | ||
290 | public EClass getSynchronization() { | 309 | public EClass getSynchronization() { |
291 | return synchronizationEClass; | 310 | return synchronizationEClass; |
292 | } | 311 | } |
@@ -359,6 +378,15 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
359 | * <!-- end-user-doc --> | 378 | * <!-- end-user-doc --> |
360 | * @generated | 379 | * @generated |
361 | */ | 380 | */ |
381 | public EEnum getEntryType() { | ||
382 | return entryTypeEEnum; | ||
383 | } | ||
384 | |||
385 | /** | ||
386 | * <!-- begin-user-doc --> | ||
387 | * <!-- end-user-doc --> | ||
388 | * @generated | ||
389 | */ | ||
362 | public YakindummFactory getYakindummFactory() { | 390 | public YakindummFactory getYakindummFactory() { |
363 | return (YakindummFactory)getEFactoryInstance(); | 391 | return (YakindummFactory)getEFactoryInstance(); |
364 | } | 392 | } |
@@ -398,6 +426,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
398 | statechartEClass = createEClass(STATECHART); | 426 | statechartEClass = createEClass(STATECHART); |
399 | 427 | ||
400 | entryEClass = createEClass(ENTRY); | 428 | entryEClass = createEClass(ENTRY); |
429 | createEAttribute(entryEClass, ENTRY__TYPE); | ||
401 | 430 | ||
402 | synchronizationEClass = createEClass(SYNCHRONIZATION); | 431 | synchronizationEClass = createEClass(SYNCHRONIZATION); |
403 | 432 | ||
@@ -413,6 +442,9 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
413 | exitEClass = createEClass(EXIT); | 442 | exitEClass = createEClass(EXIT); |
414 | 443 | ||
415 | finalStateEClass = createEClass(FINAL_STATE); | 444 | finalStateEClass = createEClass(FINAL_STATE); |
445 | |||
446 | // Create enums | ||
447 | entryTypeEEnum = createEEnum(ENTRY_TYPE); | ||
416 | } | 448 | } |
417 | 449 | ||
418 | /** | 450 | /** |
@@ -471,6 +503,7 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
471 | initEClass(statechartEClass, Statechart.class, "Statechart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 503 | initEClass(statechartEClass, Statechart.class, "Statechart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
472 | 504 | ||
473 | initEClass(entryEClass, Entry.class, "Entry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 505 | initEClass(entryEClass, Entry.class, "Entry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
506 | initEAttribute(getEntry_Type(), this.getEntryType(), "Type", null, 0, 1, Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
474 | 507 | ||
475 | initEClass(synchronizationEClass, Synchronization.class, "Synchronization", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 508 | initEClass(synchronizationEClass, Synchronization.class, "Synchronization", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
476 | 509 | ||
@@ -487,6 +520,12 @@ public class YakindummPackageImpl extends EPackageImpl implements YakindummPacka | |||
487 | 520 | ||
488 | initEClass(finalStateEClass, FinalState.class, "FinalState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 521 | initEClass(finalStateEClass, FinalState.class, "FinalState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
489 | 522 | ||
523 | // Initialize enums and add enum literals | ||
524 | initEEnum(entryTypeEEnum, EntryType.class, "EntryType"); | ||
525 | addEEnumLiteral(entryTypeEEnum, EntryType.NORMAL); | ||
526 | addEEnumLiteral(entryTypeEEnum, EntryType.HISTORY); | ||
527 | addEEnumLiteral(entryTypeEEnum, EntryType.DEEP_HISTORY); | ||
528 | |||
490 | // Create resource | 529 | // Create resource |
491 | createResource(eNS_URI); | 530 | createResource(eNS_URI); |
492 | } | 531 | } |
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 0d6b4ac6..51b0ca5b 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 | |||
@@ -19,7 +19,9 @@ | |||
19 | eType="#//Vertex" eOpposite="#//Vertex/outgoingTransitions"/> | 19 | eType="#//Vertex" eOpposite="#//Vertex/outgoingTransitions"/> |
20 | </eClassifiers> | 20 | </eClassifiers> |
21 | <eClassifiers xsi:type="ecore:EClass" name="Statechart" eSuperTypes="#//CompositeElement"/> | 21 | <eClassifiers xsi:type="ecore:EClass" name="Statechart" eSuperTypes="#//CompositeElement"/> |
22 | <eClassifiers xsi:type="ecore:EClass" name="Entry" eSuperTypes="#//Pseudostate"/> | 22 | <eClassifiers xsi:type="ecore:EClass" name="Entry" eSuperTypes="#//Pseudostate"> |
23 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="Type" eType="#//EntryType"/> | ||
24 | </eClassifiers> | ||
23 | <eClassifiers xsi:type="ecore:EClass" name="Synchronization" eSuperTypes="#//Pseudostate"/> | 25 | <eClassifiers xsi:type="ecore:EClass" name="Synchronization" eSuperTypes="#//Pseudostate"/> |
24 | <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//RegularState #//CompositeElement"/> | 26 | <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//RegularState #//CompositeElement"/> |
25 | <eClassifiers xsi:type="ecore:EClass" name="RegularState" abstract="true" eSuperTypes="#//Vertex"/> | 27 | <eClassifiers xsi:type="ecore:EClass" name="RegularState" abstract="true" eSuperTypes="#//Vertex"/> |
@@ -30,4 +32,9 @@ | |||
30 | <eClassifiers xsi:type="ecore:EClass" name="Choice" eSuperTypes="#//Pseudostate"/> | 32 | <eClassifiers xsi:type="ecore:EClass" name="Choice" eSuperTypes="#//Pseudostate"/> |
31 | <eClassifiers xsi:type="ecore:EClass" name="Exit" eSuperTypes="#//Pseudostate"/> | 33 | <eClassifiers xsi:type="ecore:EClass" name="Exit" eSuperTypes="#//Pseudostate"/> |
32 | <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//RegularState"/> | 34 | <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//RegularState"/> |
35 | <eClassifiers xsi:type="ecore:EEnum" name="EntryType"> | ||
36 | <eLiterals name="Normal"/> | ||
37 | <eLiterals name="History"/> | ||
38 | <eLiterals name="DeepHistory"/> | ||
39 | </eClassifiers> | ||
33 | </ecore:EPackage> | 40 | </ecore:EPackage> |
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 4e34cf1d..4419a75a 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 | |||
@@ -7,6 +7,11 @@ | |||
7 | <foreignModel>yakindu_simplified.ecore</foreignModel> | 7 | <foreignModel>yakindu_simplified.ecore</foreignModel> |
8 | <genPackages prefix="Yakindumm" basePackage="hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph" | 8 | <genPackages prefix="Yakindumm" basePackage="hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph" |
9 | disposableProviderFactory="true" ecorePackage="yakindu_simplified.ecore#/"> | 9 | disposableProviderFactory="true" ecorePackage="yakindu_simplified.ecore#/"> |
10 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="yakindu_simplified.ecore#//EntryType"> | ||
11 | <genEnumLiterals ecoreEnumLiteral="yakindu_simplified.ecore#//EntryType/Normal"/> | ||
12 | <genEnumLiterals ecoreEnumLiteral="yakindu_simplified.ecore#//EntryType/History"/> | ||
13 | <genEnumLiterals ecoreEnumLiteral="yakindu_simplified.ecore#//EntryType/DeepHistory"/> | ||
14 | </genEnums> | ||
10 | <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//Pseudostate"/> | 15 | <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//Pseudostate"/> |
11 | <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//Vertex"> | 16 | <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//Vertex"> |
12 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Vertex/incomingTransitions"/> | 17 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Vertex/incomingTransitions"/> |
@@ -20,7 +25,9 @@ | |||
20 | <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Transition/source"/> | 25 | <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference yakindu_simplified.ecore#//Transition/source"/> |
21 | </genClasses> | 26 | </genClasses> |
22 | <genClasses ecoreClass="yakindu_simplified.ecore#//Statechart"/> | 27 | <genClasses ecoreClass="yakindu_simplified.ecore#//Statechart"/> |
23 | <genClasses ecoreClass="yakindu_simplified.ecore#//Entry"/> | 28 | <genClasses ecoreClass="yakindu_simplified.ecore#//Entry"> |
29 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute yakindu_simplified.ecore#//Entry/Type"/> | ||
30 | </genClasses> | ||
24 | <genClasses ecoreClass="yakindu_simplified.ecore#//Synchronization"/> | 31 | <genClasses ecoreClass="yakindu_simplified.ecore#//Synchronization"/> |
25 | <genClasses ecoreClass="yakindu_simplified.ecore#//State"/> | 32 | <genClasses ecoreClass="yakindu_simplified.ecore#//State"/> |
26 | <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//RegularState"/> | 33 | <genClasses image="false" ecoreClass="yakindu_simplified.ecore#//RegularState"/> |
@@ -29,5 +36,6 @@ | |||
29 | </genClasses> | 36 | </genClasses> |
30 | <genClasses ecoreClass="yakindu_simplified.ecore#//Choice"/> | 37 | <genClasses ecoreClass="yakindu_simplified.ecore#//Choice"/> |
31 | <genClasses ecoreClass="yakindu_simplified.ecore#//Exit"/> | 38 | <genClasses ecoreClass="yakindu_simplified.ecore#//Exit"/> |
39 | <genClasses ecoreClass="yakindu_simplified.ecore#//FinalState"/> | ||
32 | </genPackages> | 40 | </genPackages> |
33 | </genmodel:GenModel> | 41 | </genmodel:GenModel> |
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 8069f168..02c67af1 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 | |||
@@ -18,13 +18,6 @@ | |||
18 | <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"/> |
19 | <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"/> |
20 | <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"/> |
21 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchHasNoOutgoing"/> | ||
22 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.synchHasNoIncoming"/> | ||
23 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedIncomingInSameRegion"/> | ||
24 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.notSynchronizingStates"/> | ||
25 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleOutgoingTrainsition"/> | ||
26 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleIncomingTrainsition"/> | ||
27 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionsAreNotSiblings"/> | ||
28 | <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"/> |
29 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionDoesNotHaveMultipleRegions"/> | 22 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.SynchronizedRegionDoesNotHaveMultipleRegions"/> |
30 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleRegions"/> | 23 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.hasMultipleRegions"/> |
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 f4bfa3c1..09fb45c8 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 | |||
@@ -88,67 +88,67 @@ pattern choiceHasNoIncoming(c: Choice) { | |||
88 | neg find transition(_, _, c); | 88 | neg find transition(_, _, c); |
89 | } | 89 | } |
90 | 90 | ||
91 | ///////// | 91 | /////////// |
92 | // Synchronization | 92 | //// Synchronization |
93 | ///////// | 93 | /////////// |
94 | 94 | // | |
95 | @Constraint(severity="error", message="error", key = {s}) | 95 | //@Constraint(severity="error", message="error", key = {s}) |
96 | pattern synchHasNoOutgoing(s : Synchronization) { | 96 | //pattern synchHasNoOutgoing(s : Synchronization) { |
97 | neg find transition(_, s, _); | 97 | // neg find transition(_, s, _); |
98 | } | 98 | //} |
99 | 99 | // | |
100 | @Constraint(severity="error", message="error", key = {s}) | 100 | //@Constraint(severity="error", message="error", key = {s}) |
101 | pattern synchHasNoIncoming(s : Synchronization) { | 101 | //pattern synchHasNoIncoming(s : Synchronization) { |
102 | neg find transition(_, _, s); | 102 | // neg find transition(_, _, s); |
103 | } | 103 | //} |
104 | 104 | // | |
105 | @Constraint(severity="error", message="error", key = {s}) | 105 | //@Constraint(severity="error", message="error", key = {s}) |
106 | pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Vertex) { | 106 | //pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Vertex) { |
107 | find transition(t1, v1, s); | 107 | // find transition(t1, v1, s); |
108 | find transition(t2, v2, s); | 108 | // find transition(t2, v2, s); |
109 | t1!=t2; | 109 | // t1!=t2; |
110 | Region.vertices(r, v1); | 110 | // Region.vertices(r, v1); |
111 | Region.vertices(r, v2); | 111 | // Region.vertices(r, v2); |
112 | } or { | 112 | //} or { |
113 | find transition(t1, s, v1); | 113 | // find transition(t1, s, v1); |
114 | find transition(t2, s, v2); | 114 | // find transition(t2, s, v2); |
115 | t1!=t2; | 115 | // t1!=t2; |
116 | Region.vertices(r, v1); | 116 | // Region.vertices(r, v1); |
117 | Region.vertices(r, v2); | 117 | // Region.vertices(r, v2); |
118 | } | 118 | //} |
119 | 119 | // | |
120 | @Constraint(severity="error", message="error", key = {s}) | 120 | //@Constraint(severity="error", message="error", key = {s}) |
121 | pattern notSynchronizingStates(s : Synchronization) { | 121 | //pattern notSynchronizingStates(s : Synchronization) { |
122 | neg find hasMultipleOutgoingTrainsition(s); | 122 | // neg find hasMultipleOutgoingTrainsition(s); |
123 | neg find hasMultipleIncomingTrainsition(s); | 123 | // neg find hasMultipleIncomingTrainsition(s); |
124 | } | 124 | //} |
125 | 125 | // | |
126 | pattern hasMultipleOutgoingTrainsition(v : Synchronization) { | 126 | //pattern hasMultipleOutgoingTrainsition(v : Synchronization) { |
127 | find transition(_, v, trg1); | 127 | // find transition(_, v, trg1); |
128 | find transition(_, v, trg2); | 128 | // find transition(_, v, trg2); |
129 | trg1 != trg2; | 129 | // trg1 != trg2; |
130 | } | 130 | //} |
131 | 131 | // | |
132 | pattern hasMultipleIncomingTrainsition(v : Synchronization) { | 132 | //pattern hasMultipleIncomingTrainsition(v : Synchronization) { |
133 | find transition(_, src1, v); | 133 | // find transition(_, src1, v); |
134 | find transition(_, src2, v); | 134 | // find transition(_, src2, v); |
135 | src1 != src2; | 135 | // src1 != src2; |
136 | } | 136 | //} |
137 | 137 | // | |
138 | @Constraint(severity="error", message="error", key = {s}) | 138 | //@Constraint(severity="error", message="error", key = {s}) |
139 | pattern SynchronizedRegionsAreNotSiblings(s : Synchronization, v1 : Vertex, v2 : Vertex) { | 139 | //pattern SynchronizedRegionsAreNotSiblings(s : Synchronization, v1 : Vertex, v2 : Vertex) { |
140 | find transition(_, v1, s); | 140 | // find transition(_, v1, s); |
141 | find transition(_, v2, s); | 141 | // find transition(_, v2, s); |
142 | CompositeElement.regions.vertices(r1, v1); | 142 | // CompositeElement.regions.vertices(r1, v1); |
143 | CompositeElement.regions.vertices(r2, v2); | 143 | // CompositeElement.regions.vertices(r2, v2); |
144 | r1 != r2; | 144 | // r1 != r2; |
145 | } or { | 145 | //} or { |
146 | find transition(_, s, v1); | 146 | // find transition(_, s, v1); |
147 | find transition(_, s, v2); | 147 | // find transition(_, s, v2); |
148 | CompositeElement.regions.vertices(r1, v1); | 148 | // CompositeElement.regions.vertices(r1, v1); |
149 | CompositeElement.regions.vertices(r2, v2); | 149 | // CompositeElement.regions.vertices(r2, v2); |
150 | r1 != r2; | 150 | // r1 != r2; |
151 | } | 151 | //} |
152 | 152 | ||
153 | /////////////////////////////// | 153 | /////////////////////////////// |
154 | // Extra | 154 | // Extra |