aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-02-17 15:11:07 -0500
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2020-06-07 19:18:53 -0400
commit1942180d760110c2b9664715bf8e30efec256954 (patch)
tree4d0e72dca29606dd840aafb4537054a447678452 /Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug
parentIntegrate queries partially #19 (diff)
downloadVIATRA-Generator-1942180d760110c2b9664715bf8e30efec256954.tar.gz
VIATRA-Generator-1942180d760110c2b9664715bf8e30efec256954.tar.zst
VIATRA-Generator-1942180d760110c2b9664715bf8e30efec256954.zip
Commit before merge
Diffstat (limited to 'Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug')
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/errors.txt66
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generated3valued.vql_deactivated12531
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generation.logicproblem1422
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/init.partialmodel49
4 files changed, 8268 insertions, 5800 deletions
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/errors.txt b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/errors.txt
index 5caab94d..187ae1ac 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/errors.txt
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/errors.txt
@@ -1,55 +1,17 @@
1Error occured (IllegalArgumentException): Class FunctionalArchitectureModel is not translated to logic! 1Error occured (NullPointerException):
2 hu.bme.mit.inf.dslreasoner.ecore2logic.EClassMapper_AllElementAsObject.TypeofEClass(EClassMapper_AllElementAsObject.java:63) 2 hu.bme.mit.inf.dslreasoner.application.execution.QueryLoader.lambda$8(QueryLoader.java:108)
3 hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic.TypeofEClass(Ecore2Logic.java:96) 3 org.eclipse.xtext.xbase.lib.internal.BooleanFunctionDelegate.apply(BooleanFunctionDelegate.java:41)
4 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation.transform(InstanceModel2PartialInterpretation.java:99) 4 com.google.common.collect.Iterators$6.computeNext(Iterators.java:617)
5 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic.transform(InstanceModel2Logic.java:19) 5 com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)
6 hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:192) 6 com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)
7 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:130) 7 com.google.common.collect.Iterators.addAll(Iterators.java:366)
8 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:339) 8 com.google.common.collect.Iterables.addAll(Iterables.java:332)
9 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:111) 9 com.google.common.collect.Sets.newLinkedHashSet(Sets.java:383)
10 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor$1.run(ScriptExecutor.java:73) 10 org.eclipse.xtext.xbase.lib.IterableExtensions.toSet(IterableExtensions.java:592)
11 org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)Error occured (IllegalArgumentException): Class FunctionalArchitectureModel is not translated to logic! 11 hu.bme.mit.inf.dslreasoner.application.execution.QueryLoader._getPatterns(QueryLoader.java:84)
12 hu.bme.mit.inf.dslreasoner.ecore2logic.EClassMapper_AllElementAsObject.TypeofEClass(EClassMapper_AllElementAsObject.java:63) 12 hu.bme.mit.inf.dslreasoner.application.execution.QueryLoader.getPatterns(QueryLoader.java:213)
13 hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic.TypeofEClass(Ecore2Logic.java:96) 13 hu.bme.mit.inf.dslreasoner.application.execution.QueryLoader.loadQueries(QueryLoader.java:54)
14 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation.transform(InstanceModel2PartialInterpretation.java:99) 14 hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:167)
15 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic.transform(InstanceModel2Logic.java:19)
16 hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:192)
17 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:130)
18 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:339)
19 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:111)
20 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor$1.run(ScriptExecutor.java:73)
21 org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)Error occured (IllegalStateException): Error loading group hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem
22 org.eclipse.viatra.query.runtime.registry.ExtensionBasedQuerySpecificationLoader$QueryGroupProvider.get(ExtensionBasedQuerySpecificationLoader.java:204)
23 org.eclipse.viatra.query.runtime.registry.ExtensionBasedQuerySpecificationLoader$GroupBasedQuerySpecificationProvider.get(ExtensionBasedQuerySpecificationLoader.java:282)
24 org.eclipse.viatra.query.runtime.registry.ExtensionBasedQuerySpecificationLoader$GroupBasedQuerySpecificationProvider.get(ExtensionBasedQuerySpecificationLoader.java:1)
25 org.eclipse.viatra.query.runtime.registry.data.RegistryEntryImpl.get(RegistryEntryImpl.java:66)
26 org.eclipse.viatra.query.runtime.registry.data.RegistryEntryImpl.get(RegistryEntryImpl.java:1)
27 org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory.findQuerySpecification(QueryBasedFeatureSettingDelegateFactory.java:152)
28 org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory.createSettingDelegate(QueryBasedFeatureSettingDelegateFactory.java:113)
29 org.eclipse.emf.ecore.impl.EStructuralFeatureImpl.getSettingDelegate(EStructuralFeatureImpl.java:854)
30 ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileSystemImpl.<init>(FileSystemImpl.java:55)
31 ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemFactoryImpl.createFileSystem(filesystemFactoryImpl.java:74)
32 ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemFactoryImpl.create(filesystemFactoryImpl.java:59)
33 hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore.transformInterpretation(Logic2Ecore.java:75)
34 hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:359)
35 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:130)
36 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:339)
37 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:111)
38 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor$1.run(ScriptExecutor.java:73)
39 org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)Error occured (IllegalStateException): Error loading group hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem
40 org.eclipse.viatra.query.runtime.registry.ExtensionBasedQuerySpecificationLoader$QueryGroupProvider.get(ExtensionBasedQuerySpecificationLoader.java:204)
41 org.eclipse.viatra.query.runtime.registry.ExtensionBasedQuerySpecificationLoader$GroupBasedQuerySpecificationProvider.get(ExtensionBasedQuerySpecificationLoader.java:282)
42 org.eclipse.viatra.query.runtime.registry.ExtensionBasedQuerySpecificationLoader$GroupBasedQuerySpecificationProvider.get(ExtensionBasedQuerySpecificationLoader.java:1)
43 org.eclipse.viatra.query.runtime.registry.data.RegistryEntryImpl.get(RegistryEntryImpl.java:66)
44 org.eclipse.viatra.query.runtime.registry.data.RegistryEntryImpl.get(RegistryEntryImpl.java:1)
45 org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory.findQuerySpecification(QueryBasedFeatureSettingDelegateFactory.java:152)
46 org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory.createSettingDelegate(QueryBasedFeatureSettingDelegateFactory.java:113)
47 org.eclipse.emf.ecore.impl.EStructuralFeatureImpl.getSettingDelegate(EStructuralFeatureImpl.java:854)
48 ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.FileSystemImpl.<init>(FileSystemImpl.java:55)
49 ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemFactoryImpl.createFileSystem(filesystemFactoryImpl.java:74)
50 ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.impl.filesystemFactoryImpl.create(filesystemFactoryImpl.java:59)
51 hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore.transformInterpretation(Logic2Ecore.java:75)
52 hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:359)
53 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:130) 15 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:130)
54 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:339) 16 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:339)
55 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:111) 17 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:111)
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generated3valued.vql_deactivated b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generated3valued.vql_deactivated
index f90ed439..5ac9e1dc 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generated3valued.vql_deactivated
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generated3valued.vql_deactivated
@@ -104,27 +104,27 @@ private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretat
104{ 104{
105 find interpretation(problem,interpretation); 105 find interpretation(problem,interpretation);
106 PartialInterpretation.newElements(interpretation,element); 106 PartialInterpretation.newElements(interpretation,element);
107 neg find mustInstanceOfExit_class(problem,interpretation,element);
108 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
109 neg find mustInstanceOfRegion_class(problem,interpretation,element);
110 neg find mustInstanceOfTransition_class(problem,interpretation,element);
111 neg find mustInstanceOfChoice_class(problem,interpretation,element); 107 neg find mustInstanceOfChoice_class(problem,interpretation,element);
112 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 108 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
109 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
113 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 110 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
114 neg find mustInstanceOfEntry_class(problem,interpretation,element); 111 neg find mustInstanceOfEntry_class(problem,interpretation,element);
112 neg find mustInstanceOfTransition_class(problem,interpretation,element);
113 neg find mustInstanceOfRegion_class(problem,interpretation,element);
114 neg find mustInstanceOfExit_class(problem,interpretation,element);
115 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 115 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
116 neg find isPrimitive(element); 116 neg find isPrimitive(element);
117} or { 117} or {
118 find interpretation(problem,interpretation); 118 find interpretation(problem,interpretation);
119 PartialInterpretation.openWorldElements(interpretation,element); 119 PartialInterpretation.openWorldElements(interpretation,element);
120 neg find mustInstanceOfExit_class(problem,interpretation,element);
121 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
122 neg find mustInstanceOfRegion_class(problem,interpretation,element);
123 neg find mustInstanceOfTransition_class(problem,interpretation,element);
124 neg find mustInstanceOfChoice_class(problem,interpretation,element); 120 neg find mustInstanceOfChoice_class(problem,interpretation,element);
125 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 121 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
122 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
126 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 123 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
127 neg find mustInstanceOfEntry_class(problem,interpretation,element); 124 neg find mustInstanceOfEntry_class(problem,interpretation,element);
125 neg find mustInstanceOfTransition_class(problem,interpretation,element);
126 neg find mustInstanceOfRegion_class(problem,interpretation,element);
127 neg find mustInstanceOfExit_class(problem,interpretation,element);
128 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 128 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
129 neg find isPrimitive(element); 129 neg find isPrimitive(element);
130} or 130} or
@@ -152,21 +152,21 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
152{ 152{
153 find interpretation(problem,interpretation); 153 find interpretation(problem,interpretation);
154 PartialInterpretation.newElements(interpretation,element); 154 PartialInterpretation.newElements(interpretation,element);
155 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
155 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 156 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
156 neg find mustInstanceOfTransition_class(problem,interpretation,element);
157 neg find mustInstanceOfRegion_class(problem,interpretation,element);
158 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 157 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
159 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 158 neg find mustInstanceOfRegion_class(problem,interpretation,element);
159 neg find mustInstanceOfTransition_class(problem,interpretation,element);
160 neg find scopeDisallowsNewVertex_class(problem, interpretation); 160 neg find scopeDisallowsNewVertex_class(problem, interpretation);
161 neg find isPrimitive(element); 161 neg find isPrimitive(element);
162} or { 162} or {
163 find interpretation(problem,interpretation); 163 find interpretation(problem,interpretation);
164 PartialInterpretation.openWorldElements(interpretation,element); 164 PartialInterpretation.openWorldElements(interpretation,element);
165 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
165 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 166 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
166 neg find mustInstanceOfTransition_class(problem,interpretation,element);
167 neg find mustInstanceOfRegion_class(problem,interpretation,element);
168 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 167 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
169 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 168 neg find mustInstanceOfRegion_class(problem,interpretation,element);
169 neg find mustInstanceOfTransition_class(problem,interpretation,element);
170 neg find scopeDisallowsNewVertex_class(problem, interpretation); 170 neg find scopeDisallowsNewVertex_class(problem, interpretation);
171 neg find isPrimitive(element); 171 neg find isPrimitive(element);
172} or 172} or
@@ -194,17 +194,17 @@ private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:P
194{ 194{
195 find interpretation(problem,interpretation); 195 find interpretation(problem,interpretation);
196 PartialInterpretation.newElements(interpretation,element); 196 PartialInterpretation.newElements(interpretation,element);
197 neg find mustInstanceOfTransition_class(problem,interpretation,element);
198 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
199 neg find mustInstanceOfVertex_class(problem,interpretation,element); 197 neg find mustInstanceOfVertex_class(problem,interpretation,element);
198 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
199 neg find mustInstanceOfTransition_class(problem,interpretation,element);
200 neg find scopeDisallowsNewRegion_class(problem, interpretation); 200 neg find scopeDisallowsNewRegion_class(problem, interpretation);
201 neg find isPrimitive(element); 201 neg find isPrimitive(element);
202} or { 202} or {
203 find interpretation(problem,interpretation); 203 find interpretation(problem,interpretation);
204 PartialInterpretation.openWorldElements(interpretation,element); 204 PartialInterpretation.openWorldElements(interpretation,element);
205 neg find mustInstanceOfTransition_class(problem,interpretation,element);
206 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
207 neg find mustInstanceOfVertex_class(problem,interpretation,element); 205 neg find mustInstanceOfVertex_class(problem,interpretation,element);
206 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
207 neg find mustInstanceOfTransition_class(problem,interpretation,element);
208 neg find scopeDisallowsNewRegion_class(problem, interpretation); 208 neg find scopeDisallowsNewRegion_class(problem, interpretation);
209 neg find isPrimitive(element); 209 neg find isPrimitive(element);
210} or 210} or
@@ -232,17 +232,17 @@ private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretati
232{ 232{
233 find interpretation(problem,interpretation); 233 find interpretation(problem,interpretation);
234 PartialInterpretation.newElements(interpretation,element); 234 PartialInterpretation.newElements(interpretation,element);
235 neg find mustInstanceOfRegion_class(problem,interpretation,element);
236 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
237 neg find mustInstanceOfVertex_class(problem,interpretation,element); 235 neg find mustInstanceOfVertex_class(problem,interpretation,element);
236 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
237 neg find mustInstanceOfRegion_class(problem,interpretation,element);
238 neg find scopeDisallowsNewTransition_class(problem, interpretation); 238 neg find scopeDisallowsNewTransition_class(problem, interpretation);
239 neg find isPrimitive(element); 239 neg find isPrimitive(element);
240} or { 240} or {
241 find interpretation(problem,interpretation); 241 find interpretation(problem,interpretation);
242 PartialInterpretation.openWorldElements(interpretation,element); 242 PartialInterpretation.openWorldElements(interpretation,element);
243 neg find mustInstanceOfRegion_class(problem,interpretation,element);
244 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
245 neg find mustInstanceOfVertex_class(problem,interpretation,element); 243 neg find mustInstanceOfVertex_class(problem,interpretation,element);
244 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
245 neg find mustInstanceOfRegion_class(problem,interpretation,element);
246 neg find scopeDisallowsNewTransition_class(problem, interpretation); 246 neg find scopeDisallowsNewTransition_class(problem, interpretation);
247 neg find isPrimitive(element); 247 neg find isPrimitive(element);
248} or 248} or
@@ -270,18 +270,18 @@ private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretati
270{ 270{
271 find interpretation(problem,interpretation); 271 find interpretation(problem,interpretation);
272 PartialInterpretation.newElements(interpretation,element); 272 PartialInterpretation.newElements(interpretation,element);
273 neg find mustInstanceOfRegion_class(problem,interpretation,element);
274 neg find mustInstanceOfTransition_class(problem,interpretation,element);
275 neg find mustInstanceOfVertex_class(problem,interpretation,element); 273 neg find mustInstanceOfVertex_class(problem,interpretation,element);
274 neg find mustInstanceOfTransition_class(problem,interpretation,element);
275 neg find mustInstanceOfRegion_class(problem,interpretation,element);
276 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 276 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
277 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 277 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
278 neg find isPrimitive(element); 278 neg find isPrimitive(element);
279} or { 279} or {
280 find interpretation(problem,interpretation); 280 find interpretation(problem,interpretation);
281 PartialInterpretation.openWorldElements(interpretation,element); 281 PartialInterpretation.openWorldElements(interpretation,element);
282 neg find mustInstanceOfRegion_class(problem,interpretation,element);
283 neg find mustInstanceOfTransition_class(problem,interpretation,element);
284 neg find mustInstanceOfVertex_class(problem,interpretation,element); 282 neg find mustInstanceOfVertex_class(problem,interpretation,element);
283 neg find mustInstanceOfTransition_class(problem,interpretation,element);
284 neg find mustInstanceOfRegion_class(problem,interpretation,element);
285 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 285 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
286 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 286 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
287 neg find isPrimitive(element); 287 neg find isPrimitive(element);
@@ -310,25 +310,25 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
310{ 310{
311 find interpretation(problem,interpretation); 311 find interpretation(problem,interpretation);
312 PartialInterpretation.newElements(interpretation,element); 312 PartialInterpretation.newElements(interpretation,element);
313 neg find mustInstanceOfExit_class(problem,interpretation,element);
314 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
315 neg find mustInstanceOfTransition_class(problem,interpretation,element);
316 neg find mustInstanceOfRegion_class(problem,interpretation,element);
317 neg find mustInstanceOfChoice_class(problem,interpretation,element); 313 neg find mustInstanceOfChoice_class(problem,interpretation,element);
318 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 314 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
315 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
319 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 316 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
317 neg find mustInstanceOfTransition_class(problem,interpretation,element);
318 neg find mustInstanceOfRegion_class(problem,interpretation,element);
319 neg find mustInstanceOfExit_class(problem,interpretation,element);
320 neg find scopeDisallowsNewEntry_class(problem, interpretation); 320 neg find scopeDisallowsNewEntry_class(problem, interpretation);
321 neg find isPrimitive(element); 321 neg find isPrimitive(element);
322} or { 322} or {
323 find interpretation(problem,interpretation); 323 find interpretation(problem,interpretation);
324 PartialInterpretation.openWorldElements(interpretation,element); 324 PartialInterpretation.openWorldElements(interpretation,element);
325 neg find mustInstanceOfExit_class(problem,interpretation,element);
326 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
327 neg find mustInstanceOfTransition_class(problem,interpretation,element);
328 neg find mustInstanceOfRegion_class(problem,interpretation,element);
329 neg find mustInstanceOfChoice_class(problem,interpretation,element); 325 neg find mustInstanceOfChoice_class(problem,interpretation,element);
330 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 326 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
327 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
331 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 328 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
329 neg find mustInstanceOfTransition_class(problem,interpretation,element);
330 neg find mustInstanceOfRegion_class(problem,interpretation,element);
331 neg find mustInstanceOfExit_class(problem,interpretation,element);
332 neg find scopeDisallowsNewEntry_class(problem, interpretation); 332 neg find scopeDisallowsNewEntry_class(problem, interpretation);
333 neg find isPrimitive(element); 333 neg find isPrimitive(element);
334} or 334} or
@@ -356,25 +356,25 @@ private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpr
356{ 356{
357 find interpretation(problem,interpretation); 357 find interpretation(problem,interpretation);
358 PartialInterpretation.newElements(interpretation,element); 358 PartialInterpretation.newElements(interpretation,element);
359 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
360 neg find mustInstanceOfExit_class(problem,interpretation,element);
361 neg find mustInstanceOfRegion_class(problem,interpretation,element);
362 neg find mustInstanceOfTransition_class(problem,interpretation,element);
363 neg find mustInstanceOfChoice_class(problem,interpretation,element); 359 neg find mustInstanceOfChoice_class(problem,interpretation,element);
364 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 360 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
361 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
365 neg find mustInstanceOfEntry_class(problem,interpretation,element); 362 neg find mustInstanceOfEntry_class(problem,interpretation,element);
363 neg find mustInstanceOfTransition_class(problem,interpretation,element);
364 neg find mustInstanceOfRegion_class(problem,interpretation,element);
365 neg find mustInstanceOfExit_class(problem,interpretation,element);
366 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 366 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
367 neg find isPrimitive(element); 367 neg find isPrimitive(element);
368} or { 368} or {
369 find interpretation(problem,interpretation); 369 find interpretation(problem,interpretation);
370 PartialInterpretation.openWorldElements(interpretation,element); 370 PartialInterpretation.openWorldElements(interpretation,element);
371 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
372 neg find mustInstanceOfExit_class(problem,interpretation,element);
373 neg find mustInstanceOfRegion_class(problem,interpretation,element);
374 neg find mustInstanceOfTransition_class(problem,interpretation,element);
375 neg find mustInstanceOfChoice_class(problem,interpretation,element); 371 neg find mustInstanceOfChoice_class(problem,interpretation,element);
376 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 372 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
373 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
377 neg find mustInstanceOfEntry_class(problem,interpretation,element); 374 neg find mustInstanceOfEntry_class(problem,interpretation,element);
375 neg find mustInstanceOfTransition_class(problem,interpretation,element);
376 neg find mustInstanceOfRegion_class(problem,interpretation,element);
377 neg find mustInstanceOfExit_class(problem,interpretation,element);
378 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 378 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
379 neg find isPrimitive(element); 379 neg find isPrimitive(element);
380} or 380} or
@@ -403,9 +403,9 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
403 find interpretation(problem,interpretation); 403 find interpretation(problem,interpretation);
404 PartialInterpretation.newElements(interpretation,element); 404 PartialInterpretation.newElements(interpretation,element);
405 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 405 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
406 neg find mustInstanceOfRegion_class(problem,interpretation,element);
407 neg find mustInstanceOfTransition_class(problem,interpretation,element);
408 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 406 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
407 neg find mustInstanceOfTransition_class(problem,interpretation,element);
408 neg find mustInstanceOfRegion_class(problem,interpretation,element);
409 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 409 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
410 neg find scopeDisallowsNewState_class(problem, interpretation); 410 neg find scopeDisallowsNewState_class(problem, interpretation);
411 neg find isPrimitive(element); 411 neg find isPrimitive(element);
@@ -413,9 +413,9 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
413 find interpretation(problem,interpretation); 413 find interpretation(problem,interpretation);
414 PartialInterpretation.openWorldElements(interpretation,element); 414 PartialInterpretation.openWorldElements(interpretation,element);
415 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 415 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
416 neg find mustInstanceOfRegion_class(problem,interpretation,element);
417 neg find mustInstanceOfTransition_class(problem,interpretation,element);
418 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 416 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
417 neg find mustInstanceOfTransition_class(problem,interpretation,element);
418 neg find mustInstanceOfRegion_class(problem,interpretation,element);
419 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 419 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
420 neg find scopeDisallowsNewState_class(problem, interpretation); 420 neg find scopeDisallowsNewState_class(problem, interpretation);
421 neg find isPrimitive(element); 421 neg find isPrimitive(element);
@@ -445,20 +445,20 @@ private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpreta
445 find interpretation(problem,interpretation); 445 find interpretation(problem,interpretation);
446 PartialInterpretation.newElements(interpretation,element); 446 PartialInterpretation.newElements(interpretation,element);
447 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 447 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
448 neg find mustInstanceOfTransition_class(problem,interpretation,element);
449 neg find mustInstanceOfRegion_class(problem,interpretation,element);
450 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
451 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 448 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
449 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
450 neg find mustInstanceOfRegion_class(problem,interpretation,element);
451 neg find mustInstanceOfTransition_class(problem,interpretation,element);
452 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 452 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
453 neg find isPrimitive(element); 453 neg find isPrimitive(element);
454} or { 454} or {
455 find interpretation(problem,interpretation); 455 find interpretation(problem,interpretation);
456 PartialInterpretation.openWorldElements(interpretation,element); 456 PartialInterpretation.openWorldElements(interpretation,element);
457 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 457 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
458 neg find mustInstanceOfTransition_class(problem,interpretation,element);
459 neg find mustInstanceOfRegion_class(problem,interpretation,element);
460 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
461 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 458 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
459 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
460 neg find mustInstanceOfRegion_class(problem,interpretation,element);
461 neg find mustInstanceOfTransition_class(problem,interpretation,element);
462 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 462 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
463 neg find isPrimitive(element); 463 neg find isPrimitive(element);
464} or 464} or
@@ -486,21 +486,21 @@ private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interp
486{ 486{
487 find interpretation(problem,interpretation); 487 find interpretation(problem,interpretation);
488 PartialInterpretation.newElements(interpretation,element); 488 PartialInterpretation.newElements(interpretation,element);
489 neg find mustInstanceOfVertex_class(problem,interpretation,element);
490 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
489 neg find mustInstanceOfTransition_class(problem,interpretation,element); 491 neg find mustInstanceOfTransition_class(problem,interpretation,element);
490 neg find mustInstanceOfRegion_class(problem,interpretation,element); 492 neg find mustInstanceOfRegion_class(problem,interpretation,element);
491 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
492 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 493 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
493 neg find mustInstanceOfVertex_class(problem,interpretation,element);
494 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 494 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
495 neg find isPrimitive(element); 495 neg find isPrimitive(element);
496} or { 496} or {
497 find interpretation(problem,interpretation); 497 find interpretation(problem,interpretation);
498 PartialInterpretation.openWorldElements(interpretation,element); 498 PartialInterpretation.openWorldElements(interpretation,element);
499 neg find mustInstanceOfVertex_class(problem,interpretation,element);
500 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
499 neg find mustInstanceOfTransition_class(problem,interpretation,element); 501 neg find mustInstanceOfTransition_class(problem,interpretation,element);
500 neg find mustInstanceOfRegion_class(problem,interpretation,element); 502 neg find mustInstanceOfRegion_class(problem,interpretation,element);
501 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
502 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 503 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
503 neg find mustInstanceOfVertex_class(problem,interpretation,element);
504 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 504 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
505 neg find isPrimitive(element); 505 neg find isPrimitive(element);
506} or 506} or
@@ -528,25 +528,25 @@ private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:P
528{ 528{
529 find interpretation(problem,interpretation); 529 find interpretation(problem,interpretation);
530 PartialInterpretation.newElements(interpretation,element); 530 PartialInterpretation.newElements(interpretation,element);
531 neg find mustInstanceOfExit_class(problem,interpretation,element); 531 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
532 neg find mustInstanceOfEntry_class(problem,interpretation,element);
533 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
532 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 534 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
533 neg find mustInstanceOfRegion_class(problem,interpretation,element); 535 neg find mustInstanceOfRegion_class(problem,interpretation,element);
534 neg find mustInstanceOfTransition_class(problem,interpretation,element); 536 neg find mustInstanceOfTransition_class(problem,interpretation,element);
535 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 537 neg find mustInstanceOfExit_class(problem,interpretation,element);
536 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
537 neg find mustInstanceOfEntry_class(problem,interpretation,element);
538 neg find scopeDisallowsNewChoice_class(problem, interpretation); 538 neg find scopeDisallowsNewChoice_class(problem, interpretation);
539 neg find isPrimitive(element); 539 neg find isPrimitive(element);
540} or { 540} or {
541 find interpretation(problem,interpretation); 541 find interpretation(problem,interpretation);
542 PartialInterpretation.openWorldElements(interpretation,element); 542 PartialInterpretation.openWorldElements(interpretation,element);
543 neg find mustInstanceOfExit_class(problem,interpretation,element); 543 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
544 neg find mustInstanceOfEntry_class(problem,interpretation,element);
545 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
544 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 546 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
545 neg find mustInstanceOfRegion_class(problem,interpretation,element); 547 neg find mustInstanceOfRegion_class(problem,interpretation,element);
546 neg find mustInstanceOfTransition_class(problem,interpretation,element); 548 neg find mustInstanceOfTransition_class(problem,interpretation,element);
547 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 549 neg find mustInstanceOfExit_class(problem,interpretation,element);
548 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
549 neg find mustInstanceOfEntry_class(problem,interpretation,element);
550 neg find scopeDisallowsNewChoice_class(problem, interpretation); 550 neg find scopeDisallowsNewChoice_class(problem, interpretation);
551 neg find isPrimitive(element); 551 neg find isPrimitive(element);
552} or 552} or
@@ -574,25 +574,25 @@ private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:Par
574{ 574{
575 find interpretation(problem,interpretation); 575 find interpretation(problem,interpretation);
576 PartialInterpretation.newElements(interpretation,element); 576 PartialInterpretation.newElements(interpretation,element);
577 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
578 neg find mustInstanceOfTransition_class(problem,interpretation,element);
579 neg find mustInstanceOfRegion_class(problem,interpretation,element);
580 neg find mustInstanceOfChoice_class(problem,interpretation,element); 577 neg find mustInstanceOfChoice_class(problem,interpretation,element);
581 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 578 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
582 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 579 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
583 neg find mustInstanceOfEntry_class(problem,interpretation,element); 580 neg find mustInstanceOfEntry_class(problem,interpretation,element);
581 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
582 neg find mustInstanceOfRegion_class(problem,interpretation,element);
583 neg find mustInstanceOfTransition_class(problem,interpretation,element);
584 neg find scopeDisallowsNewExit_class(problem, interpretation); 584 neg find scopeDisallowsNewExit_class(problem, interpretation);
585 neg find isPrimitive(element); 585 neg find isPrimitive(element);
586} or { 586} or {
587 find interpretation(problem,interpretation); 587 find interpretation(problem,interpretation);
588 PartialInterpretation.openWorldElements(interpretation,element); 588 PartialInterpretation.openWorldElements(interpretation,element);
589 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
590 neg find mustInstanceOfTransition_class(problem,interpretation,element);
591 neg find mustInstanceOfRegion_class(problem,interpretation,element);
592 neg find mustInstanceOfChoice_class(problem,interpretation,element); 589 neg find mustInstanceOfChoice_class(problem,interpretation,element);
593 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 590 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
594 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 591 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
595 neg find mustInstanceOfEntry_class(problem,interpretation,element); 592 neg find mustInstanceOfEntry_class(problem,interpretation,element);
593 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
594 neg find mustInstanceOfRegion_class(problem,interpretation,element);
595 neg find mustInstanceOfTransition_class(problem,interpretation,element);
596 neg find scopeDisallowsNewExit_class(problem, interpretation); 596 neg find scopeDisallowsNewExit_class(problem, interpretation);
597 neg find isPrimitive(element); 597 neg find isPrimitive(element);
598} or 598} or
@@ -620,19 +620,19 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
620{ 620{
621 find interpretation(problem,interpretation); 621 find interpretation(problem,interpretation);
622 PartialInterpretation.newElements(interpretation,element); 622 PartialInterpretation.newElements(interpretation,element);
623 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
624 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
623 neg find mustInstanceOfTransition_class(problem,interpretation,element); 625 neg find mustInstanceOfTransition_class(problem,interpretation,element);
624 neg find mustInstanceOfRegion_class(problem,interpretation,element); 626 neg find mustInstanceOfRegion_class(problem,interpretation,element);
625 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
626 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
627 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 627 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
628 neg find isPrimitive(element); 628 neg find isPrimitive(element);
629} or { 629} or {
630 find interpretation(problem,interpretation); 630 find interpretation(problem,interpretation);
631 PartialInterpretation.openWorldElements(interpretation,element); 631 PartialInterpretation.openWorldElements(interpretation,element);
632 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
633 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
632 neg find mustInstanceOfTransition_class(problem,interpretation,element); 634 neg find mustInstanceOfTransition_class(problem,interpretation,element);
633 neg find mustInstanceOfRegion_class(problem,interpretation,element); 635 neg find mustInstanceOfRegion_class(problem,interpretation,element);
634 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
635 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
636 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 636 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
637 neg find isPrimitive(element); 637 neg find isPrimitive(element);
638} or 638} or
@@ -681,17 +681,17 @@ private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem
681{ 681{
682 find interpretation(problem,interpretation); 682 find interpretation(problem,interpretation);
683 PartialInterpretation.newElements(interpretation,element); 683 PartialInterpretation.newElements(interpretation,element);
684 neg find mustInstanceOfVertex_class(problem,interpretation,element);
684 neg find mustInstanceOfRegion_class(problem,interpretation,element); 685 neg find mustInstanceOfRegion_class(problem,interpretation,element);
685 neg find mustInstanceOfTransition_class(problem,interpretation,element); 686 neg find mustInstanceOfTransition_class(problem,interpretation,element);
686 neg find mustInstanceOfVertex_class(problem,interpretation,element);
687 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 687 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
688 neg find isPrimitive(element); 688 neg find isPrimitive(element);
689} or { 689} or {
690 find interpretation(problem,interpretation); 690 find interpretation(problem,interpretation);
691 PartialInterpretation.openWorldElements(interpretation,element); 691 PartialInterpretation.openWorldElements(interpretation,element);
692 neg find mustInstanceOfVertex_class(problem,interpretation,element);
692 neg find mustInstanceOfRegion_class(problem,interpretation,element); 693 neg find mustInstanceOfRegion_class(problem,interpretation,element);
693 neg find mustInstanceOfTransition_class(problem,interpretation,element); 694 neg find mustInstanceOfTransition_class(problem,interpretation,element);
694 neg find mustInstanceOfVertex_class(problem,interpretation,element);
695 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 695 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
696 neg find isPrimitive(element); 696 neg find isPrimitive(element);
697} or 697} or
@@ -740,19 +740,19 @@ private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicP
740{ 740{
741 find interpretation(problem,interpretation); 741 find interpretation(problem,interpretation);
742 PartialInterpretation.newElements(interpretation,element); 742 PartialInterpretation.newElements(interpretation,element);
743 neg find mustInstanceOfRegion_class(problem,interpretation,element); 743 neg find mustInstanceOfVertex_class(problem,interpretation,element);
744 neg find mustInstanceOfTransition_class(problem,interpretation,element); 744 neg find mustInstanceOfTransition_class(problem,interpretation,element);
745 neg find mustInstanceOfRegion_class(problem,interpretation,element);
745 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 746 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
746 neg find mustInstanceOfVertex_class(problem,interpretation,element);
747 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 747 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
748 neg find isPrimitive(element); 748 neg find isPrimitive(element);
749} or { 749} or {
750 find interpretation(problem,interpretation); 750 find interpretation(problem,interpretation);
751 PartialInterpretation.openWorldElements(interpretation,element); 751 PartialInterpretation.openWorldElements(interpretation,element);
752 neg find mustInstanceOfRegion_class(problem,interpretation,element); 752 neg find mustInstanceOfVertex_class(problem,interpretation,element);
753 neg find mustInstanceOfTransition_class(problem,interpretation,element); 753 neg find mustInstanceOfTransition_class(problem,interpretation,element);
754 neg find mustInstanceOfRegion_class(problem,interpretation,element);
754 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 755 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
755 neg find mustInstanceOfVertex_class(problem,interpretation,element);
756 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 756 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
757 neg find isPrimitive(element); 757 neg find isPrimitive(element);
758} or 758} or
@@ -987,6 +987,1279 @@ private pattern mayInRelationregions_reference_CompositeElement(
987////////// 987//////////
988// 1.3 Relation Definition Indexers 988// 1.3 Relation Definition Indexers
989////////// 989//////////
990// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries entryInRegion
991private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
992 problem:LogicProblem, interpretation:PartialInterpretation,
993 var_r1, var_e1)
994{
995 find interpretation(problem,interpretation);
996 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
997 find mustInstanceOfEntry_class(problem,interpretation,var_e1);
998 // r1 is exported
999 // e1 is exported
1000 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
1001 find mustInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
1002 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1003 var_virtual0 == var_e1;
1004}
1005private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
1006 problem:LogicProblem, interpretation:PartialInterpretation,
1007 var_r1, var_e1)
1008{
1009 find interpretation(problem,interpretation);
1010 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
1011 find mayInstanceOfEntry_class(problem,interpretation,var_e1);
1012 // r1 is exported
1013 // e1 is exported
1014 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
1015 find mayInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
1016 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
1017 find mayEquivalent(problem, interpretation, var_virtual0, var_e1);
1018}
1019private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
1020 problem:LogicProblem, interpretation:PartialInterpretation,
1021 var_r1, var_e1)
1022{
1023 find interpretation(problem,interpretation);
1024 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
1025 find mustInstanceOfEntry_class(problem,interpretation,var_e1);
1026 // r1 is exported
1027 // e1 is exported
1028 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
1029 find mustInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
1030 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1031 var_virtual0 == var_e1;
1032}
1033// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noEntryInRegion
1034private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
1035 problem:LogicProblem, interpretation:PartialInterpretation,
1036 var_r1)
1037{
1038 find interpretation(problem,interpretation);
1039 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
1040 // r1 is exported
1041 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
1042}
1043private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
1044 problem:LogicProblem, interpretation:PartialInterpretation,
1045 var_r1)
1046{
1047 find interpretation(problem,interpretation);
1048 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
1049 // r1 is exported
1050 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
1051}
1052private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
1053 problem:LogicProblem, interpretation:PartialInterpretation,
1054 var_r1)
1055{
1056 find interpretation(problem,interpretation);
1057 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
1058 // r1 is exported
1059 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
1060}
1061// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleEntryInRegion
1062private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
1063 problem:LogicProblem, interpretation:PartialInterpretation,
1064 var_r)
1065{
1066 find interpretation(problem,interpretation);
1067 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1068 // r is exported
1069 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
1070 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
1071 neg find mayEquivalent(problem, interpretation, var_e1, var_e2);
1072}
1073private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
1074 problem:LogicProblem, interpretation:PartialInterpretation,
1075 var_r)
1076{
1077 find interpretation(problem,interpretation);
1078 find mayInstanceOfRegion_class(problem,interpretation,var_r);
1079 // r is exported
1080 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
1081 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
1082 var_e1 != var_e2;
1083}
1084private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
1085 problem:LogicProblem, interpretation:PartialInterpretation,
1086 var_r)
1087{
1088 find interpretation(problem,interpretation);
1089 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1090 // r is exported
1091 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
1092 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
1093 var_e1 != var_e2;
1094}
1095// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries transition
1096private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
1097 problem:LogicProblem, interpretation:PartialInterpretation,
1098 var_t, var_src, var_trg)
1099{
1100 find interpretation(problem,interpretation);
1101 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1102 find mustInstanceOfVertex_class(problem,interpretation,var_src);
1103 find mustInstanceOfVertex_class(problem,interpretation,var_trg);
1104 // t is exported
1105 // src is exported
1106 // trg is exported
1107 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1108 find mustInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
1109 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1110 var_virtual0 == var_src;
1111 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1112 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
1113 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1114 var_virtual1 == var_trg;
1115}
1116private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
1117 problem:LogicProblem, interpretation:PartialInterpretation,
1118 var_t, var_src, var_trg)
1119{
1120 find interpretation(problem,interpretation);
1121 find mayInstanceOfTransition_class(problem,interpretation,var_t);
1122 find mayInstanceOfVertex_class(problem,interpretation,var_src);
1123 find mayInstanceOfVertex_class(problem,interpretation,var_trg);
1124 // t is exported
1125 // src is exported
1126 // trg is exported
1127 find mayInstanceOfTransition_class(problem,interpretation,var_t);
1128 find mayInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
1129 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
1130 find mayEquivalent(problem, interpretation, var_virtual0, var_src);
1131 find mayInstanceOfTransition_class(problem,interpretation,var_t);
1132 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
1133 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
1134 find mayEquivalent(problem, interpretation, var_virtual1, var_trg);
1135}
1136private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
1137 problem:LogicProblem, interpretation:PartialInterpretation,
1138 var_t, var_src, var_trg)
1139{
1140 find interpretation(problem,interpretation);
1141 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1142 find mustInstanceOfVertex_class(problem,interpretation,var_src);
1143 find mustInstanceOfVertex_class(problem,interpretation,var_trg);
1144 // t is exported
1145 // src is exported
1146 // trg is exported
1147 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1148 find mustInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
1149 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1150 var_virtual0 == var_src;
1151 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1152 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
1153 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1154 var_virtual1 == var_trg;
1155}
1156// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries incomingToEntry
1157private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
1158 problem:LogicProblem, interpretation:PartialInterpretation,
1159 var_t, var_e)
1160{
1161 find interpretation(problem,interpretation);
1162 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1163 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1164 // t is exported
1165 // e is exported
1166 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
1167}
1168private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
1169 problem:LogicProblem, interpretation:PartialInterpretation,
1170 var_t, var_e)
1171{
1172 find interpretation(problem,interpretation);
1173 find mayInstanceOfTransition_class(problem,interpretation,var_t);
1174 find mayInstanceOfEntry_class(problem,interpretation,var_e);
1175 // t is exported
1176 // e is exported
1177 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
1178}
1179private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
1180 problem:LogicProblem, interpretation:PartialInterpretation,
1181 var_t, var_e)
1182{
1183 find interpretation(problem,interpretation);
1184 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1185 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1186 // t is exported
1187 // e is exported
1188 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
1189}
1190// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noOutgoingTransitionFromEntry
1191private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
1192 problem:LogicProblem, interpretation:PartialInterpretation,
1193 var_e)
1194{
1195 find interpretation(problem,interpretation);
1196 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1197 // e is exported
1198 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
1199}
1200private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
1201 problem:LogicProblem, interpretation:PartialInterpretation,
1202 var_e)
1203{
1204 find interpretation(problem,interpretation);
1205 find mayInstanceOfEntry_class(problem,interpretation,var_e);
1206 // e is exported
1207 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
1208}
1209private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
1210 problem:LogicProblem, interpretation:PartialInterpretation,
1211 var_e)
1212{
1213 find interpretation(problem,interpretation);
1214 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1215 // e is exported
1216 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
1217}
1218// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleTransitionFromEntry
1219private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
1220 problem:LogicProblem, interpretation:PartialInterpretation,
1221 var_e, var_t1, var_t2)
1222{
1223 find interpretation(problem,interpretation);
1224 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1225 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
1226 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
1227 // e is exported
1228 // t1 is exported
1229 // t2 is exported
1230 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1231 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
1232 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
1233 var_virtual0 == var_t1;
1234 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1235 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
1236 find mustInstanceOfTransition_class(problem,interpretation,var_virtual1);
1237 var_virtual1 == var_t2;
1238 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
1239}
1240private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
1241 problem:LogicProblem, interpretation:PartialInterpretation,
1242 var_e, var_t1, var_t2)
1243{
1244 find interpretation(problem,interpretation);
1245 find mayInstanceOfEntry_class(problem,interpretation,var_e);
1246 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
1247 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
1248 // e is exported
1249 // t1 is exported
1250 // t2 is exported
1251 find mayInstanceOfEntry_class(problem,interpretation,var_e);
1252 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
1253 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
1254 find mayEquivalent(problem, interpretation, var_virtual0, var_t1);
1255 find mayInstanceOfEntry_class(problem,interpretation,var_e);
1256 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
1257 find mayInstanceOfTransition_class(problem,interpretation,var_virtual1);
1258 find mayEquivalent(problem, interpretation, var_virtual1, var_t2);
1259 var_t1 != var_t2;
1260}
1261private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
1262 problem:LogicProblem, interpretation:PartialInterpretation,
1263 var_e, var_t1, var_t2)
1264{
1265 find interpretation(problem,interpretation);
1266 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1267 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
1268 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
1269 // e is exported
1270 // t1 is exported
1271 // t2 is exported
1272 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1273 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
1274 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
1275 var_virtual0 == var_t1;
1276 find mustInstanceOfEntry_class(problem,interpretation,var_e);
1277 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
1278 find mustInstanceOfTransition_class(problem,interpretation,var_virtual1);
1279 var_virtual1 == var_t2;
1280 var_t1 != var_t2;
1281}
1282// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromExit
1283private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 var_t, var_e)
1286{
1287 find interpretation(problem,interpretation);
1288 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1289 find mustInstanceOfExit_class(problem,interpretation,var_e);
1290 // t is exported
1291 // e is exported
1292 find mustInstanceOfExit_class(problem,interpretation,var_e);
1293 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
1294 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
1295 var_virtual0 == var_t;
1296}
1297private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 var_t, var_e)
1300{
1301 find interpretation(problem,interpretation);
1302 find mayInstanceOfTransition_class(problem,interpretation,var_t);
1303 find mayInstanceOfExit_class(problem,interpretation,var_e);
1304 // t is exported
1305 // e is exported
1306 find mayInstanceOfExit_class(problem,interpretation,var_e);
1307 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
1308 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
1309 find mayEquivalent(problem, interpretation, var_virtual0, var_t);
1310}
1311private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
1312 problem:LogicProblem, interpretation:PartialInterpretation,
1313 var_t, var_e)
1314{
1315 find interpretation(problem,interpretation);
1316 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1317 find mustInstanceOfExit_class(problem,interpretation,var_e);
1318 // t is exported
1319 // e is exported
1320 find mustInstanceOfExit_class(problem,interpretation,var_e);
1321 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
1322 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
1323 var_virtual0 == var_t;
1324}
1325// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromFinal
1326private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
1327 problem:LogicProblem, interpretation:PartialInterpretation,
1328 var_t, var_f)
1329{
1330 find interpretation(problem,interpretation);
1331 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1332 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
1333 // t is exported
1334 // f is exported
1335 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
1336 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
1337 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
1338 var_virtual0 == var_t;
1339}
1340private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
1341 problem:LogicProblem, interpretation:PartialInterpretation,
1342 var_t, var_f)
1343{
1344 find interpretation(problem,interpretation);
1345 find mayInstanceOfTransition_class(problem,interpretation,var_t);
1346 find mayInstanceOfFinalState_class(problem,interpretation,var_f);
1347 // t is exported
1348 // f is exported
1349 find mayInstanceOfFinalState_class(problem,interpretation,var_f);
1350 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
1351 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
1352 find mayEquivalent(problem, interpretation, var_virtual0, var_t);
1353}
1354private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
1355 problem:LogicProblem, interpretation:PartialInterpretation,
1356 var_t, var_f)
1357{
1358 find interpretation(problem,interpretation);
1359 find mustInstanceOfTransition_class(problem,interpretation,var_t);
1360 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
1361 // t is exported
1362 // f is exported
1363 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
1364 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
1365 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
1366 var_virtual0 == var_t;
1367}
1368// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noStateInRegion
1369private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
1370 problem:LogicProblem, interpretation:PartialInterpretation,
1371 var_region)
1372{
1373 find interpretation(problem,interpretation);
1374 find mustInstanceOfRegion_class(problem,interpretation,var_region);
1375 // region is exported
1376 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
1377}
1378private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
1379 problem:LogicProblem, interpretation:PartialInterpretation,
1380 var_region)
1381{
1382 find interpretation(problem,interpretation);
1383 find mayInstanceOfRegion_class(problem,interpretation,var_region);
1384 // region is exported
1385 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
1386}
1387private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
1388 problem:LogicProblem, interpretation:PartialInterpretation,
1389 var_region)
1390{
1391 find interpretation(problem,interpretation);
1392 find mustInstanceOfRegion_class(problem,interpretation,var_region);
1393 // region is exported
1394 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
1395}
1396// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries StateInRegion
1397private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
1398 problem:LogicProblem, interpretation:PartialInterpretation,
1399 var_region, var_state)
1400{
1401 find interpretation(problem,interpretation);
1402 find mustInstanceOfRegion_class(problem,interpretation,var_region);
1403 find mustInstanceOfState_class(problem,interpretation,var_state);
1404 // region is exported
1405 // state is exported
1406 find mustInstanceOfRegion_class(problem,interpretation,var_region);
1407 find mustInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
1408 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1409 var_virtual0 == var_state;
1410}
1411private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
1412 problem:LogicProblem, interpretation:PartialInterpretation,
1413 var_region, var_state)
1414{
1415 find interpretation(problem,interpretation);
1416 find mayInstanceOfRegion_class(problem,interpretation,var_region);
1417 find mayInstanceOfState_class(problem,interpretation,var_state);
1418 // region is exported
1419 // state is exported
1420 find mayInstanceOfRegion_class(problem,interpretation,var_region);
1421 find mayInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
1422 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
1423 find mayEquivalent(problem, interpretation, var_virtual0, var_state);
1424}
1425private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
1426 problem:LogicProblem, interpretation:PartialInterpretation,
1427 var_region, var_state)
1428{
1429 find interpretation(problem,interpretation);
1430 find mustInstanceOfRegion_class(problem,interpretation,var_region);
1431 find mustInstanceOfState_class(problem,interpretation,var_state);
1432 // region is exported
1433 // state is exported
1434 find mustInstanceOfRegion_class(problem,interpretation,var_region);
1435 find mustInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
1436 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1437 var_virtual0 == var_state;
1438}
1439// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoOutgoing
1440private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
1441 problem:LogicProblem, interpretation:PartialInterpretation,
1442 var_c)
1443{
1444 find interpretation(problem,interpretation);
1445 find mustInstanceOfChoice_class(problem,interpretation,var_c);
1446 // c is exported
1447 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
1448}
1449private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_c)
1452{
1453 find interpretation(problem,interpretation);
1454 find mayInstanceOfChoice_class(problem,interpretation,var_c);
1455 // c is exported
1456 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
1457}
1458private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
1459 problem:LogicProblem, interpretation:PartialInterpretation,
1460 var_c)
1461{
1462 find interpretation(problem,interpretation);
1463 find mustInstanceOfChoice_class(problem,interpretation,var_c);
1464 // c is exported
1465 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
1466}
1467// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoIncoming
1468private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
1469 problem:LogicProblem, interpretation:PartialInterpretation,
1470 var_c)
1471{
1472 find interpretation(problem,interpretation);
1473 find mustInstanceOfChoice_class(problem,interpretation,var_c);
1474 // c is exported
1475 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
1476}
1477private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
1478 problem:LogicProblem, interpretation:PartialInterpretation,
1479 var_c)
1480{
1481 find interpretation(problem,interpretation);
1482 find mayInstanceOfChoice_class(problem,interpretation,var_c);
1483 // c is exported
1484 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
1485}
1486private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
1487 problem:LogicProblem, interpretation:PartialInterpretation,
1488 var_c)
1489{
1490 find interpretation(problem,interpretation);
1491 find mustInstanceOfChoice_class(problem,interpretation,var_c);
1492 // c is exported
1493 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
1494}
1495// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoOutgoing
1496private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
1497 problem:LogicProblem, interpretation:PartialInterpretation,
1498 var_s)
1499{
1500 find interpretation(problem,interpretation);
1501 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1502 // s is exported
1503 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
1504}
1505private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
1506 problem:LogicProblem, interpretation:PartialInterpretation,
1507 var_s)
1508{
1509 find interpretation(problem,interpretation);
1510 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
1511 // s is exported
1512 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
1513}
1514private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_s)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1520 // s is exported
1521 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
1522}
1523// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoIncoming
1524private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
1525 problem:LogicProblem, interpretation:PartialInterpretation,
1526 var_s)
1527{
1528 find interpretation(problem,interpretation);
1529 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1530 // s is exported
1531 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
1532}
1533private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_s)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
1539 // s is exported
1540 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
1541}
1542private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
1543 problem:LogicProblem, interpretation:PartialInterpretation,
1544 var_s)
1545{
1546 find interpretation(problem,interpretation);
1547 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1548 // s is exported
1549 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
1550}
1551// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedIncomingInSameRegion
1552private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_s, var_v1, var_v2)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1558 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
1559 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
1560 // s is exported
1561 // v1 is exported
1562 // v2 is exported
1563 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
1564 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
1565 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
1566 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1567 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
1568 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1569 var_virtual0 == var_v1;
1570 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1571 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
1572 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1573 var_virtual1 == var_v2;
1574}or{
1575 find interpretation(problem,interpretation);
1576 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1577 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
1578 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
1579 // s is exported
1580 // v1 is exported
1581 // v2 is exported
1582 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
1583 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
1584 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
1585 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1586 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
1587 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1588 var_virtual0 == var_v1;
1589 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1590 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
1591 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1592 var_virtual1 == var_v2;
1593}
1594private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
1595 problem:LogicProblem, interpretation:PartialInterpretation,
1596 var_s, var_v1, var_v2)
1597{
1598 find interpretation(problem,interpretation);
1599 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
1600 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
1601 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
1602 // s is exported
1603 // v1 is exported
1604 // v2 is exported
1605 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
1606 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
1607 var_t1 != var_t2;
1608 find mayInstanceOfRegion_class(problem,interpretation,var_r);
1609 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
1610 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
1611 find mayEquivalent(problem, interpretation, var_virtual0, var_v1);
1612 find mayInstanceOfRegion_class(problem,interpretation,var_r);
1613 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
1614 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
1615 find mayEquivalent(problem, interpretation, var_virtual1, var_v2);
1616}or{
1617 find interpretation(problem,interpretation);
1618 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
1619 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
1620 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
1621 // s is exported
1622 // v1 is exported
1623 // v2 is exported
1624 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
1625 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
1626 var_t1 != var_t2;
1627 find mayInstanceOfRegion_class(problem,interpretation,var_r);
1628 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
1629 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
1630 find mayEquivalent(problem, interpretation, var_virtual0, var_v1);
1631 find mayInstanceOfRegion_class(problem,interpretation,var_r);
1632 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
1633 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
1634 find mayEquivalent(problem, interpretation, var_virtual1, var_v2);
1635}
1636private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
1637 problem:LogicProblem, interpretation:PartialInterpretation,
1638 var_s, var_v1, var_v2)
1639{
1640 find interpretation(problem,interpretation);
1641 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1642 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
1643 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
1644 // s is exported
1645 // v1 is exported
1646 // v2 is exported
1647 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
1648 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
1649 var_t1 != var_t2;
1650 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1651 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
1652 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1653 var_virtual0 == var_v1;
1654 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1655 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
1656 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1657 var_virtual1 == var_v2;
1658}or{
1659 find interpretation(problem,interpretation);
1660 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1661 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
1662 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
1663 // s is exported
1664 // v1 is exported
1665 // v2 is exported
1666 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
1667 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
1668 var_t1 != var_t2;
1669 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1670 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
1671 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
1672 var_virtual0 == var_v1;
1673 find mustInstanceOfRegion_class(problem,interpretation,var_r);
1674 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
1675 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1676 var_virtual1 == var_v2;
1677}
1678// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries notSynchronizingStates
1679private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
1680 problem:LogicProblem, interpretation:PartialInterpretation,
1681 var_s)
1682{
1683 find interpretation(problem,interpretation);
1684 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1685 // s is exported
1686 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
1687 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
1688}
1689private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
1690 problem:LogicProblem, interpretation:PartialInterpretation,
1691 var_s)
1692{
1693 find interpretation(problem,interpretation);
1694 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
1695 // s is exported
1696 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
1697 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
1698}
1699private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
1700 problem:LogicProblem, interpretation:PartialInterpretation,
1701 var_s)
1702{
1703 find interpretation(problem,interpretation);
1704 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1705 // s is exported
1706 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
1707 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
1708}
1709// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleOutgoingTrainsition
1710private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_v)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
1716 // v is exported
1717 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
1718 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
1719 neg find mayEquivalent(problem, interpretation, var_trg1, var_trg2);
1720}
1721private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
1722 problem:LogicProblem, interpretation:PartialInterpretation,
1723 var_v)
1724{
1725 find interpretation(problem,interpretation);
1726 find mayInstanceOfSynchronization_class(problem,interpretation,var_v);
1727 // v is exported
1728 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
1729 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
1730 var_trg1 != var_trg2;
1731}
1732private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
1733 problem:LogicProblem, interpretation:PartialInterpretation,
1734 var_v)
1735{
1736 find interpretation(problem,interpretation);
1737 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
1738 // v is exported
1739 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
1740 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
1741 var_trg1 != var_trg2;
1742}
1743// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleIncomingTrainsition
1744private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
1745 problem:LogicProblem, interpretation:PartialInterpretation,
1746 var_v)
1747{
1748 find interpretation(problem,interpretation);
1749 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
1750 // v is exported
1751 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
1752 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
1753 neg find mayEquivalent(problem, interpretation, var_src1, var_src2);
1754}
1755private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
1756 problem:LogicProblem, interpretation:PartialInterpretation,
1757 var_v)
1758{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSynchronization_class(problem,interpretation,var_v);
1761 // v is exported
1762 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
1763 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
1764 var_src1 != var_src2;
1765}
1766private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
1767 problem:LogicProblem, interpretation:PartialInterpretation,
1768 var_v)
1769{
1770 find interpretation(problem,interpretation);
1771 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
1772 // v is exported
1773 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
1774 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
1775 var_src1 != var_src2;
1776}
1777// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionsAreNotSiblings
1778private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
1779 problem:LogicProblem, interpretation:PartialInterpretation,
1780 var_s, var_v1, var_v2)
1781{
1782 find interpretation(problem,interpretation);
1783 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1784 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
1785 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
1786 // s is exported
1787 // v1 is exported
1788 // v2 is exported
1789 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
1790 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
1791 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
1792 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
1793 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
1794 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1795 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1796 var_virtual1 == var_v1;
1797 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
1798 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
1799 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
1800 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
1801 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
1802 var_virtual3 == var_v2;
1803 neg find mayEquivalent(problem, interpretation, var_r1, var_r2);
1804}or{
1805 find interpretation(problem,interpretation);
1806 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1807 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
1808 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
1809 // s is exported
1810 // v1 is exported
1811 // v2 is exported
1812 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
1813 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
1814 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
1815 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
1816 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
1817 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1818 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1819 var_virtual1 == var_v1;
1820 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
1821 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
1822 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
1823 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
1824 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
1825 var_virtual3 == var_v2;
1826 neg find mayEquivalent(problem, interpretation, var_r1, var_r2);
1827}
1828private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
1829 problem:LogicProblem, interpretation:PartialInterpretation,
1830 var_s, var_v1, var_v2)
1831{
1832 find interpretation(problem,interpretation);
1833 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
1834 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
1835 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
1836 // s is exported
1837 // v1 is exported
1838 // v2 is exported
1839 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
1840 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
1841 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r1);
1842 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
1843 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
1844 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1845 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
1846 find mayEquivalent(problem, interpretation, var_virtual1, var_v1);
1847 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r2);
1848 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
1849 find mayInstanceOfRegion_class(problem,interpretation,var_virtual2);
1850 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
1851 find mayInstanceOfVertex_class(problem,interpretation,var_virtual3);
1852 find mayEquivalent(problem, interpretation, var_virtual3, var_v2);
1853 var_r1 != var_r2;
1854}or{
1855 find interpretation(problem,interpretation);
1856 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
1857 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
1858 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
1859 // s is exported
1860 // v1 is exported
1861 // v2 is exported
1862 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
1863 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
1864 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r1);
1865 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
1866 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
1867 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1868 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
1869 find mayEquivalent(problem, interpretation, var_virtual1, var_v1);
1870 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r2);
1871 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
1872 find mayInstanceOfRegion_class(problem,interpretation,var_virtual2);
1873 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
1874 find mayInstanceOfVertex_class(problem,interpretation,var_virtual3);
1875 find mayEquivalent(problem, interpretation, var_virtual3, var_v2);
1876 var_r1 != var_r2;
1877}
1878private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
1879 problem:LogicProblem, interpretation:PartialInterpretation,
1880 var_s, var_v1, var_v2)
1881{
1882 find interpretation(problem,interpretation);
1883 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1884 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
1885 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
1886 // s is exported
1887 // v1 is exported
1888 // v2 is exported
1889 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
1890 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
1891 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
1892 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
1893 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
1894 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1895 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1896 var_virtual1 == var_v1;
1897 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
1898 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
1899 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
1900 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
1901 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
1902 var_virtual3 == var_v2;
1903 var_r1 != var_r2;
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1907 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
1908 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
1909 // s is exported
1910 // v1 is exported
1911 // v2 is exported
1912 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
1913 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
1914 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
1915 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
1916 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
1917 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1918 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1919 var_virtual1 == var_v1;
1920 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
1921 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
1922 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
1923 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
1924 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
1925 var_virtual3 == var_v2;
1926 var_r1 != var_r2;
1927}
1928// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries child
1929private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
1930 problem:LogicProblem, interpretation:PartialInterpretation,
1931 var_parent, var_child)
1932{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
1935 find mustInstanceOfVertex_class(problem,interpretation,var_child);
1936 // parent is exported
1937 // child is exported
1938 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
1939 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
1940 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
1941 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1942 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1943 var_virtual1 == var_child;
1944}
1945private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
1946 problem:LogicProblem, interpretation:PartialInterpretation,
1947 var_parent, var_child)
1948{
1949 find interpretation(problem,interpretation);
1950 find mayInstanceOfCompositeElement_class(problem,interpretation,var_parent);
1951 find mayInstanceOfVertex_class(problem,interpretation,var_child);
1952 // parent is exported
1953 // child is exported
1954 find mayInstanceOfCompositeElement_class(problem,interpretation,var_parent);
1955 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
1956 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
1957 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1958 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
1959 find mayEquivalent(problem, interpretation, var_virtual1, var_child);
1960}
1961private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
1962 problem:LogicProblem, interpretation:PartialInterpretation,
1963 var_parent, var_child)
1964{
1965 find interpretation(problem,interpretation);
1966 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
1967 find mustInstanceOfVertex_class(problem,interpretation,var_child);
1968 // parent is exported
1969 // child is exported
1970 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
1971 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
1972 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
1973 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
1974 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
1975 var_virtual1 == var_child;
1976}
1977// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionDoesNotHaveMultipleRegions
1978private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_s, var_v)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1984 find mustInstanceOfVertex_class(problem,interpretation,var_v);
1985 // s is exported
1986 // v is exported
1987 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
1988 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
1989 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
1990}or{
1991 find interpretation(problem,interpretation);
1992 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
1993 find mustInstanceOfVertex_class(problem,interpretation,var_v);
1994 // s is exported
1995 // v is exported
1996 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
1997 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
1998 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
1999}
2000private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
2001 problem:LogicProblem, interpretation:PartialInterpretation,
2002 var_s, var_v)
2003{
2004 find interpretation(problem,interpretation);
2005 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
2006 find mayInstanceOfVertex_class(problem,interpretation,var_v);
2007 // s is exported
2008 // v is exported
2009 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
2010 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
2011 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
2012}or{
2013 find interpretation(problem,interpretation);
2014 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
2015 find mayInstanceOfVertex_class(problem,interpretation,var_v);
2016 // s is exported
2017 // v is exported
2018 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
2019 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
2020 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
2021}
2022private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
2023 problem:LogicProblem, interpretation:PartialInterpretation,
2024 var_s, var_v)
2025{
2026 find interpretation(problem,interpretation);
2027 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
2028 find mustInstanceOfVertex_class(problem,interpretation,var_v);
2029 // s is exported
2030 // v is exported
2031 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
2032 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
2033 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
2034}or{
2035 find interpretation(problem,interpretation);
2036 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
2037 find mustInstanceOfVertex_class(problem,interpretation,var_v);
2038 // s is exported
2039 // v is exported
2040 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
2041 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
2042 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
2043}
2044// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleRegions
2045private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_composite)
2048{
2049 find interpretation(problem,interpretation);
2050 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2051 // composite is exported
2052 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2053 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
2054 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
2055 var_virtual0 == var_region1;
2056 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2057 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
2058 find mustInstanceOfRegion_class(problem,interpretation,var_virtual1);
2059 var_virtual1 == var_region2;
2060 neg find mayEquivalent(problem, interpretation, var_region1, var_region2);
2061}
2062private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
2063 problem:LogicProblem, interpretation:PartialInterpretation,
2064 var_composite)
2065{
2066 find interpretation(problem,interpretation);
2067 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2068 // composite is exported
2069 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2070 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
2071 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
2072 find mayEquivalent(problem, interpretation, var_virtual0, var_region1);
2073 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2074 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
2075 find mayInstanceOfRegion_class(problem,interpretation,var_virtual1);
2076 find mayEquivalent(problem, interpretation, var_virtual1, var_region2);
2077 var_region1 != var_region2;
2078}
2079private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
2080 problem:LogicProblem, interpretation:PartialInterpretation,
2081 var_composite)
2082{
2083 find interpretation(problem,interpretation);
2084 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2085 // composite is exported
2086 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2087 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
2088 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
2089 var_virtual0 == var_region1;
2090 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
2091 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
2092 find mustInstanceOfRegion_class(problem,interpretation,var_virtual1);
2093 var_virtual1 == var_region2;
2094 var_region1 != var_region2;
2095}
2096// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchThree
2097private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
2098 problem:LogicProblem, interpretation:PartialInterpretation,
2099 var_s)
2100{
2101 find interpretation(problem,interpretation);
2102 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
2103 // s is exported
2104 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
2105 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
2106 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
2107 var_virtual0 == var_s;
2108 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
2109 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
2110 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
2111 var_virtual1 == var_s;
2112 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
2113 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
2114 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
2115 var_virtual2 == var_s;
2116 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
2117 neg find mayEquivalent(problem, interpretation, var_t2, var_t3);
2118 neg find mayEquivalent(problem, interpretation, var_t1, var_t3);
2119}or{
2120 find interpretation(problem,interpretation);
2121 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
2122 // s is exported
2123 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
2124 find mustInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
2125 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
2126 var_virtual0 == var_s;
2127 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
2128 find mustInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
2129 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
2130 var_virtual1 == var_s;
2131 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
2132 find mustInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
2133 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
2134 var_virtual2 == var_s;
2135 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
2136 neg find mayEquivalent(problem, interpretation, var_t2, var_t3);
2137 neg find mayEquivalent(problem, interpretation, var_t1, var_t3);
2138}
2139private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
2140 problem:LogicProblem, interpretation:PartialInterpretation,
2141 var_s)
2142{
2143 find interpretation(problem,interpretation);
2144 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
2145 // s is exported
2146 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
2147 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
2148 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
2149 find mayEquivalent(problem, interpretation, var_virtual0, var_s);
2150 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
2151 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
2152 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
2153 find mayEquivalent(problem, interpretation, var_virtual1, var_s);
2154 find mayInstanceOfTransition_class(problem,interpretation,var_t3);
2155 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
2156 find mayInstanceOfVertex_class(problem,interpretation,var_virtual2);
2157 find mayEquivalent(problem, interpretation, var_virtual2, var_s);
2158 var_t1 != var_t2;
2159 var_t2 != var_t3;
2160 var_t1 != var_t3;
2161}or{
2162 find interpretation(problem,interpretation);
2163 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
2164 // s is exported
2165 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
2166 find mayInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
2167 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
2168 find mayEquivalent(problem, interpretation, var_virtual0, var_s);
2169 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
2170 find mayInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
2171 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
2172 find mayEquivalent(problem, interpretation, var_virtual1, var_s);
2173 find mayInstanceOfTransition_class(problem,interpretation,var_t3);
2174 find mayInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
2175 find mayInstanceOfVertex_class(problem,interpretation,var_virtual2);
2176 find mayEquivalent(problem, interpretation, var_virtual2, var_s);
2177 var_t1 != var_t2;
2178 var_t2 != var_t3;
2179 var_t1 != var_t3;
2180}
2181private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
2182 problem:LogicProblem, interpretation:PartialInterpretation,
2183 var_s)
2184{
2185 find interpretation(problem,interpretation);
2186 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
2187 // s is exported
2188 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
2189 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
2190 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
2191 var_virtual0 == var_s;
2192 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
2193 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
2194 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
2195 var_virtual1 == var_s;
2196 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
2197 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
2198 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
2199 var_virtual2 == var_s;
2200 var_t1 != var_t2;
2201 var_t2 != var_t3;
2202 var_t1 != var_t3;
2203}or{
2204 find interpretation(problem,interpretation);
2205 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
2206 // s is exported
2207 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
2208 find mustInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
2209 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
2210 var_virtual0 == var_s;
2211 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
2212 find mustInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
2213 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
2214 var_virtual1 == var_s;
2215 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
2216 find mustInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
2217 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
2218 var_virtual2 == var_s;
2219 var_t1 != var_t2;
2220 var_t2 != var_t3;
2221 var_t1 != var_t3;
2222}
2223// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries twoSynch
2224private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
2225 problem:LogicProblem, interpretation:PartialInterpretation,
2226 var_s1, var_s2)
2227{
2228 find interpretation(problem,interpretation);
2229 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
2230 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
2231 // s1 is exported
2232 // s2 is exported
2233 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
2234 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
2235 neg find mayEquivalent(problem, interpretation, var_s1, var_s2);
2236}
2237private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
2238 problem:LogicProblem, interpretation:PartialInterpretation,
2239 var_s1, var_s2)
2240{
2241 find interpretation(problem,interpretation);
2242 find mayInstanceOfSynchronization_class(problem,interpretation,var_s1);
2243 find mayInstanceOfSynchronization_class(problem,interpretation,var_s2);
2244 // s1 is exported
2245 // s2 is exported
2246 find mayInstanceOfSynchronization_class(problem,interpretation,var_s1);
2247 find mayInstanceOfSynchronization_class(problem,interpretation,var_s2);
2248 var_s1 != var_s2;
2249}
2250private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
2251 problem:LogicProblem, interpretation:PartialInterpretation,
2252 var_s1, var_s2)
2253{
2254 find interpretation(problem,interpretation);
2255 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
2256 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
2257 // s1 is exported
2258 // s2 is exported
2259 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
2260 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
2261 var_s1 != var_s2;
2262}
990 2263
991////////// 2264//////////
992// 1.4 Containment Indexer 2265// 1.4 Containment Indexer
@@ -1012,6 +2285,96 @@ private pattern mustTransitiveContains(source,target) {
1012////////// 2285//////////
1013// 2.1 Invalidated by WF Queries 2286// 2.1 Invalidated by WF Queries
1014////////// 2287//////////
2288pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
2289 var_r1)
2290{
2291 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem,interpretation,var_r1);
2292}
2293pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
2294 var_r)
2295{
2296 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem,interpretation,var_r);
2297}
2298pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_t, var_e)
2300{
2301 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem,interpretation,var_t,var_e);
2302}
2303pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
2304 var_e)
2305{
2306 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem,interpretation,var_e);
2307}
2308pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_e, var_t1, var_t2)
2310{
2311 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem,interpretation,var_e,var_t1,var_t2);
2312}
2313pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem:LogicProblem, interpretation:PartialInterpretation,
2314 var_t, var_e)
2315{
2316 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem,interpretation,var_t,var_e);
2317}
2318pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem:LogicProblem, interpretation:PartialInterpretation,
2319 var_t, var_f)
2320{
2321 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem,interpretation,var_t,var_f);
2322}
2323pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
2324 var_region)
2325{
2326 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem,interpretation,var_region);
2327}
2328pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
2329 var_c)
2330{
2331 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem,interpretation,var_c);
2332}
2333pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
2334 var_c)
2335{
2336 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem,interpretation,var_c);
2337}
2338pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
2339 var_s)
2340{
2341 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem,interpretation,var_s);
2342}
2343pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
2344 var_s)
2345{
2346 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem,interpretation,var_s);
2347}
2348pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem:LogicProblem, interpretation:PartialInterpretation,
2349 var_s, var_v1, var_v2)
2350{
2351 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem,interpretation,var_s,var_v1,var_v2);
2352}
2353pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem:LogicProblem, interpretation:PartialInterpretation,
2354 var_s)
2355{
2356 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem,interpretation,var_s);
2357}
2358pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem:LogicProblem, interpretation:PartialInterpretation,
2359 var_s, var_v1, var_v2)
2360{
2361 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem,interpretation,var_s,var_v1,var_v2);
2362}
2363pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem:LogicProblem, interpretation:PartialInterpretation,
2364 var_s, var_v)
2365{
2366 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem,interpretation,var_s,var_v);
2367}
2368pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem:LogicProblem, interpretation:PartialInterpretation,
2369 var_s)
2370{
2371 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem,interpretation,var_s);
2372}
2373pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem:LogicProblem, interpretation:PartialInterpretation,
2374 var_s1, var_s2)
2375{
2376 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem,interpretation,var_s1,var_s2);
2377}
1015 2378
1016////////// 2379//////////
1017// 3. Unfinishedness Indexers 2380// 3. Unfinishedness Indexers
@@ -1031,6 +2394,96 @@ pattern unfinishedLowerMultiplicity_target_reference_Transition(problem:LogicPro
1031////////// 2394//////////
1032// 3.2 Unfinishedness Measured by WF Queries 2395// 3.2 Unfinishedness Measured by WF Queries
1033////////// 2396//////////
2397pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
2398 var_r1)
2399{
2400 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem,interpretation,var_r1);
2401}
2402pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
2403 var_r)
2404{
2405 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem,interpretation,var_r);
2406}
2407pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem:LogicProblem, interpretation:PartialInterpretation,
2408 var_t, var_e)
2409{
2410 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem,interpretation,var_t,var_e);
2411}
2412pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
2413 var_e)
2414{
2415 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem,interpretation,var_e);
2416}
2417pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
2418 var_e, var_t1, var_t2)
2419{
2420 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem,interpretation,var_e,var_t1,var_t2);
2421}
2422pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem:LogicProblem, interpretation:PartialInterpretation,
2423 var_t, var_e)
2424{
2425 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem,interpretation,var_t,var_e);
2426}
2427pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem:LogicProblem, interpretation:PartialInterpretation,
2428 var_t, var_f)
2429{
2430 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem,interpretation,var_t,var_f);
2431}
2432pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
2433 var_region)
2434{
2435 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem,interpretation,var_region);
2436}
2437pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
2438 var_c)
2439{
2440 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem,interpretation,var_c);
2441}
2442pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
2443 var_c)
2444{
2445 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem,interpretation,var_c);
2446}
2447pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
2448 var_s)
2449{
2450 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem,interpretation,var_s);
2451}
2452pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
2453 var_s)
2454{
2455 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem,interpretation,var_s);
2456}
2457pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem:LogicProblem, interpretation:PartialInterpretation,
2458 var_s, var_v1, var_v2)
2459{
2460 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem,interpretation,var_s,var_v1,var_v2);
2461}
2462pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem:LogicProblem, interpretation:PartialInterpretation,
2463 var_s)
2464{
2465 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem,interpretation,var_s);
2466}
2467pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem:LogicProblem, interpretation:PartialInterpretation,
2468 var_s, var_v1, var_v2)
2469{
2470 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem,interpretation,var_s,var_v1,var_v2);
2471}
2472pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem:LogicProblem, interpretation:PartialInterpretation,
2473 var_s, var_v)
2474{
2475 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem,interpretation,var_s,var_v);
2476}
2477pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem:LogicProblem, interpretation:PartialInterpretation,
2478 var_s)
2479{
2480 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem,interpretation,var_s);
2481}
2482pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem:LogicProblem, interpretation:PartialInterpretation,
2483 var_s1, var_s2)
2484{
2485 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem,interpretation,var_s1,var_s2);
2486}
1034 2487
1035////////// 2488//////////
1036// 4. Refinement Indexers 2489// 4. Refinement Indexers
@@ -1040,55 +2493,55 @@ pattern unfinishedLowerMultiplicity_target_reference_Transition(problem:LogicPro
1040private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 2493private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
1041{ 2494{
1042 find interpretation(problem,interpretation); 2495 find interpretation(problem,interpretation);
1043 find mustInstanceOfPseudostate_class(problem,interpretation,root); 2496 find mustInstanceOfEntry_class(problem,interpretation,root);
1044 find mustExist(problem, interpretation, root); 2497 find mustExist(problem, interpretation, root);
1045}or{ 2498}or{
1046 find interpretation(problem,interpretation); 2499 find interpretation(problem,interpretation);
1047 find mustInstanceOfCompositeElement_class(problem,interpretation,root); 2500 find mustInstanceOfChoice_class(problem,interpretation,root);
1048 find mustExist(problem, interpretation, root); 2501 find mustExist(problem, interpretation, root);
1049}or{ 2502}or{
1050 find interpretation(problem,interpretation); 2503 find interpretation(problem,interpretation);
1051 find mustInstanceOfTransition_class(problem,interpretation,root); 2504 find mustInstanceOfFinalState_class(problem,interpretation,root);
1052 find mustExist(problem, interpretation, root); 2505 find mustExist(problem, interpretation, root);
1053}or{ 2506}or{
1054 find interpretation(problem,interpretation); 2507 find interpretation(problem,interpretation);
1055 find mustInstanceOfState_class(problem,interpretation,root); 2508 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
1056 find mustExist(problem, interpretation, root); 2509 find mustExist(problem, interpretation, root);
1057}or{ 2510}or{
1058 find interpretation(problem,interpretation); 2511 find interpretation(problem,interpretation);
1059 find mustInstanceOfSynchronization_class(problem,interpretation,root); 2512 find mustInstanceOfStatechart_class(problem,interpretation,root);
1060 find mustExist(problem, interpretation, root); 2513 find mustExist(problem, interpretation, root);
1061}or{ 2514}or{
1062 find interpretation(problem,interpretation); 2515 find interpretation(problem,interpretation);
1063 find mustInstanceOfEntry_class(problem,interpretation,root); 2516 find mustInstanceOfVertex_class(problem,interpretation,root);
1064 find mustExist(problem, interpretation, root); 2517 find mustExist(problem, interpretation, root);
1065}or{ 2518}or{
1066 find interpretation(problem,interpretation); 2519 find interpretation(problem,interpretation);
1067 find mustInstanceOfRegularState_class(problem,interpretation,root); 2520 find mustInstanceOfState_class(problem,interpretation,root);
1068 find mustExist(problem, interpretation, root); 2521 find mustExist(problem, interpretation, root);
1069}or{ 2522}or{
1070 find interpretation(problem,interpretation); 2523 find interpretation(problem,interpretation);
1071 find mustInstanceOfChoice_class(problem,interpretation,root); 2524 find mustInstanceOfPseudostate_class(problem,interpretation,root);
1072 find mustExist(problem, interpretation, root); 2525 find mustExist(problem, interpretation, root);
1073}or{ 2526}or{
1074 find interpretation(problem,interpretation); 2527 find interpretation(problem,interpretation);
1075 find mustInstanceOfVertex_class(problem,interpretation,root); 2528 find mustInstanceOfExit_class(problem,interpretation,root);
1076 find mustExist(problem, interpretation, root); 2529 find mustExist(problem, interpretation, root);
1077}or{ 2530}or{
1078 find interpretation(problem,interpretation); 2531 find interpretation(problem,interpretation);
1079 find mustInstanceOfStatechart_class(problem,interpretation,root); 2532 find mustInstanceOfTransition_class(problem,interpretation,root);
1080 find mustExist(problem, interpretation, root); 2533 find mustExist(problem, interpretation, root);
1081}or{ 2534}or{
1082 find interpretation(problem,interpretation); 2535 find interpretation(problem,interpretation);
1083 find mustInstanceOfExit_class(problem,interpretation,root); 2536 find mustInstanceOfRegularState_class(problem,interpretation,root);
1084 find mustExist(problem, interpretation, root); 2537 find mustExist(problem, interpretation, root);
1085}or{ 2538}or{
1086 find interpretation(problem,interpretation); 2539 find interpretation(problem,interpretation);
1087 find mustInstanceOfFinalState_class(problem,interpretation,root); 2540 find mustInstanceOfRegion_class(problem,interpretation,root);
1088 find mustExist(problem, interpretation, root); 2541 find mustExist(problem, interpretation, root);
1089}or{ 2542}or{
1090 find interpretation(problem,interpretation); 2543 find interpretation(problem,interpretation);
1091 find mustInstanceOfRegion_class(problem,interpretation,root); 2544 find mustInstanceOfSynchronization_class(problem,interpretation,root);
1092 find mustExist(problem, interpretation, root); 2545 find mustExist(problem, interpretation, root);
1093}or{ 2546}or{
1094 find interpretation(problem,interpretation); 2547 find interpretation(problem,interpretation);
@@ -1107,31 +2560,31 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
1107 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root); 2560 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
1108 find mustExist(problem, interpretation, root); 2561 find mustExist(problem, interpretation, root);
1109} 2562}
1110pattern createObject_Exit_class_by_vertices_reference_Region( 2563pattern createObject_Choice_class_by_vertices_reference_Region(
1111 problem:LogicProblem, interpretation:PartialInterpretation, 2564 problem:LogicProblem, interpretation:PartialInterpretation,
1112 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2565 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
1113 container:DefinedElement) 2566 container:DefinedElement)
1114{ 2567{
1115 find interpretation(problem,interpretation); 2568 find interpretation(problem,interpretation);
1116 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2569 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1117 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 2570 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
1118 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2571 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
1119 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 2572 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
1120 find mustInstanceOfRegion_class(problem,interpretation,container); 2573 find mustInstanceOfRegion_class(problem,interpretation,container);
1121 find mayInstanceOfExit_class(problem,interpretation,newObject); 2574 find mayInstanceOfChoice_class(problem,interpretation,newObject);
1122 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 2575 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
1123 find mustExist(problem, interpretation, container); 2576 find mustExist(problem, interpretation, container);
1124 neg find mustExist(problem, interpretation, newObject); 2577 neg find mustExist(problem, interpretation, newObject);
1125} 2578}
1126pattern createObject_Exit_class( 2579pattern createObject_Choice_class(
1127 problem:LogicProblem, interpretation:PartialInterpretation, 2580 problem:LogicProblem, interpretation:PartialInterpretation,
1128 typeInterpretation:PartialComplexTypeInterpretation) 2581 typeInterpretation:PartialComplexTypeInterpretation)
1129{ 2582{
1130 find interpretation(problem,interpretation); 2583 find interpretation(problem,interpretation);
1131 neg find hasElementInContainment(problem,interpretation); 2584 neg find hasElementInContainment(problem,interpretation);
1132 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2585 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1133 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 2586 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
1134 find mayInstanceOfExit_class(problem,interpretation,newObject); 2587 find mayInstanceOfChoice_class(problem,interpretation,newObject);
1135 find mayExist(problem, interpretation, newObject); 2588 find mayExist(problem, interpretation, newObject);
1136 neg find mustExist(problem, interpretation, newObject); 2589 neg find mustExist(problem, interpretation, newObject);
1137} 2590}
@@ -1163,185 +2616,185 @@ pattern createObject_FinalState_class(
1163 find mayExist(problem, interpretation, newObject); 2616 find mayExist(problem, interpretation, newObject);
1164 neg find mustExist(problem, interpretation, newObject); 2617 neg find mustExist(problem, interpretation, newObject);
1165} 2618}
1166pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( 2619pattern createObject_Synchronization_class_by_vertices_reference_Region(
1167 problem:LogicProblem, interpretation:PartialInterpretation, 2620 problem:LogicProblem, interpretation:PartialInterpretation,
1168 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2621 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
1169 container:DefinedElement) 2622 container:DefinedElement)
1170{ 2623{
1171 find interpretation(problem,interpretation); 2624 find interpretation(problem,interpretation);
1172 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2625 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1173 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 2626 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
1174 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2627 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
1175 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex"); 2628 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
1176 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 2629 find mustInstanceOfRegion_class(problem,interpretation,container);
1177 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition"); 2630 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
1178 find mustInstanceOfVertex_class(problem,interpretation,container); 2631 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
1179 find mayInstanceOfTransition_class(problem,interpretation,newObject);
1180 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
1181 find mustExist(problem, interpretation, container); 2632 find mustExist(problem, interpretation, container);
1182 neg find mustExist(problem, interpretation, newObject); 2633 neg find mustExist(problem, interpretation, newObject);
1183} 2634}
1184pattern createObject_Transition_class( 2635pattern createObject_Synchronization_class(
1185 problem:LogicProblem, interpretation:PartialInterpretation, 2636 problem:LogicProblem, interpretation:PartialInterpretation,
1186 typeInterpretation:PartialComplexTypeInterpretation) 2637 typeInterpretation:PartialComplexTypeInterpretation)
1187{ 2638{
1188 find interpretation(problem,interpretation); 2639 find interpretation(problem,interpretation);
1189 neg find hasElementInContainment(problem,interpretation); 2640 neg find hasElementInContainment(problem,interpretation);
1190 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2641 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1191 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 2642 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
1192 find mayInstanceOfTransition_class(problem,interpretation,newObject); 2643 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
1193 find mayExist(problem, interpretation, newObject); 2644 find mayExist(problem, interpretation, newObject);
1194 neg find mustExist(problem, interpretation, newObject); 2645 neg find mustExist(problem, interpretation, newObject);
1195} 2646}
1196pattern createObject_Region_class_by_regions_reference_CompositeElement( 2647pattern createObject_Statechart_class_UndefinedPart(
1197 problem:LogicProblem, interpretation:PartialInterpretation,
1198 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
1199 container:DefinedElement)
1200{
1201 find interpretation(problem,interpretation);
1202 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1203 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
1204 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
1205 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement");
1206 find mustInstanceOfCompositeElement_class(problem,interpretation,container);
1207 find mayInstanceOfRegion_class(problem,interpretation,newObject);
1208 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject);
1209 find mustExist(problem, interpretation, container);
1210 neg find mustExist(problem, interpretation, newObject);
1211}
1212pattern createObject_Region_class(
1213 problem:LogicProblem, interpretation:PartialInterpretation, 2648 problem:LogicProblem, interpretation:PartialInterpretation,
1214 typeInterpretation:PartialComplexTypeInterpretation) 2649 typeInterpretation:PartialComplexTypeInterpretation)
1215{ 2650{
1216 find interpretation(problem,interpretation); 2651 find interpretation(problem,interpretation);
1217 neg find hasElementInContainment(problem,interpretation); 2652 neg find hasElementInContainment(problem,interpretation);
1218 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2653 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1219 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class"); 2654 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart");
1220 find mayInstanceOfRegion_class(problem,interpretation,newObject); 2655 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject);
1221 find mayExist(problem, interpretation, newObject); 2656 find mayExist(problem, interpretation, newObject);
1222 neg find mustExist(problem, interpretation, newObject); 2657 neg find mustExist(problem, interpretation, newObject);
1223} 2658}
1224pattern createObject_Choice_class_by_vertices_reference_Region( 2659pattern createObject_Entry_class_by_vertices_reference_Region(
1225 problem:LogicProblem, interpretation:PartialInterpretation, 2660 problem:LogicProblem, interpretation:PartialInterpretation,
1226 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2661 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
1227 container:DefinedElement) 2662 container:DefinedElement)
1228{ 2663{
1229 find interpretation(problem,interpretation); 2664 find interpretation(problem,interpretation);
1230 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2665 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1231 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 2666 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
1232 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2667 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
1233 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 2668 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
1234 find mustInstanceOfRegion_class(problem,interpretation,container); 2669 find mustInstanceOfRegion_class(problem,interpretation,container);
1235 find mayInstanceOfChoice_class(problem,interpretation,newObject); 2670 find mayInstanceOfEntry_class(problem,interpretation,newObject);
1236 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 2671 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
1237 find mustExist(problem, interpretation, container); 2672 find mustExist(problem, interpretation, container);
1238 neg find mustExist(problem, interpretation, newObject); 2673 neg find mustExist(problem, interpretation, newObject);
1239} 2674}
1240pattern createObject_Choice_class( 2675pattern createObject_Entry_class(
1241 problem:LogicProblem, interpretation:PartialInterpretation, 2676 problem:LogicProblem, interpretation:PartialInterpretation,
1242 typeInterpretation:PartialComplexTypeInterpretation) 2677 typeInterpretation:PartialComplexTypeInterpretation)
1243{ 2678{
1244 find interpretation(problem,interpretation); 2679 find interpretation(problem,interpretation);
1245 neg find hasElementInContainment(problem,interpretation); 2680 neg find hasElementInContainment(problem,interpretation);
1246 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2681 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1247 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 2682 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
1248 find mayInstanceOfChoice_class(problem,interpretation,newObject); 2683 find mayInstanceOfEntry_class(problem,interpretation,newObject);
1249 find mayExist(problem, interpretation, newObject); 2684 find mayExist(problem, interpretation, newObject);
1250 neg find mustExist(problem, interpretation, newObject); 2685 neg find mustExist(problem, interpretation, newObject);
1251} 2686}
1252pattern createObject_Synchronization_class_by_vertices_reference_Region( 2687pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
1253 problem:LogicProblem, interpretation:PartialInterpretation, 2688 problem:LogicProblem, interpretation:PartialInterpretation,
1254 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2689 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
1255 container:DefinedElement) 2690 container:DefinedElement)
1256{ 2691{
1257 find interpretation(problem,interpretation); 2692 find interpretation(problem,interpretation);
1258 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2693 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1259 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 2694 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
1260 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2695 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
1261 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 2696 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
1262 find mustInstanceOfRegion_class(problem,interpretation,container); 2697 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
1263 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 2698 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
1264 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 2699 find mustInstanceOfVertex_class(problem,interpretation,container);
2700 find mayInstanceOfTransition_class(problem,interpretation,newObject);
2701 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
1265 find mustExist(problem, interpretation, container); 2702 find mustExist(problem, interpretation, container);
1266 neg find mustExist(problem, interpretation, newObject); 2703 neg find mustExist(problem, interpretation, newObject);
1267} 2704}
1268pattern createObject_Synchronization_class( 2705pattern createObject_Transition_class(
1269 problem:LogicProblem, interpretation:PartialInterpretation, 2706 problem:LogicProblem, interpretation:PartialInterpretation,
1270 typeInterpretation:PartialComplexTypeInterpretation) 2707 typeInterpretation:PartialComplexTypeInterpretation)
1271{ 2708{
1272 find interpretation(problem,interpretation); 2709 find interpretation(problem,interpretation);
1273 neg find hasElementInContainment(problem,interpretation); 2710 neg find hasElementInContainment(problem,interpretation);
1274 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2711 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1275 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 2712 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
1276 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 2713 find mayInstanceOfTransition_class(problem,interpretation,newObject);
1277 find mayExist(problem, interpretation, newObject); 2714 find mayExist(problem, interpretation, newObject);
1278 neg find mustExist(problem, interpretation, newObject); 2715 neg find mustExist(problem, interpretation, newObject);
1279} 2716}
1280pattern createObject_Statechart_class_UndefinedPart( 2717pattern createObject_Region_class_by_regions_reference_CompositeElement(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2720 container:DefinedElement)
2721{
2722 find interpretation(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
2725 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2726 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement");
2727 find mustInstanceOfCompositeElement_class(problem,interpretation,container);
2728 find mayInstanceOfRegion_class(problem,interpretation,newObject);
2729 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject);
2730 find mustExist(problem, interpretation, container);
2731 neg find mustExist(problem, interpretation, newObject);
2732}
2733pattern createObject_Region_class(
1281 problem:LogicProblem, interpretation:PartialInterpretation, 2734 problem:LogicProblem, interpretation:PartialInterpretation,
1282 typeInterpretation:PartialComplexTypeInterpretation) 2735 typeInterpretation:PartialComplexTypeInterpretation)
1283{ 2736{
1284 find interpretation(problem,interpretation); 2737 find interpretation(problem,interpretation);
1285 neg find hasElementInContainment(problem,interpretation); 2738 neg find hasElementInContainment(problem,interpretation);
1286 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2739 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1287 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart"); 2740 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
1288 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject); 2741 find mayInstanceOfRegion_class(problem,interpretation,newObject);
1289 find mayExist(problem, interpretation, newObject); 2742 find mayExist(problem, interpretation, newObject);
1290 neg find mustExist(problem, interpretation, newObject); 2743 neg find mustExist(problem, interpretation, newObject);
1291} 2744}
1292pattern createObject_Entry_class_by_vertices_reference_Region( 2745pattern createObject_State_class_by_vertices_reference_Region(
1293 problem:LogicProblem, interpretation:PartialInterpretation, 2746 problem:LogicProblem, interpretation:PartialInterpretation,
1294 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2747 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
1295 container:DefinedElement) 2748 container:DefinedElement)
1296{ 2749{
1297 find interpretation(problem,interpretation); 2750 find interpretation(problem,interpretation);
1298 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1299 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
1300 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2753 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
1301 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 2754 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
1302 find mustInstanceOfRegion_class(problem,interpretation,container); 2755 find mustInstanceOfRegion_class(problem,interpretation,container);
1303 find mayInstanceOfEntry_class(problem,interpretation,newObject); 2756 find mayInstanceOfState_class(problem,interpretation,newObject);
1304 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 2757 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
1305 find mustExist(problem, interpretation, container); 2758 find mustExist(problem, interpretation, container);
1306 neg find mustExist(problem, interpretation, newObject); 2759 neg find mustExist(problem, interpretation, newObject);
1307} 2760}
1308pattern createObject_Entry_class( 2761pattern createObject_State_class(
1309 problem:LogicProblem, interpretation:PartialInterpretation, 2762 problem:LogicProblem, interpretation:PartialInterpretation,
1310 typeInterpretation:PartialComplexTypeInterpretation) 2763 typeInterpretation:PartialComplexTypeInterpretation)
1311{ 2764{
1312 find interpretation(problem,interpretation); 2765 find interpretation(problem,interpretation);
1313 neg find hasElementInContainment(problem,interpretation); 2766 neg find hasElementInContainment(problem,interpretation);
1314 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2767 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1315 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 2768 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
1316 find mayInstanceOfEntry_class(problem,interpretation,newObject); 2769 find mayInstanceOfState_class(problem,interpretation,newObject);
1317 find mayExist(problem, interpretation, newObject); 2770 find mayExist(problem, interpretation, newObject);
1318 neg find mustExist(problem, interpretation, newObject); 2771 neg find mustExist(problem, interpretation, newObject);
1319} 2772}
1320pattern createObject_State_class_by_vertices_reference_Region( 2773pattern createObject_Exit_class_by_vertices_reference_Region(
1321 problem:LogicProblem, interpretation:PartialInterpretation, 2774 problem:LogicProblem, interpretation:PartialInterpretation,
1322 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2775 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
1323 container:DefinedElement) 2776 container:DefinedElement)
1324{ 2777{
1325 find interpretation(problem,interpretation); 2778 find interpretation(problem,interpretation);
1326 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1327 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2781 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 2782 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
1330 find mustInstanceOfRegion_class(problem,interpretation,container); 2783 find mustInstanceOfRegion_class(problem,interpretation,container);
1331 find mayInstanceOfState_class(problem,interpretation,newObject); 2784 find mayInstanceOfExit_class(problem,interpretation,newObject);
1332 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 2785 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
1333 find mustExist(problem, interpretation, container); 2786 find mustExist(problem, interpretation, container);
1334 neg find mustExist(problem, interpretation, newObject); 2787 neg find mustExist(problem, interpretation, newObject);
1335} 2788}
1336pattern createObject_State_class( 2789pattern createObject_Exit_class(
1337 problem:LogicProblem, interpretation:PartialInterpretation, 2790 problem:LogicProblem, interpretation:PartialInterpretation,
1338 typeInterpretation:PartialComplexTypeInterpretation) 2791 typeInterpretation:PartialComplexTypeInterpretation)
1339{ 2792{
1340 find interpretation(problem,interpretation); 2793 find interpretation(problem,interpretation);
1341 neg find hasElementInContainment(problem,interpretation); 2794 neg find hasElementInContainment(problem,interpretation);
1342 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2795 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
1343 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 2796 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
1344 find mayInstanceOfState_class(problem,interpretation,newObject); 2797 find mayInstanceOfExit_class(problem,interpretation,newObject);
1345 find mayExist(problem, interpretation, newObject); 2798 find mayExist(problem, interpretation, newObject);
1346 neg find mustExist(problem, interpretation, newObject); 2799 neg find mustExist(problem, interpretation, newObject);
1347} 2800}
@@ -1349,106 +2802,106 @@ pattern createObject_State_class(
1349////////// 2802//////////
1350// 4.2 Type refinement 2803// 4.2 Type refinement
1351////////// 2804//////////
1352pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2805pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1353 find interpretation(problem,interpretation); 2806 find interpretation(problem,interpretation);
1354 PartialInterpretation.newElements(interpretation,element); 2807 PartialInterpretation.newElements(interpretation,element);
1355 find mayInstanceOfExit_class(problem,interpretation,element); 2808 find mayInstanceOfChoice_class(problem,interpretation,element);
1356 neg find mustInstanceOfExit_class(problem,interpretation,element);
1357 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
1358 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1359 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1360 neg find mustInstanceOfChoice_class(problem,interpretation,element); 2809 neg find mustInstanceOfChoice_class(problem,interpretation,element);
1361 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 2810 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
1362 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1363 neg find mustInstanceOfEntry_class(problem,interpretation,element); 2811 neg find mustInstanceOfEntry_class(problem,interpretation,element);
2812 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
2813 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
2814 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2815 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2816 neg find mustInstanceOfExit_class(problem,interpretation,element);
1364} 2817}
1365pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2818pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1366 find interpretation(problem,interpretation); 2819 find interpretation(problem,interpretation);
1367 PartialInterpretation.newElements(interpretation,element); 2820 PartialInterpretation.newElements(interpretation,element);
1368 find mayInstanceOfFinalState_class(problem,interpretation,element); 2821 find mayInstanceOfFinalState_class(problem,interpretation,element);
1369 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 2822 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
2823 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
2824 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
1370 neg find mustInstanceOfTransition_class(problem,interpretation,element); 2825 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1371 neg find mustInstanceOfRegion_class(problem,interpretation,element); 2826 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1372 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
1373 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1374} 2827}
1375pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2828pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1376 find interpretation(problem,interpretation); 2829 find interpretation(problem,interpretation);
1377 PartialInterpretation.newElements(interpretation,element); 2830 PartialInterpretation.newElements(interpretation,element);
1378 find mayInstanceOfTransition_class(problem,interpretation,element); 2831 find mayInstanceOfSynchronization_class(problem,interpretation,element);
1379 neg find mustInstanceOfRegion_class(problem,interpretation,element); 2832 neg find mustInstanceOfChoice_class(problem,interpretation,element);
1380 neg find mustInstanceOfTransition_class(problem,interpretation,element); 2833 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
1381 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 2834 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1382 neg find mustInstanceOfVertex_class(problem,interpretation,element); 2835 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
1383} 2836 neg find mustInstanceOfEntry_class(problem,interpretation,element);
1384pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1385 find interpretation(problem,interpretation);
1386 PartialInterpretation.newElements(interpretation,element);
1387 find mayInstanceOfRegion_class(problem,interpretation,element);
1388 neg find mustInstanceOfTransition_class(problem,interpretation,element); 2837 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1389 neg find mustInstanceOfRegion_class(problem,interpretation,element); 2838 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1390 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 2839 neg find mustInstanceOfExit_class(problem,interpretation,element);
1391 neg find mustInstanceOfVertex_class(problem,interpretation,element);
1392} 2840}
1393pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2841pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1394 find interpretation(problem,interpretation); 2842 find interpretation(problem,interpretation);
1395 PartialInterpretation.newElements(interpretation,element); 2843 PartialInterpretation.newElements(interpretation,element);
1396 find mayInstanceOfChoice_class(problem,interpretation,element); 2844 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
1397 neg find mustInstanceOfExit_class(problem,interpretation,element); 2845 neg find mustInstanceOfVertex_class(problem,interpretation,element);
1398 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 2846 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
1399 neg find mustInstanceOfRegion_class(problem,interpretation,element); 2847 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1400 neg find mustInstanceOfTransition_class(problem,interpretation,element); 2848 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1401 neg find mustInstanceOfChoice_class(problem,interpretation,element);
1402 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
1403 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1404 neg find mustInstanceOfEntry_class(problem,interpretation,element);
1405} 2849}
1406pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2850pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1407 find interpretation(problem,interpretation); 2851 find interpretation(problem,interpretation);
1408 PartialInterpretation.newElements(interpretation,element); 2852 PartialInterpretation.newElements(interpretation,element);
1409 find mayInstanceOfSynchronization_class(problem,interpretation,element); 2853 find mayInstanceOfEntry_class(problem,interpretation,element);
1410 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
1411 neg find mustInstanceOfExit_class(problem,interpretation,element);
1412 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1413 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1414 neg find mustInstanceOfChoice_class(problem,interpretation,element); 2854 neg find mustInstanceOfChoice_class(problem,interpretation,element);
1415 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 2855 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
1416 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 2856 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
1417 neg find mustInstanceOfEntry_class(problem,interpretation,element); 2857 neg find mustInstanceOfEntry_class(problem,interpretation,element);
2858 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
2859 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2860 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2861 neg find mustInstanceOfExit_class(problem,interpretation,element);
1418} 2862}
1419pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2863pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1420 find interpretation(problem,interpretation); 2864 find interpretation(problem,interpretation);
1421 PartialInterpretation.newElements(interpretation,element); 2865 PartialInterpretation.newElements(interpretation,element);
1422 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 2866 find mayInstanceOfTransition_class(problem,interpretation,element);
2867 neg find mustInstanceOfVertex_class(problem,interpretation,element);
2868 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1423 neg find mustInstanceOfRegion_class(problem,interpretation,element); 2869 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1424 neg find mustInstanceOfTransition_class(problem,interpretation,element); 2870 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1425 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
1426 neg find mustInstanceOfVertex_class(problem,interpretation,element);
1427} 2871}
1428pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2872pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1429 find interpretation(problem,interpretation); 2873 find interpretation(problem,interpretation);
1430 PartialInterpretation.newElements(interpretation,element); 2874 PartialInterpretation.newElements(interpretation,element);
1431 find mayInstanceOfEntry_class(problem,interpretation,element); 2875 find mayInstanceOfRegion_class(problem,interpretation,element);
1432 neg find mustInstanceOfExit_class(problem,interpretation,element); 2876 neg find mustInstanceOfVertex_class(problem,interpretation,element);
1433 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 2877 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1434 neg find mustInstanceOfTransition_class(problem,interpretation,element); 2878 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1435 neg find mustInstanceOfRegion_class(problem,interpretation,element); 2879 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1436 neg find mustInstanceOfChoice_class(problem,interpretation,element);
1437 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
1438 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1439 neg find mustInstanceOfEntry_class(problem,interpretation,element);
1440} 2880}
1441pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2881pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
1442 find interpretation(problem,interpretation); 2882 find interpretation(problem,interpretation);
1443 PartialInterpretation.newElements(interpretation,element); 2883 PartialInterpretation.newElements(interpretation,element);
1444 find mayInstanceOfState_class(problem,interpretation,element); 2884 find mayInstanceOfState_class(problem,interpretation,element);
1445 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 2885 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
1446 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1447 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1448 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 2886 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
2887 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2888 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1449 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 2889 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
1450 neg find mustInstanceOfState_class(problem,interpretation,element); 2890 neg find mustInstanceOfState_class(problem,interpretation,element);
1451} 2891}
2892pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2893 find interpretation(problem,interpretation);
2894 PartialInterpretation.newElements(interpretation,element);
2895 find mayInstanceOfExit_class(problem,interpretation,element);
2896 neg find mustInstanceOfChoice_class(problem,interpretation,element);
2897 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
2898 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
2899 neg find mustInstanceOfEntry_class(problem,interpretation,element);
2900 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
2901 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2902 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2903 neg find mustInstanceOfExit_class(problem,interpretation,element);
2904}
1452 2905
1453////////// 2906//////////
1454// 4.3 Relation refinement 2907// 4.3 Relation refinement
@@ -1554,1135 +3007,703 @@ private pattern isPrimitive(element: PrimitiveElement) {
1554// 1.1.2 domain-specific Type Indexers 3007// 1.1.2 domain-specific Type Indexers
1555////////// 3008//////////
1556/** 3009/**
1557 * An element must be an instance of type "FileSystem class". 3010 * An element must be an instance of type "Pseudostate class".
1558 */ 3011 */
1559private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3012private pattern mustInstanceOfPseudostate_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1560 Type.name(type,"FileSystem class"); 3013 Type.name(type,"Pseudostate class");
1561 find directInstanceOf(problem,interpretation,element,type); 3014 find directInstanceOf(problem,interpretation,element,type);
1562} 3015}
1563private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3016private pattern scopeDisallowsNewPseudostate_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1564 find interpretation(problem,interpretation); 3017 find interpretation(problem,interpretation);
1565 PartialInterpretation.scopes(interpretation,scope); 3018 PartialInterpretation.scopes(interpretation,scope);
1566 Scope.targetTypeInterpretation(scope,typeInterpretation); 3019 Scope.targetTypeInterpretation(scope,typeInterpretation);
1567 Scope.maxNewElements(scope,0); 3020 Scope.maxNewElements(scope,0);
1568 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3021 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1569 Type.name(type,"FileSystem class"); 3022 Type.name(type,"Pseudostate class");
1570} 3023}
1571 3024
1572/** 3025/**
1573 * An element may be an instance of type "FileSystem class". 3026 * An element may be an instance of type "Pseudostate class".
1574 */ 3027 */
1575private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3028private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1576{ 3029{
1577 find interpretation(problem,interpretation); 3030 find interpretation(problem,interpretation);
1578 PartialInterpretation.newElements(interpretation,element); 3031 PartialInterpretation.newElements(interpretation,element);
1579 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3032 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
1580 neg find mustInstanceOfModel_class(problem,interpretation,element); 3033 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1581 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 3034 neg find mustInstanceOfExit_class(problem,interpretation,element);
3035 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3036 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3037 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3038 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3039 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3040 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
1582 neg find isPrimitive(element); 3041 neg find isPrimitive(element);
1583} or { 3042} or {
1584 find interpretation(problem,interpretation); 3043 find interpretation(problem,interpretation);
1585 PartialInterpretation.openWorldElements(interpretation,element); 3044 PartialInterpretation.openWorldElements(interpretation,element);
1586 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3045 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
1587 neg find mustInstanceOfModel_class(problem,interpretation,element); 3046 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1588 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 3047 neg find mustInstanceOfExit_class(problem,interpretation,element);
3048 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3049 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3050 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3051 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3052 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3053 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
1589 neg find isPrimitive(element); 3054 neg find isPrimitive(element);
1590} or 3055} or
1591{ find mustInstanceOfFileSystem_class(problem,interpretation,element); } 3056{ find mustInstanceOfPseudostate_class(problem,interpretation,element); }
1592/** 3057/**
1593 * An element must be an instance of type "FSObject class". 3058 * An element must be an instance of type "Vertex class".
1594 */ 3059 */
1595private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3060private pattern mustInstanceOfVertex_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1596 Type.name(type,"FSObject class"); 3061 Type.name(type,"Vertex class");
1597 find directInstanceOf(problem,interpretation,element,type); 3062 find directInstanceOf(problem,interpretation,element,type);
1598} 3063}
1599private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3064private pattern scopeDisallowsNewVertex_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1600 find interpretation(problem,interpretation); 3065 find interpretation(problem,interpretation);
1601 PartialInterpretation.scopes(interpretation,scope); 3066 PartialInterpretation.scopes(interpretation,scope);
1602 Scope.targetTypeInterpretation(scope,typeInterpretation); 3067 Scope.targetTypeInterpretation(scope,typeInterpretation);
1603 Scope.maxNewElements(scope,0); 3068 Scope.maxNewElements(scope,0);
1604 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3069 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1605 Type.name(type,"FSObject class"); 3070 Type.name(type,"Vertex class");
1606} 3071}
1607 3072
1608/** 3073/**
1609 * An element may be an instance of type "FSObject class". 3074 * An element may be an instance of type "Vertex class".
1610 */ 3075 */
1611private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3076private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1612{ 3077{
1613 find interpretation(problem,interpretation); 3078 find interpretation(problem,interpretation);
1614 PartialInterpretation.newElements(interpretation,element); 3079 PartialInterpretation.newElements(interpretation,element);
1615 neg find mustInstanceOfModel_class(problem,interpretation,element); 3080 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
1616 neg find mustInstanceOfFile_class(problem,interpretation,element); 3081 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1617 neg find mustInstanceOfDir_class(problem,interpretation,element); 3082 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1618 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3083 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1619 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 3084 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3085 neg find scopeDisallowsNewVertex_class(problem, interpretation);
1620 neg find isPrimitive(element); 3086 neg find isPrimitive(element);
1621} or { 3087} or {
1622 find interpretation(problem,interpretation); 3088 find interpretation(problem,interpretation);
1623 PartialInterpretation.openWorldElements(interpretation,element); 3089 PartialInterpretation.openWorldElements(interpretation,element);
1624 neg find mustInstanceOfModel_class(problem,interpretation,element); 3090 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
1625 neg find mustInstanceOfFile_class(problem,interpretation,element); 3091 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1626 neg find mustInstanceOfDir_class(problem,interpretation,element); 3092 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1627 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3093 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1628 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 3094 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3095 neg find scopeDisallowsNewVertex_class(problem, interpretation);
1629 neg find isPrimitive(element); 3096 neg find isPrimitive(element);
1630} or 3097} or
1631{ find mustInstanceOfFSObject_class(problem,interpretation,element); } 3098{ find mustInstanceOfVertex_class(problem,interpretation,element); }
1632/** 3099/**
1633 * An element must be an instance of type "Dir class". 3100 * An element must be an instance of type "Region class".
1634 */ 3101 */
1635private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3102private pattern mustInstanceOfRegion_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1636 Type.name(type,"Dir class"); 3103 Type.name(type,"Region class");
1637 find directInstanceOf(problem,interpretation,element,type); 3104 find directInstanceOf(problem,interpretation,element,type);
1638} 3105}
1639private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3106private pattern scopeDisallowsNewRegion_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1640 find interpretation(problem,interpretation); 3107 find interpretation(problem,interpretation);
1641 PartialInterpretation.scopes(interpretation,scope); 3108 PartialInterpretation.scopes(interpretation,scope);
1642 Scope.targetTypeInterpretation(scope,typeInterpretation); 3109 Scope.targetTypeInterpretation(scope,typeInterpretation);
1643 Scope.maxNewElements(scope,0); 3110 Scope.maxNewElements(scope,0);
1644 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3111 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1645 Type.name(type,"Dir class"); 3112 Type.name(type,"Region class");
1646} 3113}
1647 3114
1648/** 3115/**
1649 * An element may be an instance of type "Dir class". 3116 * An element may be an instance of type "Region class".
1650 */ 3117 */
1651private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3118private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1652{ 3119{
1653 find interpretation(problem,interpretation); 3120 find interpretation(problem,interpretation);
1654 PartialInterpretation.newElements(interpretation,element); 3121 PartialInterpretation.newElements(interpretation,element);
1655 neg find mustInstanceOfModel_class(problem,interpretation,element); 3122 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1656 neg find mustInstanceOfFile_class(problem,interpretation,element); 3123 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1657 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3124 neg find mustInstanceOfVertex_class(problem,interpretation,element);
1658 neg find scopeDisallowsNewDir_class(problem, interpretation); 3125 neg find scopeDisallowsNewRegion_class(problem, interpretation);
1659 neg find isPrimitive(element); 3126 neg find isPrimitive(element);
1660} or { 3127} or {
1661 find interpretation(problem,interpretation); 3128 find interpretation(problem,interpretation);
1662 PartialInterpretation.openWorldElements(interpretation,element); 3129 PartialInterpretation.openWorldElements(interpretation,element);
1663 neg find mustInstanceOfModel_class(problem,interpretation,element); 3130 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1664 neg find mustInstanceOfFile_class(problem,interpretation,element); 3131 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1665 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3132 neg find mustInstanceOfVertex_class(problem,interpretation,element);
1666 neg find scopeDisallowsNewDir_class(problem, interpretation); 3133 neg find scopeDisallowsNewRegion_class(problem, interpretation);
1667 neg find isPrimitive(element); 3134 neg find isPrimitive(element);
1668} or 3135} or
1669{ find mustInstanceOfDir_class(problem,interpretation,element); } 3136{ find mustInstanceOfRegion_class(problem,interpretation,element); }
1670/** 3137/**
1671 * An element must be an instance of type "File class". 3138 * An element must be an instance of type "Transition class".
1672 */ 3139 */
1673private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3140private pattern mustInstanceOfTransition_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1674 Type.name(type,"File class"); 3141 Type.name(type,"Transition class");
1675 find directInstanceOf(problem,interpretation,element,type); 3142 find directInstanceOf(problem,interpretation,element,type);
1676} 3143}
1677private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3144private pattern scopeDisallowsNewTransition_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1678 find interpretation(problem,interpretation); 3145 find interpretation(problem,interpretation);
1679 PartialInterpretation.scopes(interpretation,scope); 3146 PartialInterpretation.scopes(interpretation,scope);
1680 Scope.targetTypeInterpretation(scope,typeInterpretation); 3147 Scope.targetTypeInterpretation(scope,typeInterpretation);
1681 Scope.maxNewElements(scope,0); 3148 Scope.maxNewElements(scope,0);
1682 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3149 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1683 Type.name(type,"File class"); 3150 Type.name(type,"Transition class");
1684} 3151}
1685 3152
1686/** 3153/**
1687 * An element may be an instance of type "File class". 3154 * An element may be an instance of type "Transition class".
1688 */ 3155 */
1689private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3156private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1690{ 3157{
1691 find interpretation(problem,interpretation); 3158 find interpretation(problem,interpretation);
1692 PartialInterpretation.newElements(interpretation,element); 3159 PartialInterpretation.newElements(interpretation,element);
1693 neg find mustInstanceOfDir_class(problem,interpretation,element); 3160 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1694 neg find mustInstanceOfModel_class(problem,interpretation,element); 3161 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1695 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3162 neg find mustInstanceOfVertex_class(problem,interpretation,element);
1696 neg find scopeDisallowsNewFile_class(problem, interpretation); 3163 neg find scopeDisallowsNewTransition_class(problem, interpretation);
1697 neg find isPrimitive(element); 3164 neg find isPrimitive(element);
1698} or { 3165} or {
1699 find interpretation(problem,interpretation); 3166 find interpretation(problem,interpretation);
1700 PartialInterpretation.openWorldElements(interpretation,element); 3167 PartialInterpretation.openWorldElements(interpretation,element);
1701 neg find mustInstanceOfDir_class(problem,interpretation,element); 3168 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1702 neg find mustInstanceOfModel_class(problem,interpretation,element); 3169 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1703 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3170 neg find mustInstanceOfVertex_class(problem,interpretation,element);
1704 neg find scopeDisallowsNewFile_class(problem, interpretation); 3171 neg find scopeDisallowsNewTransition_class(problem, interpretation);
1705 neg find isPrimitive(element); 3172 neg find isPrimitive(element);
1706} or 3173} or
1707{ find mustInstanceOfFile_class(problem,interpretation,element); } 3174{ find mustInstanceOfTransition_class(problem,interpretation,element); }
1708/** 3175/**
1709 * An element must be an instance of type "Model class". 3176 * An element must be an instance of type "Statechart class".
1710 */ 3177 */
1711private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3178private pattern mustInstanceOfStatechart_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1712 Type.name(type,"Model class"); 3179 Type.name(type,"Statechart class");
1713 find directInstanceOf(problem,interpretation,element,type); 3180 find directInstanceOf(problem,interpretation,element,type);
1714} 3181}
1715private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3182private pattern scopeDisallowsNewStatechart_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1716 find interpretation(problem,interpretation); 3183 find interpretation(problem,interpretation);
1717 PartialInterpretation.scopes(interpretation,scope); 3184 PartialInterpretation.scopes(interpretation,scope);
1718 Scope.targetTypeInterpretation(scope,typeInterpretation); 3185 Scope.targetTypeInterpretation(scope,typeInterpretation);
1719 Scope.maxNewElements(scope,0); 3186 Scope.maxNewElements(scope,0);
1720 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3187 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1721 Type.name(type,"Model class"); 3188 Type.name(type,"Statechart class");
1722} 3189}
1723 3190
1724/** 3191/**
1725 * An element may be an instance of type "Model class". 3192 * An element may be an instance of type "Statechart class".
1726 */ 3193 */
1727private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3194private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1728{ 3195{
1729 find interpretation(problem,interpretation); 3196 find interpretation(problem,interpretation);
1730 PartialInterpretation.newElements(interpretation,element); 3197 PartialInterpretation.newElements(interpretation,element);
1731 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 3198 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1732 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3199 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
1733 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3200 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1734 neg find scopeDisallowsNewModel_class(problem, interpretation); 3201 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3202 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
1735 neg find isPrimitive(element); 3203 neg find isPrimitive(element);
1736} or { 3204} or {
1737 find interpretation(problem,interpretation); 3205 find interpretation(problem,interpretation);
1738 PartialInterpretation.openWorldElements(interpretation,element); 3206 PartialInterpretation.openWorldElements(interpretation,element);
1739 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 3207 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1740 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3208 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
1741 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3209 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1742 neg find scopeDisallowsNewModel_class(problem, interpretation); 3210 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3211 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
1743 neg find isPrimitive(element); 3212 neg find isPrimitive(element);
1744} or 3213} or
1745{ find mustInstanceOfModel_class(problem,interpretation,element); } 3214{ find mustInstanceOfStatechart_class(problem,interpretation,element); }
1746/** 3215/**
1747 * An element must be an instance of type "Model class DefinedPart". 3216 * An element must be an instance of type "Entry class".
1748 */ 3217 */
1749private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3218private pattern mustInstanceOfEntry_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1750 Type.name(type,"Model class DefinedPart"); 3219 Type.name(type,"Entry class");
1751 find directInstanceOf(problem,interpretation,element,type); 3220 find directInstanceOf(problem,interpretation,element,type);
1752} 3221}
1753private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 3222private pattern scopeDisallowsNewEntry_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1754 find interpretation(problem,interpretation); 3223 find interpretation(problem,interpretation);
1755 PartialInterpretation.scopes(interpretation,scope); 3224 PartialInterpretation.scopes(interpretation,scope);
1756 Scope.targetTypeInterpretation(scope,typeInterpretation); 3225 Scope.targetTypeInterpretation(scope,typeInterpretation);
1757 Scope.maxNewElements(scope,0); 3226 Scope.maxNewElements(scope,0);
1758 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3227 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1759 Type.name(type,"Model class DefinedPart"); 3228 Type.name(type,"Entry class");
1760} 3229}
1761 3230
1762/** 3231/**
1763 * An element may be an instance of type "Model class DefinedPart". 3232 * An element may be an instance of type "Entry class".
1764 */ 3233 */
1765private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3234private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1766{ find mustInstanceOfModel_class_DefinedPart(problem,interpretation,element); } 3235{
3236 find interpretation(problem,interpretation);
3237 PartialInterpretation.newElements(interpretation,element);
3238 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3239 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3240 neg find mustInstanceOfExit_class(problem,interpretation,element);
3241 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3242 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3243 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3244 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3245 neg find scopeDisallowsNewEntry_class(problem, interpretation);
3246 neg find isPrimitive(element);
3247} or {
3248 find interpretation(problem,interpretation);
3249 PartialInterpretation.openWorldElements(interpretation,element);
3250 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3251 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3252 neg find mustInstanceOfExit_class(problem,interpretation,element);
3253 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3254 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3255 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3256 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3257 neg find scopeDisallowsNewEntry_class(problem, interpretation);
3258 neg find isPrimitive(element);
3259} or
3260{ find mustInstanceOfEntry_class(problem,interpretation,element); }
1767/** 3261/**
1768 * An element must be an instance of type "Model class UndefinedPart". 3262 * An element must be an instance of type "Synchronization class".
1769 */ 3263 */
1770private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3264private pattern mustInstanceOfSynchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1771 Type.name(type,"Model class UndefinedPart"); 3265 Type.name(type,"Synchronization class");
1772 find directInstanceOf(problem,interpretation,element,type); 3266 find directInstanceOf(problem,interpretation,element,type);
1773} 3267}
1774private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 3268private pattern scopeDisallowsNewSynchronization_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1775 find interpretation(problem,interpretation); 3269 find interpretation(problem,interpretation);
1776 PartialInterpretation.scopes(interpretation,scope); 3270 PartialInterpretation.scopes(interpretation,scope);
1777 Scope.targetTypeInterpretation(scope,typeInterpretation); 3271 Scope.targetTypeInterpretation(scope,typeInterpretation);
1778 Scope.maxNewElements(scope,0); 3272 Scope.maxNewElements(scope,0);
1779 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3273 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1780 Type.name(type,"Model class UndefinedPart"); 3274 Type.name(type,"Synchronization class");
1781} 3275}
1782 3276
1783/** 3277/**
1784 * An element may be an instance of type "Model class UndefinedPart". 3278 * An element may be an instance of type "Synchronization class".
1785 */ 3279 */
1786private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3280private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1787{ 3281{
1788 find interpretation(problem,interpretation); 3282 find interpretation(problem,interpretation);
1789 PartialInterpretation.newElements(interpretation,element); 3283 PartialInterpretation.newElements(interpretation,element);
1790 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3284 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1791 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3285 neg find mustInstanceOfExit_class(problem,interpretation,element);
1792 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 3286 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3287 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3288 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3289 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3290 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3291 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
1793 neg find isPrimitive(element); 3292 neg find isPrimitive(element);
1794} or { 3293} or {
1795 find interpretation(problem,interpretation); 3294 find interpretation(problem,interpretation);
1796 PartialInterpretation.openWorldElements(interpretation,element); 3295 PartialInterpretation.openWorldElements(interpretation,element);
1797 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3296 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1798 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3297 neg find mustInstanceOfExit_class(problem,interpretation,element);
1799 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 3298 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3299 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3300 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3301 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3302 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3303 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
1800 neg find isPrimitive(element); 3304 neg find isPrimitive(element);
1801} or 3305} or
1802{ find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); } 3306{ find mustInstanceOfSynchronization_class(problem,interpretation,element); }
1803
1804//////////
1805// 1.2 Relation Declaration Indexers
1806//////////
1807/**
1808 * Matcher for detecting tuples t where []root reference FileSystem(source,target)
1809 */
1810private pattern mustInRelationroot_reference_FileSystem(
1811 problem:LogicProblem, interpretation:PartialInterpretation,
1812 source: DefinedElement, target:DefinedElement)
1813{
1814 find interpretation(problem,interpretation);
1815 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1816 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem");
1817 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1818 BinaryElementRelationLink.param1(link,source);
1819 BinaryElementRelationLink.param2(link,target);
1820}
1821/** 3307/**
1822 * Matcher for detecting tuples t where <>root reference FileSystem(source,target) 3308 * An element must be an instance of type "State class".
1823 */ 3309 */
1824private pattern mayInRelationroot_reference_FileSystem( 3310private pattern mustInstanceOfState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1825 problem:LogicProblem, interpretation:PartialInterpretation, 3311 Type.name(type,"State class");
1826 source: DefinedElement, target:DefinedElement) 3312 find directInstanceOf(problem,interpretation,element,type);
1827{
1828 find interpretation(problem,interpretation);
1829 // The two endpoint of the link have to exist
1830 find mayExist(problem, interpretation, source);
1831 find mayExist(problem, interpretation, target);
1832 // Type consistency
1833 find mayInstanceOfFileSystem_class(problem,interpretation,source);
1834 find mayInstanceOfDir_class(problem,interpretation,target);
1835 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1836 // the upper bound of the multiplicity should be considered.
1837 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,source,_);
1838 check(numberOfExistingReferences < 1);
1839 // The reference is containment, then a new reference cannot be create if:
1840 // 1. Multiple parents
1841 neg find mustContains4(problem,interpretation,_,target);
1842 // 2. Circle in the containment hierarchy
1843 neg find mustTransitiveContains(source,target);
1844} or {
1845 find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target);
1846} 3313}
1847/** 3314private pattern scopeDisallowsNewState_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1848 * Matcher for detecting tuples t where []live reference FileSystem(source,target)
1849 */
1850private pattern mustInRelationlive_reference_FileSystem(
1851 problem:LogicProblem, interpretation:PartialInterpretation,
1852 source: DefinedElement, target:DefinedElement)
1853{
1854 find interpretation(problem,interpretation); 3315 find interpretation(problem,interpretation);
1855 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3316 PartialInterpretation.scopes(interpretation,scope);
1856 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"live reference FileSystem"); 3317 Scope.targetTypeInterpretation(scope,typeInterpretation);
1857 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3318 Scope.maxNewElements(scope,0);
1858 BinaryElementRelationLink.param1(link,source); 3319 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1859 BinaryElementRelationLink.param2(link,target); 3320 Type.name(type,"State class");
1860} 3321}
3322
1861/** 3323/**
1862 * Matcher for detecting tuples t where <>live reference FileSystem(source,target) 3324 * An element may be an instance of type "State class".
1863 */ 3325 */
1864private pattern mayInRelationlive_reference_FileSystem( 3326private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1865 problem:LogicProblem, interpretation:PartialInterpretation,
1866 source: DefinedElement, target:DefinedElement)
1867{ 3327{
1868 find interpretation(problem,interpretation); 3328 find interpretation(problem,interpretation);
1869 // The two endpoint of the link have to exist 3329 PartialInterpretation.newElements(interpretation,element);
1870 find mayExist(problem, interpretation, source); 3330 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
1871 find mayExist(problem, interpretation, target); 3331 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1872 // Type consistency 3332 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
1873 find mayInstanceOfFileSystem_class(problem,interpretation,source); 3333 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1874 find mayInstanceOfFSObject_class(problem,interpretation,target); 3334 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
3335 neg find scopeDisallowsNewState_class(problem, interpretation);
3336 neg find isPrimitive(element);
1875} or { 3337} or {
1876 find mustInRelationlive_reference_FileSystem(problem,interpretation,source,target);
1877}
1878/**
1879 * Matcher for detecting tuples t where []parent reference FSObject(source,target)
1880 */
1881private pattern mustInRelationparent_reference_FSObject(
1882 problem:LogicProblem, interpretation:PartialInterpretation,
1883 source: DefinedElement, target:DefinedElement)
1884{
1885 find interpretation(problem,interpretation); 3338 find interpretation(problem,interpretation);
1886 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3339 PartialInterpretation.openWorldElements(interpretation,element);
1887 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parent reference FSObject"); 3340 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
1888 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3341 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1889 BinaryElementRelationLink.param1(link,source); 3342 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
1890 BinaryElementRelationLink.param2(link,target); 3343 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1891} 3344 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
3345 neg find scopeDisallowsNewState_class(problem, interpretation);
3346 neg find isPrimitive(element);
3347} or
3348{ find mustInstanceOfState_class(problem,interpretation,element); }
1892/** 3349/**
1893 * Matcher for detecting tuples t where <>parent reference FSObject(source,target) 3350 * An element must be an instance of type "RegularState class".
1894 */ 3351 */
1895private pattern mayInRelationparent_reference_FSObject( 3352private pattern mustInstanceOfRegularState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1896 problem:LogicProblem, interpretation:PartialInterpretation, 3353 Type.name(type,"RegularState class");
1897 source: DefinedElement, target:DefinedElement) 3354 find directInstanceOf(problem,interpretation,element,type);
1898{
1899 find interpretation(problem,interpretation);
1900 // The two endpoint of the link have to exist
1901 find mayExist(problem, interpretation, source);
1902 find mayExist(problem, interpretation, target);
1903 // Type consistency
1904 find mayInstanceOfFSObject_class(problem,interpretation,source);
1905 find mayInstanceOfDir_class(problem,interpretation,target);
1906 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1907 // the upper bound of the multiplicity should be considered.
1908 numberOfExistingReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,source,_);
1909 check(numberOfExistingReferences < 1);
1910 // The eOpposite of the reference is containment, then a referene cannot be created if
1911 // 1. Multiple parents
1912 neg find mustContains4(problem,interpretation,source,_);
1913 // 2. Circle in the containment hierarchy
1914 neg find mustTransitiveContains(source,target);
1915} or {
1916 find mustInRelationparent_reference_FSObject(problem,interpretation,source,target);
1917} 3355}
1918/** 3356private pattern scopeDisallowsNewRegularState_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1919 * Matcher for detecting tuples t where []contents reference Dir(source,target)
1920 */
1921private pattern mustInRelationcontents_reference_Dir(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 source: DefinedElement, target:DefinedElement)
1924{
1925 find interpretation(problem,interpretation); 3357 find interpretation(problem,interpretation);
1926 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3358 PartialInterpretation.scopes(interpretation,scope);
1927 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"contents reference Dir"); 3359 Scope.targetTypeInterpretation(scope,typeInterpretation);
1928 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3360 Scope.maxNewElements(scope,0);
1929 BinaryElementRelationLink.param1(link,source); 3361 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1930 BinaryElementRelationLink.param2(link,target); 3362 Type.name(type,"RegularState class");
1931} 3363}
3364
1932/** 3365/**
1933 * Matcher for detecting tuples t where <>contents reference Dir(source,target) 3366 * An element may be an instance of type "RegularState class".
1934 */ 3367 */
1935private pattern mayInRelationcontents_reference_Dir( 3368private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1936 problem:LogicProblem, interpretation:PartialInterpretation,
1937 source: DefinedElement, target:DefinedElement)
1938{ 3369{
1939 find interpretation(problem,interpretation); 3370 find interpretation(problem,interpretation);
1940 // The two endpoint of the link have to exist 3371 PartialInterpretation.newElements(interpretation,element);
1941 find mayExist(problem, interpretation, source); 3372 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
1942 find mayExist(problem, interpretation, target); 3373 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1943 // Type consistency 3374 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1944 find mayInstanceOfDir_class(problem,interpretation,source); 3375 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
1945 find mayInstanceOfFSObject_class(problem,interpretation,target); 3376 neg find mustInstanceOfRegion_class(problem,interpretation,element);
1946 // There are "numberOfExistingReferences" currently existing instances of the reference to the target, 3377 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
1947 // the upper bound of the opposite reference multiplicity should be considered. 3378 neg find isPrimitive(element);
1948 numberOfExistingOppositeReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,target,_);
1949 check(numberOfExistingOppositeReferences < 1);
1950 // The reference is containment, then a new reference cannot be create if:
1951 // 1. Multiple parents
1952 neg find mustContains4(problem,interpretation,_,target);
1953 // 2. Circle in the containment hierarchy
1954 neg find mustTransitiveContains(source,target);
1955} or { 3379} or {
1956 find mustInRelationcontents_reference_Dir(problem,interpretation,source,target);
1957}
1958/**
1959 * Matcher for detecting tuples t where []filesystems reference Model(source,target)
1960 */
1961private pattern mustInRelationfilesystems_reference_Model(
1962 problem:LogicProblem, interpretation:PartialInterpretation,
1963 source: DefinedElement, target:DefinedElement)
1964{
1965 find interpretation(problem,interpretation); 3380 find interpretation(problem,interpretation);
1966 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3381 PartialInterpretation.openWorldElements(interpretation,element);
1967 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 3382 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
1968 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3383 neg find mustInstanceOfTransition_class(problem,interpretation,element);
1969 BinaryElementRelationLink.param1(link,source); 3384 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
1970 BinaryElementRelationLink.param2(link,target); 3385 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
1971} 3386 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3387 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
3388 neg find isPrimitive(element);
3389} or
3390{ find mustInstanceOfRegularState_class(problem,interpretation,element); }
1972/** 3391/**
1973 * Matcher for detecting tuples t where <>filesystems reference Model(source,target) 3392 * An element must be an instance of type "CompositeElement class".
1974 */ 3393 */
1975private pattern mayInRelationfilesystems_reference_Model( 3394private pattern mustInstanceOfCompositeElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1976 problem:LogicProblem, interpretation:PartialInterpretation, 3395 Type.name(type,"CompositeElement class");
1977 source: DefinedElement, target:DefinedElement) 3396 find directInstanceOf(problem,interpretation,element,type);
1978{
1979 find interpretation(problem,interpretation);
1980 // The two endpoint of the link have to exist
1981 find mayExist(problem, interpretation, source);
1982 find mayExist(problem, interpretation, target);
1983 // Type consistency
1984 find mayInstanceOfModel_class(problem,interpretation,source);
1985 find mayInstanceOfFileSystem_class(problem,interpretation,target);
1986 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1987 // the upper bound of the multiplicity should be considered.
1988 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,source,_);
1989 check(numberOfExistingReferences < 1);
1990 // The reference is containment, then a new reference cannot be create if:
1991 // 1. Multiple parents
1992 neg find mustContains4(problem,interpretation,_,target);
1993 // 2. Circle in the containment hierarchy
1994 neg find mustTransitiveContains(source,target);
1995} or {
1996 find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target);
1997} 3397}
1998/** 3398private pattern scopeDisallowsNewCompositeElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
1999 * Matcher for detecting tuples t where []otherFSObjects reference Model(source,target)
2000 */
2001private pattern mustInRelationotherFSObjects_reference_Model(
2002 problem:LogicProblem, interpretation:PartialInterpretation,
2003 source: DefinedElement, target:DefinedElement)
2004{
2005 find interpretation(problem,interpretation); 3399 find interpretation(problem,interpretation);
2006 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3400 PartialInterpretation.scopes(interpretation,scope);
2007 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"otherFSObjects reference Model"); 3401 Scope.targetTypeInterpretation(scope,typeInterpretation);
2008 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3402 Scope.maxNewElements(scope,0);
2009 BinaryElementRelationLink.param1(link,source); 3403 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2010 BinaryElementRelationLink.param2(link,target); 3404 Type.name(type,"CompositeElement class");
2011} 3405}
3406
2012/** 3407/**
2013 * Matcher for detecting tuples t where <>otherFSObjects reference Model(source,target) 3408 * An element may be an instance of type "CompositeElement class".
2014 */ 3409 */
2015private pattern mayInRelationotherFSObjects_reference_Model( 3410private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 source: DefinedElement, target:DefinedElement)
2018{
2019 find interpretation(problem,interpretation);
2020 // The two endpoint of the link have to exist
2021 find mayExist(problem, interpretation, source);
2022 find mayExist(problem, interpretation, target);
2023 // Type consistency
2024 find mayInstanceOfModel_class(problem,interpretation,source);
2025 find mayInstanceOfFSObject_class(problem,interpretation,target);
2026 // The reference is containment, then a new reference cannot be create if:
2027 // 1. Multiple parents
2028 neg find mustContains4(problem,interpretation,_,target);
2029 // 2. Circle in the containment hierarchy
2030 neg find mustTransitiveContains(source,target);
2031} or {
2032 find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target);
2033}
2034
2035//////////
2036// 1.3 Relation Definition Indexers
2037//////////
2038
2039//////////
2040// 1.4 Containment Indexer
2041//////////
2042private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2043 find mustContains4(_,_,source,target);
2044}
2045
2046private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2047 source: DefinedElement, target: DefinedElement)
2048 { find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target); }or
2049
2050 { find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); }or
2051
2052 { find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target); }or
2053
2054 { find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target); }
2055
2056private pattern mustTransitiveContains(source,target) {
2057 find mustContains2+(source,target);
2058}
2059
2060//////////
2061// 2. Invalidation Indexers
2062//////////
2063// 2.1 Invalidated by WF Queries
2064//////////
2065
2066//////////
2067// 3. Unfinishedness Indexers
2068//////////
2069// 3.1 Unfinishedness Measured by Multiplicity
2070//////////
2071pattern unfinishedLowerMultiplicity_root_reference_FileSystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2072 find interpretation(problem,interpretation);
2073 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2074 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem");
2075 find mustInstanceOfFileSystem_class(problem,interpretation,object);
2076 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,object,_);
2077 check(numberOfExistingReferences < 1);
2078 missingMultiplicity == eval(1-numberOfExistingReferences);
2079}
2080pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2081 find interpretation(problem,interpretation);
2082 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2083 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model");
2084 find mustInstanceOfModel_class(problem,interpretation,object);
2085 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,object,_);
2086 check(numberOfExistingReferences < 1);
2087 missingMultiplicity == eval(1-numberOfExistingReferences);
2088}
2089
2090//////////
2091// 3.2 Unfinishedness Measured by WF Queries
2092//////////
2093
2094//////////
2095// 4. Refinement Indexers
2096//////////
2097// 4.1 Object constructors
2098//////////
2099private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2100{
2101 find interpretation(problem,interpretation);
2102 find mustInstanceOfFile_class(problem,interpretation,root);
2103 find mustExist(problem, interpretation, root);
2104}or{
2105 find interpretation(problem,interpretation);
2106 find mustInstanceOfDir_class(problem,interpretation,root);
2107 find mustExist(problem, interpretation, root);
2108}or{
2109 find interpretation(problem,interpretation);
2110 find mustInstanceOfFileSystem_class(problem,interpretation,root);
2111 find mustExist(problem, interpretation, root);
2112}or{
2113 find interpretation(problem,interpretation);
2114 find mustInstanceOfModel_class(problem,interpretation,root);
2115 find mustExist(problem, interpretation, root);
2116}or{
2117 find interpretation(problem,interpretation);
2118 find mustInstanceOfFSObject_class(problem,interpretation,root);
2119 find mustExist(problem, interpretation, root);
2120}or{
2121 find interpretation(problem,interpretation);
2122 find mustInstanceOfModel_class_DefinedPart(problem,interpretation,root);
2123 find mustExist(problem, interpretation, root);
2124}or{
2125 find interpretation(problem,interpretation);
2126 find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,root);
2127 find mustExist(problem, interpretation, root);
2128}
2129pattern createObject_Model_class_UndefinedPart(
2130 problem:LogicProblem, interpretation:PartialInterpretation,
2131 typeInterpretation:PartialComplexTypeInterpretation)
2132{
2133 find interpretation(problem,interpretation);
2134 neg find hasElementInContainment(problem,interpretation);
2135 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2136 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Model class UndefinedPart");
2137 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,newObject);
2138 find mayExist(problem, interpretation, newObject);
2139 neg find mustExist(problem, interpretation, newObject);
2140}
2141pattern createObject_Dir_class_by_root_reference_FileSystem(
2142 problem:LogicProblem, interpretation:PartialInterpretation,
2143 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2144 container:DefinedElement)
2145{
2146 find interpretation(problem,interpretation);
2147 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2148 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class");
2149 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2150 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"root reference FileSystem");
2151 find mustInstanceOfFileSystem_class(problem,interpretation,container);
2152 find mayInstanceOfDir_class(problem,interpretation,newObject);
2153 find mayInRelationroot_reference_FileSystem(problem,interpretation,container,newObject);
2154 find mustExist(problem, interpretation, container);
2155 neg find mustExist(problem, interpretation, newObject);
2156}
2157pattern createObject_Dir_class_by_contents_reference_Dir_with_parent_reference_FSObject(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2160 container:DefinedElement)
2161{
2162 find interpretation(problem,interpretation);
2163 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2164 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class");
2165 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2166 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir");
2167 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
2168 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject");
2169 find mustInstanceOfDir_class(problem,interpretation,container);
2170 find mayInstanceOfDir_class(problem,interpretation,newObject);
2171 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject);
2172 find mustExist(problem, interpretation, container);
2173 neg find mustExist(problem, interpretation, newObject);
2174}
2175pattern createObject_Dir_class_by_otherFSObjects_reference_Model(
2176 problem:LogicProblem, interpretation:PartialInterpretation,
2177 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2178 container:DefinedElement)
2179{
2180 find interpretation(problem,interpretation);
2181 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2182 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class");
2183 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2184 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model");
2185 find mustInstanceOfModel_class(problem,interpretation,container);
2186 find mayInstanceOfDir_class(problem,interpretation,newObject);
2187 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject);
2188 find mustExist(problem, interpretation, container);
2189 neg find mustExist(problem, interpretation, newObject);
2190}
2191pattern createObject_Dir_class(
2192 problem:LogicProblem, interpretation:PartialInterpretation,
2193 typeInterpretation:PartialComplexTypeInterpretation)
2194{
2195 find interpretation(problem,interpretation);
2196 neg find hasElementInContainment(problem,interpretation);
2197 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2198 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class");
2199 find mayInstanceOfDir_class(problem,interpretation,newObject);
2200 find mayExist(problem, interpretation, newObject);
2201 neg find mustExist(problem, interpretation, newObject);
2202}
2203pattern createObject_File_class_by_contents_reference_Dir_with_parent_reference_FSObject(
2204 problem:LogicProblem, interpretation:PartialInterpretation,
2205 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2206 container:DefinedElement)
2207{
2208 find interpretation(problem,interpretation);
2209 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2210 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class");
2211 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2212 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir");
2213 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
2214 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject");
2215 find mustInstanceOfDir_class(problem,interpretation,container);
2216 find mayInstanceOfFile_class(problem,interpretation,newObject);
2217 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject);
2218 find mustExist(problem, interpretation, container);
2219 neg find mustExist(problem, interpretation, newObject);
2220}
2221pattern createObject_File_class_by_otherFSObjects_reference_Model(
2222 problem:LogicProblem, interpretation:PartialInterpretation,
2223 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2224 container:DefinedElement)
2225{
2226 find interpretation(problem,interpretation);
2227 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2228 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class");
2229 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2230 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model");
2231 find mustInstanceOfModel_class(problem,interpretation,container);
2232 find mayInstanceOfFile_class(problem,interpretation,newObject);
2233 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject);
2234 find mustExist(problem, interpretation, container);
2235 neg find mustExist(problem, interpretation, newObject);
2236}
2237pattern createObject_File_class(
2238 problem:LogicProblem, interpretation:PartialInterpretation,
2239 typeInterpretation:PartialComplexTypeInterpretation)
2240{
2241 find interpretation(problem,interpretation);
2242 neg find hasElementInContainment(problem,interpretation);
2243 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2244 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class");
2245 find mayInstanceOfFile_class(problem,interpretation,newObject);
2246 find mayExist(problem, interpretation, newObject);
2247 neg find mustExist(problem, interpretation, newObject);
2248}
2249pattern createObject_FileSystem_class_by_filesystems_reference_Model(
2250 problem:LogicProblem, interpretation:PartialInterpretation,
2251 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2252 container:DefinedElement)
2253{
2254 find interpretation(problem,interpretation);
2255 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2256 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class");
2257 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2258 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"filesystems reference Model");
2259 find mustInstanceOfModel_class(problem,interpretation,container);
2260 find mayInstanceOfFileSystem_class(problem,interpretation,newObject);
2261 find mayInRelationfilesystems_reference_Model(problem,interpretation,container,newObject);
2262 find mustExist(problem, interpretation, container);
2263 neg find mustExist(problem, interpretation, newObject);
2264}
2265pattern createObject_FileSystem_class(
2266 problem:LogicProblem, interpretation:PartialInterpretation,
2267 typeInterpretation:PartialComplexTypeInterpretation)
2268{
2269 find interpretation(problem,interpretation);
2270 neg find hasElementInContainment(problem,interpretation);
2271 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2272 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class");
2273 find mayInstanceOfFileSystem_class(problem,interpretation,newObject);
2274 find mayExist(problem, interpretation, newObject);
2275 neg find mustExist(problem, interpretation, newObject);
2276}
2277
2278//////////
2279// 4.2 Type refinement
2280//////////
2281pattern refineTypeTo_Model_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2282 find interpretation(problem,interpretation);
2283 PartialInterpretation.newElements(interpretation,element);
2284 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
2285 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
2286 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
2287 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
2288}
2289pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2290 find interpretation(problem,interpretation);
2291 PartialInterpretation.newElements(interpretation,element);
2292 find mayInstanceOfDir_class(problem,interpretation,element);
2293 neg find mustInstanceOfDir_class(problem,interpretation,element);
2294 neg find mustInstanceOfModel_class(problem,interpretation,element);
2295 neg find mustInstanceOfFile_class(problem,interpretation,element);
2296 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
2297}
2298pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2299 find interpretation(problem,interpretation);
2300 PartialInterpretation.newElements(interpretation,element);
2301 find mayInstanceOfFile_class(problem,interpretation,element);
2302 neg find mustInstanceOfDir_class(problem,interpretation,element);
2303 neg find mustInstanceOfModel_class(problem,interpretation,element);
2304 neg find mustInstanceOfFile_class(problem,interpretation,element);
2305 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
2306}
2307pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2308 find interpretation(problem,interpretation);
2309 PartialInterpretation.newElements(interpretation,element);
2310 find mayInstanceOfFileSystem_class(problem,interpretation,element);
2311 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
2312 neg find mustInstanceOfModel_class(problem,interpretation,element);
2313 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
2314}
2315
2316//////////
2317// 4.3 Relation refinement
2318//////////
2319pattern refineRelation_live_reference_FileSystem(
2320 problem:LogicProblem, interpretation:PartialInterpretation,
2321 relationIterpretation:PartialRelationInterpretation,
2322 from: DefinedElement, to: DefinedElement)
2323{ 3411{
2324 find interpretation(problem,interpretation); 3412 find interpretation(problem,interpretation);
2325 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2326 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"live reference FileSystem");
2327 find mustExist(problem, interpretation, from);
2328 find mustExist(problem, interpretation, to);
2329 find mustInstanceOfFileSystem_class(problem,interpretation,from);
2330 find mustInstanceOfFSObject_class(problem,interpretation,to);
2331 find mayInRelationlive_reference_FileSystem(problem,interpretation,from,to);
2332 neg find mustInRelationlive_reference_FileSystem(problem,interpretation,from,to);
2333}
2334import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2335import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
2336import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
2337
2338//////////
2339// 0. Util
2340//////////
2341private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
2342 PartialInterpretation.problem(interpretation,problem);
2343}
2344
2345/////////////////////////
2346// 0.1 Existence
2347/////////////////////////
2348private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2349 find interpretation(problem,interpretation);
2350 LogicProblem.elements(problem,element);
2351} or {
2352 find interpretation(problem,interpretation);
2353 PartialInterpretation.newElements(interpretation,element); 3413 PartialInterpretation.newElements(interpretation,element);
2354} 3414 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2355 3415 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
2356private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3416 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
2357 find mustExist(problem,interpretation,element); 3417 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2358} or { 3418 neg find mustInstanceOfVertex_class(problem,interpretation,element);
2359 find interpretation(problem,interpretation); 3419 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
2360 neg find elementCloseWorld(element); 3420 neg find isPrimitive(element);
2361 PartialInterpretation.openWorldElements(interpretation,element);
2362}
2363
2364private pattern elementCloseWorld(element:DefinedElement) {
2365 PartialInterpretation.openWorldElements(i,element);
2366 PartialInterpretation.maxNewElements(i,0);
2367} or {
2368 Scope.targetTypeInterpretation(scope,interpretation);
2369 PartialTypeInterpratation.elements(interpretation,element);
2370 Scope.maxNewElements(scope,0);
2371}
2372
2373////////////////////////
2374// 0.2 Equivalence
2375////////////////////////
2376pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
2377 find mayExist(problem,interpretation,a);
2378 find mayExist(problem,interpretation,b);
2379 a == b;
2380}
2381
2382////////////////////////
2383// 0.3 Required Patterns by TypeIndexer
2384////////////////////////
2385private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
2386 find interpretation(problem,interpretation);
2387 LogicProblem.types(problem,type);
2388 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2389 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2390}
2391
2392private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
2393 find interpretation(problem,interpretation);
2394 LogicProblem.types(problem,type);
2395 TypeDefinition.elements(type,element);
2396} or { 3421} or {
2397 find interpretation(problem,interpretation); 3422 find interpretation(problem,interpretation);
2398 find typeInterpretation(problem,interpretation,type,typeInterpretation); 3423 PartialInterpretation.openWorldElements(interpretation,element);
2399 PartialComplexTypeInterpretation.elements(typeInterpretation,element); 3424 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2400} 3425 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
2401 3426 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
2402private pattern isPrimitive(element: PrimitiveElement) { 3427 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2403 PrimitiveElement(element); 3428 neg find mustInstanceOfVertex_class(problem,interpretation,element);
2404} 3429 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
2405 3430 neg find isPrimitive(element);
2406////////// 3431} or
2407// 1. Problem-Specific Base Indexers 3432{ find mustInstanceOfCompositeElement_class(problem,interpretation,element); }
2408//////////
2409// 1.1 Type Indexers
2410//////////
2411// 1.1.1 primitive Type Indexers
2412//////////
2413
2414//////////
2415// 1.1.2 domain-specific Type Indexers
2416//////////
2417/** 3433/**
2418 * An element must be an instance of type "FileSystem class". 3434 * An element must be an instance of type "Choice class".
2419 */ 3435 */
2420private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3436private pattern mustInstanceOfChoice_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2421 Type.name(type,"FileSystem class"); 3437 Type.name(type,"Choice class");
2422 find directInstanceOf(problem,interpretation,element,type); 3438 find directInstanceOf(problem,interpretation,element,type);
2423} 3439}
2424private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3440private pattern scopeDisallowsNewChoice_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2425 find interpretation(problem,interpretation); 3441 find interpretation(problem,interpretation);
2426 PartialInterpretation.scopes(interpretation,scope); 3442 PartialInterpretation.scopes(interpretation,scope);
2427 Scope.targetTypeInterpretation(scope,typeInterpretation); 3443 Scope.targetTypeInterpretation(scope,typeInterpretation);
2428 Scope.maxNewElements(scope,0); 3444 Scope.maxNewElements(scope,0);
2429 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3445 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2430 Type.name(type,"FileSystem class"); 3446 Type.name(type,"Choice class");
2431} 3447}
2432 3448
2433/** 3449/**
2434 * An element may be an instance of type "FileSystem class". 3450 * An element may be an instance of type "Choice class".
2435 */ 3451 */
2436private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3452private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2437{ 3453{
2438 find interpretation(problem,interpretation); 3454 find interpretation(problem,interpretation);
2439 PartialInterpretation.newElements(interpretation,element); 3455 PartialInterpretation.newElements(interpretation,element);
2440 neg find mustInstanceOfModel_class(problem,interpretation,element); 3456 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2441 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3457 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
2442 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 3458 neg find mustInstanceOfExit_class(problem,interpretation,element);
3459 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3460 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3461 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3462 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3463 neg find scopeDisallowsNewChoice_class(problem, interpretation);
2443 neg find isPrimitive(element); 3464 neg find isPrimitive(element);
2444} or { 3465} or {
2445 find interpretation(problem,interpretation); 3466 find interpretation(problem,interpretation);
2446 PartialInterpretation.openWorldElements(interpretation,element); 3467 PartialInterpretation.openWorldElements(interpretation,element);
2447 neg find mustInstanceOfModel_class(problem,interpretation,element); 3468 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2448 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3469 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
2449 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 3470 neg find mustInstanceOfExit_class(problem,interpretation,element);
3471 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3472 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3473 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3474 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3475 neg find scopeDisallowsNewChoice_class(problem, interpretation);
2450 neg find isPrimitive(element); 3476 neg find isPrimitive(element);
2451} or 3477} or
2452{ find mustInstanceOfFileSystem_class(problem,interpretation,element); } 3478{ find mustInstanceOfChoice_class(problem,interpretation,element); }
2453/** 3479/**
2454 * An element must be an instance of type "FSObject class". 3480 * An element must be an instance of type "Exit class".
2455 */ 3481 */
2456private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3482private pattern mustInstanceOfExit_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2457 Type.name(type,"FSObject class"); 3483 Type.name(type,"Exit class");
2458 find directInstanceOf(problem,interpretation,element,type); 3484 find directInstanceOf(problem,interpretation,element,type);
2459} 3485}
2460private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3486private pattern scopeDisallowsNewExit_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2461 find interpretation(problem,interpretation); 3487 find interpretation(problem,interpretation);
2462 PartialInterpretation.scopes(interpretation,scope); 3488 PartialInterpretation.scopes(interpretation,scope);
2463 Scope.targetTypeInterpretation(scope,typeInterpretation); 3489 Scope.targetTypeInterpretation(scope,typeInterpretation);
2464 Scope.maxNewElements(scope,0); 3490 Scope.maxNewElements(scope,0);
2465 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3491 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2466 Type.name(type,"FSObject class"); 3492 Type.name(type,"Exit class");
2467} 3493}
2468 3494
2469/** 3495/**
2470 * An element may be an instance of type "FSObject class". 3496 * An element may be an instance of type "Exit class".
2471 */ 3497 */
2472private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3498private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2473{ 3499{
2474 find interpretation(problem,interpretation); 3500 find interpretation(problem,interpretation);
2475 PartialInterpretation.newElements(interpretation,element); 3501 PartialInterpretation.newElements(interpretation,element);
2476 neg find mustInstanceOfFile_class(problem,interpretation,element); 3502 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
2477 neg find mustInstanceOfModel_class(problem,interpretation,element); 3503 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2478 neg find mustInstanceOfDir_class(problem,interpretation,element); 3504 neg find mustInstanceOfChoice_class(problem,interpretation,element);
2479 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3505 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2480 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 3506 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3507 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3508 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3509 neg find scopeDisallowsNewExit_class(problem, interpretation);
2481 neg find isPrimitive(element); 3510 neg find isPrimitive(element);
2482} or { 3511} or {
2483 find interpretation(problem,interpretation); 3512 find interpretation(problem,interpretation);
2484 PartialInterpretation.openWorldElements(interpretation,element); 3513 PartialInterpretation.openWorldElements(interpretation,element);
2485 neg find mustInstanceOfFile_class(problem,interpretation,element); 3514 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
2486 neg find mustInstanceOfModel_class(problem,interpretation,element); 3515 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2487 neg find mustInstanceOfDir_class(problem,interpretation,element); 3516 neg find mustInstanceOfChoice_class(problem,interpretation,element);
2488 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3517 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2489 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 3518 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3519 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3520 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3521 neg find scopeDisallowsNewExit_class(problem, interpretation);
2490 neg find isPrimitive(element); 3522 neg find isPrimitive(element);
2491} or 3523} or
2492{ find mustInstanceOfFSObject_class(problem,interpretation,element); } 3524{ find mustInstanceOfExit_class(problem,interpretation,element); }
2493/** 3525/**
2494 * An element must be an instance of type "Dir class". 3526 * An element must be an instance of type "FinalState class".
2495 */ 3527 */
2496private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3528private pattern mustInstanceOfFinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2497 Type.name(type,"Dir class"); 3529 Type.name(type,"FinalState class");
2498 find directInstanceOf(problem,interpretation,element,type); 3530 find directInstanceOf(problem,interpretation,element,type);
2499} 3531}
2500private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3532private pattern scopeDisallowsNewFinalState_class(problem:LogicProblem, interpretation:PartialInterpretation) {
2501 find interpretation(problem,interpretation); 3533 find interpretation(problem,interpretation);
2502 PartialInterpretation.scopes(interpretation,scope); 3534 PartialInterpretation.scopes(interpretation,scope);
2503 Scope.targetTypeInterpretation(scope,typeInterpretation); 3535 Scope.targetTypeInterpretation(scope,typeInterpretation);
2504 Scope.maxNewElements(scope,0); 3536 Scope.maxNewElements(scope,0);
2505 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3537 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2506 Type.name(type,"Dir class"); 3538 Type.name(type,"FinalState class");
2507} 3539}
2508 3540
2509/** 3541/**
2510 * An element may be an instance of type "Dir class". 3542 * An element may be an instance of type "FinalState class".
2511 */ 3543 */
2512private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3544private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2513{ 3545{
2514 find interpretation(problem,interpretation); 3546 find interpretation(problem,interpretation);
2515 PartialInterpretation.newElements(interpretation,element); 3547 PartialInterpretation.newElements(interpretation,element);
2516 neg find mustInstanceOfFile_class(problem,interpretation,element); 3548 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
2517 neg find mustInstanceOfModel_class(problem,interpretation,element); 3549 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2518 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3550 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2519 neg find scopeDisallowsNewDir_class(problem, interpretation); 3551 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3552 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
2520 neg find isPrimitive(element); 3553 neg find isPrimitive(element);
2521} or { 3554} or {
2522 find interpretation(problem,interpretation); 3555 find interpretation(problem,interpretation);
2523 PartialInterpretation.openWorldElements(interpretation,element); 3556 PartialInterpretation.openWorldElements(interpretation,element);
2524 neg find mustInstanceOfFile_class(problem,interpretation,element); 3557 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
2525 neg find mustInstanceOfModel_class(problem,interpretation,element); 3558 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2526 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3559 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2527 neg find scopeDisallowsNewDir_class(problem, interpretation); 3560 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3561 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
2528 neg find isPrimitive(element); 3562 neg find isPrimitive(element);
2529} or 3563} or
2530{ find mustInstanceOfDir_class(problem,interpretation,element); } 3564{ find mustInstanceOfFinalState_class(problem,interpretation,element); }
2531/** 3565/**
2532 * An element must be an instance of type "File class". 3566 * An element must be an instance of type "Statechart class DefinedPart".
2533 */ 3567 */
2534private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3568private pattern mustInstanceOfStatechart_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2535 Type.name(type,"File class"); 3569 Type.name(type,"Statechart class DefinedPart");
2536 find directInstanceOf(problem,interpretation,element,type); 3570 find directInstanceOf(problem,interpretation,element,type);
2537} 3571}
2538private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3572private pattern scopeDisallowsNewStatechart_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
2539 find interpretation(problem,interpretation); 3573 find interpretation(problem,interpretation);
2540 PartialInterpretation.scopes(interpretation,scope); 3574 PartialInterpretation.scopes(interpretation,scope);
2541 Scope.targetTypeInterpretation(scope,typeInterpretation); 3575 Scope.targetTypeInterpretation(scope,typeInterpretation);
2542 Scope.maxNewElements(scope,0); 3576 Scope.maxNewElements(scope,0);
2543 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3577 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2544 Type.name(type,"File class"); 3578 Type.name(type,"Statechart class DefinedPart");
2545} 3579}
2546 3580
2547/** 3581/**
2548 * An element may be an instance of type "File class". 3582 * An element may be an instance of type "Statechart class DefinedPart".
2549 */ 3583 */
2550private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3584private pattern mayInstanceOfStatechart_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2551{ 3585{ find mustInstanceOfStatechart_class_DefinedPart(problem,interpretation,element); }
2552 find interpretation(problem,interpretation);
2553 PartialInterpretation.newElements(interpretation,element);
2554 neg find mustInstanceOfModel_class(problem,interpretation,element);
2555 neg find mustInstanceOfDir_class(problem,interpretation,element);
2556 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
2557 neg find scopeDisallowsNewFile_class(problem, interpretation);
2558 neg find isPrimitive(element);
2559} or {
2560 find interpretation(problem,interpretation);
2561 PartialInterpretation.openWorldElements(interpretation,element);
2562 neg find mustInstanceOfModel_class(problem,interpretation,element);
2563 neg find mustInstanceOfDir_class(problem,interpretation,element);
2564 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
2565 neg find scopeDisallowsNewFile_class(problem, interpretation);
2566 neg find isPrimitive(element);
2567} or
2568{ find mustInstanceOfFile_class(problem,interpretation,element); }
2569/** 3586/**
2570 * An element must be an instance of type "Model class". 3587 * An element must be an instance of type "Statechart class UndefinedPart".
2571 */ 3588 */
2572private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3589private pattern mustInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2573 Type.name(type,"Model class"); 3590 Type.name(type,"Statechart class UndefinedPart");
2574 find directInstanceOf(problem,interpretation,element,type); 3591 find directInstanceOf(problem,interpretation,element,type);
2575} 3592}
2576private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { 3593private pattern scopeDisallowsNewStatechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
2577 find interpretation(problem,interpretation); 3594 find interpretation(problem,interpretation);
2578 PartialInterpretation.scopes(interpretation,scope); 3595 PartialInterpretation.scopes(interpretation,scope);
2579 Scope.targetTypeInterpretation(scope,typeInterpretation); 3596 Scope.targetTypeInterpretation(scope,typeInterpretation);
2580 Scope.maxNewElements(scope,0); 3597 Scope.maxNewElements(scope,0);
2581 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3598 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2582 Type.name(type,"Model class"); 3599 Type.name(type,"Statechart class UndefinedPart");
2583} 3600}
2584 3601
2585/** 3602/**
2586 * An element may be an instance of type "Model class". 3603 * An element may be an instance of type "Statechart class UndefinedPart".
2587 */ 3604 */
2588private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3605private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2589{ 3606{
2590 find interpretation(problem,interpretation); 3607 find interpretation(problem,interpretation);
2591 PartialInterpretation.newElements(interpretation,element); 3608 PartialInterpretation.newElements(interpretation,element);
2592 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 3609 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2593 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3610 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2594 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3611 neg find mustInstanceOfVertex_class(problem,interpretation,element);
2595 neg find scopeDisallowsNewModel_class(problem, interpretation); 3612 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
2596 neg find isPrimitive(element); 3613 neg find isPrimitive(element);
2597} or { 3614} or {
2598 find interpretation(problem,interpretation); 3615 find interpretation(problem,interpretation);
2599 PartialInterpretation.openWorldElements(interpretation,element); 3616 PartialInterpretation.openWorldElements(interpretation,element);
2600 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 3617 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2601 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3618 neg find mustInstanceOfRegion_class(problem,interpretation,element);
2602 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3619 neg find mustInstanceOfVertex_class(problem,interpretation,element);
2603 neg find scopeDisallowsNewModel_class(problem, interpretation); 3620 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
2604 neg find isPrimitive(element); 3621 neg find isPrimitive(element);
2605} or 3622} or
2606{ find mustInstanceOfModel_class(problem,interpretation,element); } 3623{ find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); }
2607/** 3624/**
2608 * An element must be an instance of type "Model class DefinedPart". 3625 * An element must be an instance of type "CompositeElement class DefinedPart".
2609 */ 3626 */
2610private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3627private pattern mustInstanceOfCompositeElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2611 Type.name(type,"Model class DefinedPart"); 3628 Type.name(type,"CompositeElement class DefinedPart");
2612 find directInstanceOf(problem,interpretation,element,type); 3629 find directInstanceOf(problem,interpretation,element,type);
2613} 3630}
2614private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 3631private pattern scopeDisallowsNewCompositeElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
2615 find interpretation(problem,interpretation); 3632 find interpretation(problem,interpretation);
2616 PartialInterpretation.scopes(interpretation,scope); 3633 PartialInterpretation.scopes(interpretation,scope);
2617 Scope.targetTypeInterpretation(scope,typeInterpretation); 3634 Scope.targetTypeInterpretation(scope,typeInterpretation);
2618 Scope.maxNewElements(scope,0); 3635 Scope.maxNewElements(scope,0);
2619 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3636 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2620 Type.name(type,"Model class DefinedPart"); 3637 Type.name(type,"CompositeElement class DefinedPart");
2621} 3638}
2622 3639
2623/** 3640/**
2624 * An element may be an instance of type "Model class DefinedPart". 3641 * An element may be an instance of type "CompositeElement class DefinedPart".
2625 */ 3642 */
2626private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3643private pattern mayInstanceOfCompositeElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2627{ find mustInstanceOfModel_class_DefinedPart(problem,interpretation,element); } 3644{ find mustInstanceOfCompositeElement_class_DefinedPart(problem,interpretation,element); }
2628/** 3645/**
2629 * An element must be an instance of type "Model class UndefinedPart". 3646 * An element must be an instance of type "CompositeElement class UndefinedPart".
2630 */ 3647 */
2631private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 3648private pattern mustInstanceOfCompositeElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
2632 Type.name(type,"Model class UndefinedPart"); 3649 Type.name(type,"CompositeElement class UndefinedPart");
2633 find directInstanceOf(problem,interpretation,element,type); 3650 find directInstanceOf(problem,interpretation,element,type);
2634} 3651}
2635private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 3652private pattern scopeDisallowsNewCompositeElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
2636 find interpretation(problem,interpretation); 3653 find interpretation(problem,interpretation);
2637 PartialInterpretation.scopes(interpretation,scope); 3654 PartialInterpretation.scopes(interpretation,scope);
2638 Scope.targetTypeInterpretation(scope,typeInterpretation); 3655 Scope.targetTypeInterpretation(scope,typeInterpretation);
2639 Scope.maxNewElements(scope,0); 3656 Scope.maxNewElements(scope,0);
2640 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 3657 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
2641 Type.name(type,"Model class UndefinedPart"); 3658 Type.name(type,"CompositeElement class UndefinedPart");
2642} 3659}
2643 3660
2644/** 3661/**
2645 * An element may be an instance of type "Model class UndefinedPart". 3662 * An element may be an instance of type "CompositeElement class UndefinedPart".
2646 */ 3663 */
2647private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 3664private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
2648{ 3665{
2649 find interpretation(problem,interpretation); 3666 find interpretation(problem,interpretation);
2650 PartialInterpretation.newElements(interpretation,element); 3667 PartialInterpretation.newElements(interpretation,element);
2651 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3668 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2652 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3669 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
2653 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 3670 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3671 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3672 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
2654 neg find isPrimitive(element); 3673 neg find isPrimitive(element);
2655} or { 3674} or {
2656 find interpretation(problem,interpretation); 3675 find interpretation(problem,interpretation);
2657 PartialInterpretation.openWorldElements(interpretation,element); 3676 PartialInterpretation.openWorldElements(interpretation,element);
2658 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 3677 neg find mustInstanceOfTransition_class(problem,interpretation,element);
2659 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 3678 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
2660 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 3679 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3680 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3681 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
2661 neg find isPrimitive(element); 3682 neg find isPrimitive(element);
2662} or 3683} or
2663{ find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); } 3684{ find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); }
2664 3685
2665////////// 3686//////////
2666// 1.2 Relation Declaration Indexers 3687// 1.2 Relation Declaration Indexers
2667////////// 3688//////////
2668/** 3689/**
2669 * Matcher for detecting tuples t where []root reference FileSystem(source,target) 3690 * Matcher for detecting tuples t where []incomingTransitions reference Vertex(source,target)
2670 */ 3691 */
2671private pattern mustInRelationroot_reference_FileSystem( 3692private pattern mustInRelationincomingTransitions_reference_Vertex(
2672 problem:LogicProblem, interpretation:PartialInterpretation, 3693 problem:LogicProblem, interpretation:PartialInterpretation,
2673 source: DefinedElement, target:DefinedElement) 3694 source: DefinedElement, target:DefinedElement)
2674{ 3695{
2675 find interpretation(problem,interpretation); 3696 find interpretation(problem,interpretation);
2676 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3697 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2677 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem"); 3698 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"incomingTransitions reference Vertex");
2678 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3699 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
2679 BinaryElementRelationLink.param1(link,source); 3700 BinaryElementRelationLink.param1(link,source);
2680 BinaryElementRelationLink.param2(link,target); 3701 BinaryElementRelationLink.param2(link,target);
2681} 3702}
2682/** 3703/**
2683 * Matcher for detecting tuples t where <>root reference FileSystem(source,target) 3704 * Matcher for detecting tuples t where <>incomingTransitions reference Vertex(source,target)
2684 */ 3705 */
2685private pattern mayInRelationroot_reference_FileSystem( 3706private pattern mayInRelationincomingTransitions_reference_Vertex(
2686 problem:LogicProblem, interpretation:PartialInterpretation, 3707 problem:LogicProblem, interpretation:PartialInterpretation,
2687 source: DefinedElement, target:DefinedElement) 3708 source: DefinedElement, target:DefinedElement)
2688{ 3709{
@@ -2691,38 +3712,33 @@ private pattern mayInRelationroot_reference_FileSystem(
2691 find mayExist(problem, interpretation, source); 3712 find mayExist(problem, interpretation, source);
2692 find mayExist(problem, interpretation, target); 3713 find mayExist(problem, interpretation, target);
2693 // Type consistency 3714 // Type consistency
2694 find mayInstanceOfFileSystem_class(problem,interpretation,source); 3715 find mayInstanceOfVertex_class(problem,interpretation,source);
2695 find mayInstanceOfDir_class(problem,interpretation,target); 3716 find mayInstanceOfTransition_class(problem,interpretation,target);
2696 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 3717 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
2697 // the upper bound of the multiplicity should be considered. 3718 // the upper bound of the opposite reference multiplicity should be considered.
2698 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,source,_); 3719 numberOfExistingOppositeReferences == count find mustInRelationtarget_reference_Transition(problem,interpretation,target,_);
2699 check(numberOfExistingReferences < 1); 3720 check(numberOfExistingOppositeReferences < 1);
2700 // The reference is containment, then a new reference cannot be create if:
2701 // 1. Multiple parents
2702 neg find mustContains4(problem,interpretation,_,target);
2703 // 2. Circle in the containment hierarchy
2704 neg find mustTransitiveContains(source,target);
2705} or { 3721} or {
2706 find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target); 3722 find mustInRelationincomingTransitions_reference_Vertex(problem,interpretation,source,target);
2707} 3723}
2708/** 3724/**
2709 * Matcher for detecting tuples t where []live reference FileSystem(source,target) 3725 * Matcher for detecting tuples t where []outgoingTransitions reference Vertex(source,target)
2710 */ 3726 */
2711private pattern mustInRelationlive_reference_FileSystem( 3727private pattern mustInRelationoutgoingTransitions_reference_Vertex(
2712 problem:LogicProblem, interpretation:PartialInterpretation, 3728 problem:LogicProblem, interpretation:PartialInterpretation,
2713 source: DefinedElement, target:DefinedElement) 3729 source: DefinedElement, target:DefinedElement)
2714{ 3730{
2715 find interpretation(problem,interpretation); 3731 find interpretation(problem,interpretation);
2716 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3732 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2717 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"live reference FileSystem"); 3733 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"outgoingTransitions reference Vertex");
2718 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3734 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
2719 BinaryElementRelationLink.param1(link,source); 3735 BinaryElementRelationLink.param1(link,source);
2720 BinaryElementRelationLink.param2(link,target); 3736 BinaryElementRelationLink.param2(link,target);
2721} 3737}
2722/** 3738/**
2723 * Matcher for detecting tuples t where <>live reference FileSystem(source,target) 3739 * Matcher for detecting tuples t where <>outgoingTransitions reference Vertex(source,target)
2724 */ 3740 */
2725private pattern mayInRelationlive_reference_FileSystem( 3741private pattern mayInRelationoutgoingTransitions_reference_Vertex(
2726 problem:LogicProblem, interpretation:PartialInterpretation, 3742 problem:LogicProblem, interpretation:PartialInterpretation,
2727 source: DefinedElement, target:DefinedElement) 3743 source: DefinedElement, target:DefinedElement)
2728{ 3744{
@@ -2731,29 +3747,38 @@ private pattern mayInRelationlive_reference_FileSystem(
2731 find mayExist(problem, interpretation, source); 3747 find mayExist(problem, interpretation, source);
2732 find mayExist(problem, interpretation, target); 3748 find mayExist(problem, interpretation, target);
2733 // Type consistency 3749 // Type consistency
2734 find mayInstanceOfFileSystem_class(problem,interpretation,source); 3750 find mayInstanceOfVertex_class(problem,interpretation,source);
2735 find mayInstanceOfFSObject_class(problem,interpretation,target); 3751 find mayInstanceOfTransition_class(problem,interpretation,target);
3752 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
3753 // the upper bound of the opposite reference multiplicity should be considered.
3754 numberOfExistingOppositeReferences == count find mustInRelationsource_reference_Transition(problem,interpretation,target,_);
3755 check(numberOfExistingOppositeReferences < 1);
3756 // The reference is containment, then a new reference cannot be create if:
3757 // 1. Multiple parents
3758 neg find mustContains4(problem,interpretation,_,target);
3759 // 2. Circle in the containment hierarchy
3760 neg find mustTransitiveContains(source,target);
2736} or { 3761} or {
2737 find mustInRelationlive_reference_FileSystem(problem,interpretation,source,target); 3762 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,source,target);
2738} 3763}
2739/** 3764/**
2740 * Matcher for detecting tuples t where []parent reference FSObject(source,target) 3765 * Matcher for detecting tuples t where []vertices reference Region(source,target)
2741 */ 3766 */
2742private pattern mustInRelationparent_reference_FSObject( 3767private pattern mustInRelationvertices_reference_Region(
2743 problem:LogicProblem, interpretation:PartialInterpretation, 3768 problem:LogicProblem, interpretation:PartialInterpretation,
2744 source: DefinedElement, target:DefinedElement) 3769 source: DefinedElement, target:DefinedElement)
2745{ 3770{
2746 find interpretation(problem,interpretation); 3771 find interpretation(problem,interpretation);
2747 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3772 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2748 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parent reference FSObject"); 3773 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"vertices reference Region");
2749 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3774 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
2750 BinaryElementRelationLink.param1(link,source); 3775 BinaryElementRelationLink.param1(link,source);
2751 BinaryElementRelationLink.param2(link,target); 3776 BinaryElementRelationLink.param2(link,target);
2752} 3777}
2753/** 3778/**
2754 * Matcher for detecting tuples t where <>parent reference FSObject(source,target) 3779 * Matcher for detecting tuples t where <>vertices reference Region(source,target)
2755 */ 3780 */
2756private pattern mayInRelationparent_reference_FSObject( 3781private pattern mayInRelationvertices_reference_Region(
2757 problem:LogicProblem, interpretation:PartialInterpretation, 3782 problem:LogicProblem, interpretation:PartialInterpretation,
2758 source: DefinedElement, target:DefinedElement) 3783 source: DefinedElement, target:DefinedElement)
2759{ 3784{
@@ -2762,38 +3787,34 @@ private pattern mayInRelationparent_reference_FSObject(
2762 find mayExist(problem, interpretation, source); 3787 find mayExist(problem, interpretation, source);
2763 find mayExist(problem, interpretation, target); 3788 find mayExist(problem, interpretation, target);
2764 // Type consistency 3789 // Type consistency
2765 find mayInstanceOfFSObject_class(problem,interpretation,source); 3790 find mayInstanceOfRegion_class(problem,interpretation,source);
2766 find mayInstanceOfDir_class(problem,interpretation,target); 3791 find mayInstanceOfVertex_class(problem,interpretation,target);
2767 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 3792 // The reference is containment, then a new reference cannot be create if:
2768 // the upper bound of the multiplicity should be considered.
2769 numberOfExistingReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,source,_);
2770 check(numberOfExistingReferences < 1);
2771 // The eOpposite of the reference is containment, then a referene cannot be created if
2772 // 1. Multiple parents 3793 // 1. Multiple parents
2773 neg find mustContains4(problem,interpretation,source,_); 3794 neg find mustContains4(problem,interpretation,_,target);
2774 // 2. Circle in the containment hierarchy 3795 // 2. Circle in the containment hierarchy
2775 neg find mustTransitiveContains(source,target); 3796 neg find mustTransitiveContains(source,target);
2776} or { 3797} or {
2777 find mustInRelationparent_reference_FSObject(problem,interpretation,source,target); 3798 find mustInRelationvertices_reference_Region(problem,interpretation,source,target);
2778} 3799}
2779/** 3800/**
2780 * Matcher for detecting tuples t where []contents reference Dir(source,target) 3801 * Matcher for detecting tuples t where []target reference Transition(source,target)
2781 */ 3802 */
2782private pattern mustInRelationcontents_reference_Dir( 3803private pattern mustInRelationtarget_reference_Transition(
2783 problem:LogicProblem, interpretation:PartialInterpretation, 3804 problem:LogicProblem, interpretation:PartialInterpretation,
2784 source: DefinedElement, target:DefinedElement) 3805 source: DefinedElement, target:DefinedElement)
2785{ 3806{
2786 find interpretation(problem,interpretation); 3807 find interpretation(problem,interpretation);
2787 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3808 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2788 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"contents reference Dir"); 3809 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference Transition");
2789 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3810 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
2790 BinaryElementRelationLink.param1(link,source); 3811 BinaryElementRelationLink.param1(link,source);
2791 BinaryElementRelationLink.param2(link,target); 3812 BinaryElementRelationLink.param2(link,target);
2792} 3813}
2793/** 3814/**
2794 * Matcher for detecting tuples t where <>contents reference Dir(source,target) 3815 * Matcher for detecting tuples t where <>target reference Transition(source,target)
2795 */ 3816 */
2796private pattern mayInRelationcontents_reference_Dir( 3817private pattern mayInRelationtarget_reference_Transition(
2797 problem:LogicProblem, interpretation:PartialInterpretation, 3818 problem:LogicProblem, interpretation:PartialInterpretation,
2798 source: DefinedElement, target:DefinedElement) 3819 source: DefinedElement, target:DefinedElement)
2799{ 3820{
@@ -2802,38 +3823,33 @@ private pattern mayInRelationcontents_reference_Dir(
2802 find mayExist(problem, interpretation, source); 3823 find mayExist(problem, interpretation, source);
2803 find mayExist(problem, interpretation, target); 3824 find mayExist(problem, interpretation, target);
2804 // Type consistency 3825 // Type consistency
2805 find mayInstanceOfDir_class(problem,interpretation,source); 3826 find mayInstanceOfTransition_class(problem,interpretation,source);
2806 find mayInstanceOfFSObject_class(problem,interpretation,target); 3827 find mayInstanceOfVertex_class(problem,interpretation,target);
2807 // There are "numberOfExistingReferences" currently existing instances of the reference to the target, 3828 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
2808 // the upper bound of the opposite reference multiplicity should be considered. 3829 // the upper bound of the multiplicity should be considered.
2809 numberOfExistingOppositeReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,target,_); 3830 numberOfExistingReferences == count find mustInRelationtarget_reference_Transition(problem,interpretation,source,_);
2810 check(numberOfExistingOppositeReferences < 1); 3831 check(numberOfExistingReferences < 1);
2811 // The reference is containment, then a new reference cannot be create if:
2812 // 1. Multiple parents
2813 neg find mustContains4(problem,interpretation,_,target);
2814 // 2. Circle in the containment hierarchy
2815 neg find mustTransitiveContains(source,target);
2816} or { 3832} or {
2817 find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); 3833 find mustInRelationtarget_reference_Transition(problem,interpretation,source,target);
2818} 3834}
2819/** 3835/**
2820 * Matcher for detecting tuples t where []filesystems reference Model(source,target) 3836 * Matcher for detecting tuples t where []source reference Transition(source,target)
2821 */ 3837 */
2822private pattern mustInRelationfilesystems_reference_Model( 3838private pattern mustInRelationsource_reference_Transition(
2823 problem:LogicProblem, interpretation:PartialInterpretation, 3839 problem:LogicProblem, interpretation:PartialInterpretation,
2824 source: DefinedElement, target:DefinedElement) 3840 source: DefinedElement, target:DefinedElement)
2825{ 3841{
2826 find interpretation(problem,interpretation); 3842 find interpretation(problem,interpretation);
2827 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3843 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2828 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 3844 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"source reference Transition");
2829 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3845 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
2830 BinaryElementRelationLink.param1(link,source); 3846 BinaryElementRelationLink.param1(link,source);
2831 BinaryElementRelationLink.param2(link,target); 3847 BinaryElementRelationLink.param2(link,target);
2832} 3848}
2833/** 3849/**
2834 * Matcher for detecting tuples t where <>filesystems reference Model(source,target) 3850 * Matcher for detecting tuples t where <>source reference Transition(source,target)
2835 */ 3851 */
2836private pattern mayInRelationfilesystems_reference_Model( 3852private pattern mayInRelationsource_reference_Transition(
2837 problem:LogicProblem, interpretation:PartialInterpretation, 3853 problem:LogicProblem, interpretation:PartialInterpretation,
2838 source: DefinedElement, target:DefinedElement) 3854 source: DefinedElement, target:DefinedElement)
2839{ 3855{
@@ -2842,38 +3858,38 @@ private pattern mayInRelationfilesystems_reference_Model(
2842 find mayExist(problem, interpretation, source); 3858 find mayExist(problem, interpretation, source);
2843 find mayExist(problem, interpretation, target); 3859 find mayExist(problem, interpretation, target);
2844 // Type consistency 3860 // Type consistency
2845 find mayInstanceOfModel_class(problem,interpretation,source); 3861 find mayInstanceOfTransition_class(problem,interpretation,source);
2846 find mayInstanceOfFileSystem_class(problem,interpretation,target); 3862 find mayInstanceOfVertex_class(problem,interpretation,target);
2847 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 3863 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
2848 // the upper bound of the multiplicity should be considered. 3864 // the upper bound of the multiplicity should be considered.
2849 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,source,_); 3865 numberOfExistingReferences == count find mustInRelationsource_reference_Transition(problem,interpretation,source,_);
2850 check(numberOfExistingReferences < 1); 3866 check(numberOfExistingReferences < 1);
2851 // The reference is containment, then a new reference cannot be create if: 3867 // The eOpposite of the reference is containment, then a referene cannot be created if
2852 // 1. Multiple parents 3868 // 1. Multiple parents
2853 neg find mustContains4(problem,interpretation,_,target); 3869 neg find mustContains4(problem,interpretation,source,_);
2854 // 2. Circle in the containment hierarchy 3870 // 2. Circle in the containment hierarchy
2855 neg find mustTransitiveContains(source,target); 3871 neg find mustTransitiveContains(source,target);
2856} or { 3872} or {
2857 find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target); 3873 find mustInRelationsource_reference_Transition(problem,interpretation,source,target);
2858} 3874}
2859/** 3875/**
2860 * Matcher for detecting tuples t where []otherFSObjects reference Model(source,target) 3876 * Matcher for detecting tuples t where []regions reference CompositeElement(source,target)
2861 */ 3877 */
2862private pattern mustInRelationotherFSObjects_reference_Model( 3878private pattern mustInRelationregions_reference_CompositeElement(
2863 problem:LogicProblem, interpretation:PartialInterpretation, 3879 problem:LogicProblem, interpretation:PartialInterpretation,
2864 source: DefinedElement, target:DefinedElement) 3880 source: DefinedElement, target:DefinedElement)
2865{ 3881{
2866 find interpretation(problem,interpretation); 3882 find interpretation(problem,interpretation);
2867 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 3883 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2868 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"otherFSObjects reference Model"); 3884 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"regions reference CompositeElement");
2869 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 3885 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
2870 BinaryElementRelationLink.param1(link,source); 3886 BinaryElementRelationLink.param1(link,source);
2871 BinaryElementRelationLink.param2(link,target); 3887 BinaryElementRelationLink.param2(link,target);
2872} 3888}
2873/** 3889/**
2874 * Matcher for detecting tuples t where <>otherFSObjects reference Model(source,target) 3890 * Matcher for detecting tuples t where <>regions reference CompositeElement(source,target)
2875 */ 3891 */
2876private pattern mayInRelationotherFSObjects_reference_Model( 3892private pattern mayInRelationregions_reference_CompositeElement(
2877 problem:LogicProblem, interpretation:PartialInterpretation, 3893 problem:LogicProblem, interpretation:PartialInterpretation,
2878 source: DefinedElement, target:DefinedElement) 3894 source: DefinedElement, target:DefinedElement)
2879{ 3895{
@@ -2882,20 +3898,1293 @@ private pattern mayInRelationotherFSObjects_reference_Model(
2882 find mayExist(problem, interpretation, source); 3898 find mayExist(problem, interpretation, source);
2883 find mayExist(problem, interpretation, target); 3899 find mayExist(problem, interpretation, target);
2884 // Type consistency 3900 // Type consistency
2885 find mayInstanceOfModel_class(problem,interpretation,source); 3901 find mayInstanceOfCompositeElement_class(problem,interpretation,source);
2886 find mayInstanceOfFSObject_class(problem,interpretation,target); 3902 find mayInstanceOfRegion_class(problem,interpretation,target);
2887 // The reference is containment, then a new reference cannot be create if: 3903 // The reference is containment, then a new reference cannot be create if:
2888 // 1. Multiple parents 3904 // 1. Multiple parents
2889 neg find mustContains4(problem,interpretation,_,target); 3905 neg find mustContains4(problem,interpretation,_,target);
2890 // 2. Circle in the containment hierarchy 3906 // 2. Circle in the containment hierarchy
2891 neg find mustTransitiveContains(source,target); 3907 neg find mustTransitiveContains(source,target);
2892} or { 3908} or {
2893 find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target); 3909 find mustInRelationregions_reference_CompositeElement(problem,interpretation,source,target);
2894} 3910}
2895 3911
2896////////// 3912//////////
2897// 1.3 Relation Definition Indexers 3913// 1.3 Relation Definition Indexers
2898////////// 3914//////////
3915// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries entryInRegion
3916private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
3917 problem:LogicProblem, interpretation:PartialInterpretation,
3918 var_r1, var_e1)
3919{
3920 find interpretation(problem,interpretation);
3921 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
3922 find mustInstanceOfEntry_class(problem,interpretation,var_e1);
3923 // r1 is exported
3924 // e1 is exported
3925 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
3926 find mustInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
3927 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
3928 var_virtual0 == var_e1;
3929}
3930private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
3931 problem:LogicProblem, interpretation:PartialInterpretation,
3932 var_r1, var_e1)
3933{
3934 find interpretation(problem,interpretation);
3935 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
3936 find mayInstanceOfEntry_class(problem,interpretation,var_e1);
3937 // r1 is exported
3938 // e1 is exported
3939 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
3940 find mayInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
3941 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
3942 find mayEquivalent(problem, interpretation, var_virtual0, var_e1);
3943}
3944private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
3945 problem:LogicProblem, interpretation:PartialInterpretation,
3946 var_r1, var_e1)
3947{
3948 find interpretation(problem,interpretation);
3949 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
3950 find mustInstanceOfEntry_class(problem,interpretation,var_e1);
3951 // r1 is exported
3952 // e1 is exported
3953 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
3954 find mustInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
3955 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
3956 var_virtual0 == var_e1;
3957}
3958// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noEntryInRegion
3959private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
3960 problem:LogicProblem, interpretation:PartialInterpretation,
3961 var_r1)
3962{
3963 find interpretation(problem,interpretation);
3964 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
3965 // r1 is exported
3966 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
3967}
3968private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
3969 problem:LogicProblem, interpretation:PartialInterpretation,
3970 var_r1)
3971{
3972 find interpretation(problem,interpretation);
3973 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
3974 // r1 is exported
3975 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
3976}
3977private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
3978 problem:LogicProblem, interpretation:PartialInterpretation,
3979 var_r1)
3980{
3981 find interpretation(problem,interpretation);
3982 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
3983 // r1 is exported
3984 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
3985}
3986// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleEntryInRegion
3987private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
3988 problem:LogicProblem, interpretation:PartialInterpretation,
3989 var_r)
3990{
3991 find interpretation(problem,interpretation);
3992 find mustInstanceOfRegion_class(problem,interpretation,var_r);
3993 // r is exported
3994 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
3995 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
3996 neg find mayEquivalent(problem, interpretation, var_e1, var_e2);
3997}
3998private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
3999 problem:LogicProblem, interpretation:PartialInterpretation,
4000 var_r)
4001{
4002 find interpretation(problem,interpretation);
4003 find mayInstanceOfRegion_class(problem,interpretation,var_r);
4004 // r is exported
4005 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
4006 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
4007 var_e1 != var_e2;
4008}
4009private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
4010 problem:LogicProblem, interpretation:PartialInterpretation,
4011 var_r)
4012{
4013 find interpretation(problem,interpretation);
4014 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4015 // r is exported
4016 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
4017 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
4018 var_e1 != var_e2;
4019}
4020// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries transition
4021private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
4022 problem:LogicProblem, interpretation:PartialInterpretation,
4023 var_t, var_src, var_trg)
4024{
4025 find interpretation(problem,interpretation);
4026 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4027 find mustInstanceOfVertex_class(problem,interpretation,var_src);
4028 find mustInstanceOfVertex_class(problem,interpretation,var_trg);
4029 // t is exported
4030 // src is exported
4031 // trg is exported
4032 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4033 find mustInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
4034 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
4035 var_virtual0 == var_src;
4036 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4037 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
4038 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4039 var_virtual1 == var_trg;
4040}
4041private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
4042 problem:LogicProblem, interpretation:PartialInterpretation,
4043 var_t, var_src, var_trg)
4044{
4045 find interpretation(problem,interpretation);
4046 find mayInstanceOfTransition_class(problem,interpretation,var_t);
4047 find mayInstanceOfVertex_class(problem,interpretation,var_src);
4048 find mayInstanceOfVertex_class(problem,interpretation,var_trg);
4049 // t is exported
4050 // src is exported
4051 // trg is exported
4052 find mayInstanceOfTransition_class(problem,interpretation,var_t);
4053 find mayInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
4054 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
4055 find mayEquivalent(problem, interpretation, var_virtual0, var_src);
4056 find mayInstanceOfTransition_class(problem,interpretation,var_t);
4057 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
4058 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
4059 find mayEquivalent(problem, interpretation, var_virtual1, var_trg);
4060}
4061private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
4062 problem:LogicProblem, interpretation:PartialInterpretation,
4063 var_t, var_src, var_trg)
4064{
4065 find interpretation(problem,interpretation);
4066 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4067 find mustInstanceOfVertex_class(problem,interpretation,var_src);
4068 find mustInstanceOfVertex_class(problem,interpretation,var_trg);
4069 // t is exported
4070 // src is exported
4071 // trg is exported
4072 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4073 find mustInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
4074 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
4075 var_virtual0 == var_src;
4076 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4077 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
4078 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4079 var_virtual1 == var_trg;
4080}
4081// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries incomingToEntry
4082private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
4083 problem:LogicProblem, interpretation:PartialInterpretation,
4084 var_t, var_e)
4085{
4086 find interpretation(problem,interpretation);
4087 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4088 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4089 // t is exported
4090 // e is exported
4091 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
4092}
4093private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
4094 problem:LogicProblem, interpretation:PartialInterpretation,
4095 var_t, var_e)
4096{
4097 find interpretation(problem,interpretation);
4098 find mayInstanceOfTransition_class(problem,interpretation,var_t);
4099 find mayInstanceOfEntry_class(problem,interpretation,var_e);
4100 // t is exported
4101 // e is exported
4102 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
4103}
4104private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
4105 problem:LogicProblem, interpretation:PartialInterpretation,
4106 var_t, var_e)
4107{
4108 find interpretation(problem,interpretation);
4109 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4110 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4111 // t is exported
4112 // e is exported
4113 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
4114}
4115// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noOutgoingTransitionFromEntry
4116private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
4117 problem:LogicProblem, interpretation:PartialInterpretation,
4118 var_e)
4119{
4120 find interpretation(problem,interpretation);
4121 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4122 // e is exported
4123 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
4124}
4125private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
4126 problem:LogicProblem, interpretation:PartialInterpretation,
4127 var_e)
4128{
4129 find interpretation(problem,interpretation);
4130 find mayInstanceOfEntry_class(problem,interpretation,var_e);
4131 // e is exported
4132 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
4133}
4134private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
4135 problem:LogicProblem, interpretation:PartialInterpretation,
4136 var_e)
4137{
4138 find interpretation(problem,interpretation);
4139 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4140 // e is exported
4141 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
4142}
4143// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleTransitionFromEntry
4144private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
4145 problem:LogicProblem, interpretation:PartialInterpretation,
4146 var_e, var_t1, var_t2)
4147{
4148 find interpretation(problem,interpretation);
4149 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4150 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
4151 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
4152 // e is exported
4153 // t1 is exported
4154 // t2 is exported
4155 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4156 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
4157 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
4158 var_virtual0 == var_t1;
4159 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4160 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
4161 find mustInstanceOfTransition_class(problem,interpretation,var_virtual1);
4162 var_virtual1 == var_t2;
4163 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
4164}
4165private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
4166 problem:LogicProblem, interpretation:PartialInterpretation,
4167 var_e, var_t1, var_t2)
4168{
4169 find interpretation(problem,interpretation);
4170 find mayInstanceOfEntry_class(problem,interpretation,var_e);
4171 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
4172 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
4173 // e is exported
4174 // t1 is exported
4175 // t2 is exported
4176 find mayInstanceOfEntry_class(problem,interpretation,var_e);
4177 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
4178 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
4179 find mayEquivalent(problem, interpretation, var_virtual0, var_t1);
4180 find mayInstanceOfEntry_class(problem,interpretation,var_e);
4181 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
4182 find mayInstanceOfTransition_class(problem,interpretation,var_virtual1);
4183 find mayEquivalent(problem, interpretation, var_virtual1, var_t2);
4184 var_t1 != var_t2;
4185}
4186private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
4187 problem:LogicProblem, interpretation:PartialInterpretation,
4188 var_e, var_t1, var_t2)
4189{
4190 find interpretation(problem,interpretation);
4191 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4192 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
4193 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
4194 // e is exported
4195 // t1 is exported
4196 // t2 is exported
4197 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4198 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
4199 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
4200 var_virtual0 == var_t1;
4201 find mustInstanceOfEntry_class(problem,interpretation,var_e);
4202 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
4203 find mustInstanceOfTransition_class(problem,interpretation,var_virtual1);
4204 var_virtual1 == var_t2;
4205 var_t1 != var_t2;
4206}
4207// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromExit
4208private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
4209 problem:LogicProblem, interpretation:PartialInterpretation,
4210 var_t, var_e)
4211{
4212 find interpretation(problem,interpretation);
4213 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4214 find mustInstanceOfExit_class(problem,interpretation,var_e);
4215 // t is exported
4216 // e is exported
4217 find mustInstanceOfExit_class(problem,interpretation,var_e);
4218 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
4219 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
4220 var_virtual0 == var_t;
4221}
4222private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
4223 problem:LogicProblem, interpretation:PartialInterpretation,
4224 var_t, var_e)
4225{
4226 find interpretation(problem,interpretation);
4227 find mayInstanceOfTransition_class(problem,interpretation,var_t);
4228 find mayInstanceOfExit_class(problem,interpretation,var_e);
4229 // t is exported
4230 // e is exported
4231 find mayInstanceOfExit_class(problem,interpretation,var_e);
4232 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
4233 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
4234 find mayEquivalent(problem, interpretation, var_virtual0, var_t);
4235}
4236private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
4237 problem:LogicProblem, interpretation:PartialInterpretation,
4238 var_t, var_e)
4239{
4240 find interpretation(problem,interpretation);
4241 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4242 find mustInstanceOfExit_class(problem,interpretation,var_e);
4243 // t is exported
4244 // e is exported
4245 find mustInstanceOfExit_class(problem,interpretation,var_e);
4246 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
4247 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
4248 var_virtual0 == var_t;
4249}
4250// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromFinal
4251private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
4252 problem:LogicProblem, interpretation:PartialInterpretation,
4253 var_t, var_f)
4254{
4255 find interpretation(problem,interpretation);
4256 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4257 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
4258 // t is exported
4259 // f is exported
4260 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
4261 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
4262 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
4263 var_virtual0 == var_t;
4264}
4265private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
4266 problem:LogicProblem, interpretation:PartialInterpretation,
4267 var_t, var_f)
4268{
4269 find interpretation(problem,interpretation);
4270 find mayInstanceOfTransition_class(problem,interpretation,var_t);
4271 find mayInstanceOfFinalState_class(problem,interpretation,var_f);
4272 // t is exported
4273 // f is exported
4274 find mayInstanceOfFinalState_class(problem,interpretation,var_f);
4275 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
4276 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
4277 find mayEquivalent(problem, interpretation, var_virtual0, var_t);
4278}
4279private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
4280 problem:LogicProblem, interpretation:PartialInterpretation,
4281 var_t, var_f)
4282{
4283 find interpretation(problem,interpretation);
4284 find mustInstanceOfTransition_class(problem,interpretation,var_t);
4285 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
4286 // t is exported
4287 // f is exported
4288 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
4289 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
4290 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
4291 var_virtual0 == var_t;
4292}
4293// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noStateInRegion
4294private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
4295 problem:LogicProblem, interpretation:PartialInterpretation,
4296 var_region)
4297{
4298 find interpretation(problem,interpretation);
4299 find mustInstanceOfRegion_class(problem,interpretation,var_region);
4300 // region is exported
4301 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
4302}
4303private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
4304 problem:LogicProblem, interpretation:PartialInterpretation,
4305 var_region)
4306{
4307 find interpretation(problem,interpretation);
4308 find mayInstanceOfRegion_class(problem,interpretation,var_region);
4309 // region is exported
4310 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
4311}
4312private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
4313 problem:LogicProblem, interpretation:PartialInterpretation,
4314 var_region)
4315{
4316 find interpretation(problem,interpretation);
4317 find mustInstanceOfRegion_class(problem,interpretation,var_region);
4318 // region is exported
4319 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
4320}
4321// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries StateInRegion
4322private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
4323 problem:LogicProblem, interpretation:PartialInterpretation,
4324 var_region, var_state)
4325{
4326 find interpretation(problem,interpretation);
4327 find mustInstanceOfRegion_class(problem,interpretation,var_region);
4328 find mustInstanceOfState_class(problem,interpretation,var_state);
4329 // region is exported
4330 // state is exported
4331 find mustInstanceOfRegion_class(problem,interpretation,var_region);
4332 find mustInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
4333 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
4334 var_virtual0 == var_state;
4335}
4336private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
4337 problem:LogicProblem, interpretation:PartialInterpretation,
4338 var_region, var_state)
4339{
4340 find interpretation(problem,interpretation);
4341 find mayInstanceOfRegion_class(problem,interpretation,var_region);
4342 find mayInstanceOfState_class(problem,interpretation,var_state);
4343 // region is exported
4344 // state is exported
4345 find mayInstanceOfRegion_class(problem,interpretation,var_region);
4346 find mayInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
4347 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
4348 find mayEquivalent(problem, interpretation, var_virtual0, var_state);
4349}
4350private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
4351 problem:LogicProblem, interpretation:PartialInterpretation,
4352 var_region, var_state)
4353{
4354 find interpretation(problem,interpretation);
4355 find mustInstanceOfRegion_class(problem,interpretation,var_region);
4356 find mustInstanceOfState_class(problem,interpretation,var_state);
4357 // region is exported
4358 // state is exported
4359 find mustInstanceOfRegion_class(problem,interpretation,var_region);
4360 find mustInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
4361 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
4362 var_virtual0 == var_state;
4363}
4364// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoOutgoing
4365private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
4366 problem:LogicProblem, interpretation:PartialInterpretation,
4367 var_c)
4368{
4369 find interpretation(problem,interpretation);
4370 find mustInstanceOfChoice_class(problem,interpretation,var_c);
4371 // c is exported
4372 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
4373}
4374private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
4375 problem:LogicProblem, interpretation:PartialInterpretation,
4376 var_c)
4377{
4378 find interpretation(problem,interpretation);
4379 find mayInstanceOfChoice_class(problem,interpretation,var_c);
4380 // c is exported
4381 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
4382}
4383private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
4384 problem:LogicProblem, interpretation:PartialInterpretation,
4385 var_c)
4386{
4387 find interpretation(problem,interpretation);
4388 find mustInstanceOfChoice_class(problem,interpretation,var_c);
4389 // c is exported
4390 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
4391}
4392// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoIncoming
4393private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
4394 problem:LogicProblem, interpretation:PartialInterpretation,
4395 var_c)
4396{
4397 find interpretation(problem,interpretation);
4398 find mustInstanceOfChoice_class(problem,interpretation,var_c);
4399 // c is exported
4400 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
4401}
4402private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
4403 problem:LogicProblem, interpretation:PartialInterpretation,
4404 var_c)
4405{
4406 find interpretation(problem,interpretation);
4407 find mayInstanceOfChoice_class(problem,interpretation,var_c);
4408 // c is exported
4409 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
4410}
4411private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
4412 problem:LogicProblem, interpretation:PartialInterpretation,
4413 var_c)
4414{
4415 find interpretation(problem,interpretation);
4416 find mustInstanceOfChoice_class(problem,interpretation,var_c);
4417 // c is exported
4418 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
4419}
4420// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoOutgoing
4421private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
4422 problem:LogicProblem, interpretation:PartialInterpretation,
4423 var_s)
4424{
4425 find interpretation(problem,interpretation);
4426 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4427 // s is exported
4428 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
4429}
4430private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
4431 problem:LogicProblem, interpretation:PartialInterpretation,
4432 var_s)
4433{
4434 find interpretation(problem,interpretation);
4435 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4436 // s is exported
4437 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
4438}
4439private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
4440 problem:LogicProblem, interpretation:PartialInterpretation,
4441 var_s)
4442{
4443 find interpretation(problem,interpretation);
4444 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4445 // s is exported
4446 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
4447}
4448// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoIncoming
4449private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
4450 problem:LogicProblem, interpretation:PartialInterpretation,
4451 var_s)
4452{
4453 find interpretation(problem,interpretation);
4454 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4455 // s is exported
4456 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
4457}
4458private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
4459 problem:LogicProblem, interpretation:PartialInterpretation,
4460 var_s)
4461{
4462 find interpretation(problem,interpretation);
4463 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4464 // s is exported
4465 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
4466}
4467private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
4468 problem:LogicProblem, interpretation:PartialInterpretation,
4469 var_s)
4470{
4471 find interpretation(problem,interpretation);
4472 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4473 // s is exported
4474 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
4475}
4476// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedIncomingInSameRegion
4477private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
4478 problem:LogicProblem, interpretation:PartialInterpretation,
4479 var_s, var_v1, var_v2)
4480{
4481 find interpretation(problem,interpretation);
4482 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4483 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
4484 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
4485 // s is exported
4486 // v1 is exported
4487 // v2 is exported
4488 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
4489 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
4490 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
4491 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4492 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
4493 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
4494 var_virtual0 == var_v1;
4495 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4496 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
4497 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4498 var_virtual1 == var_v2;
4499}or{
4500 find interpretation(problem,interpretation);
4501 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4502 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
4503 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
4504 // s is exported
4505 // v1 is exported
4506 // v2 is exported
4507 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
4508 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
4509 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
4510 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4511 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
4512 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
4513 var_virtual0 == var_v1;
4514 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4515 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
4516 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4517 var_virtual1 == var_v2;
4518}
4519private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
4520 problem:LogicProblem, interpretation:PartialInterpretation,
4521 var_s, var_v1, var_v2)
4522{
4523 find interpretation(problem,interpretation);
4524 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4525 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
4526 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
4527 // s is exported
4528 // v1 is exported
4529 // v2 is exported
4530 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
4531 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
4532 var_t1 != var_t2;
4533 find mayInstanceOfRegion_class(problem,interpretation,var_r);
4534 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
4535 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
4536 find mayEquivalent(problem, interpretation, var_virtual0, var_v1);
4537 find mayInstanceOfRegion_class(problem,interpretation,var_r);
4538 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
4539 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
4540 find mayEquivalent(problem, interpretation, var_virtual1, var_v2);
4541}or{
4542 find interpretation(problem,interpretation);
4543 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4544 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
4545 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
4546 // s is exported
4547 // v1 is exported
4548 // v2 is exported
4549 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
4550 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
4551 var_t1 != var_t2;
4552 find mayInstanceOfRegion_class(problem,interpretation,var_r);
4553 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
4554 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
4555 find mayEquivalent(problem, interpretation, var_virtual0, var_v1);
4556 find mayInstanceOfRegion_class(problem,interpretation,var_r);
4557 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
4558 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
4559 find mayEquivalent(problem, interpretation, var_virtual1, var_v2);
4560}
4561private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
4562 problem:LogicProblem, interpretation:PartialInterpretation,
4563 var_s, var_v1, var_v2)
4564{
4565 find interpretation(problem,interpretation);
4566 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4567 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
4568 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
4569 // s is exported
4570 // v1 is exported
4571 // v2 is exported
4572 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
4573 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
4574 var_t1 != var_t2;
4575 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4576 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
4577 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
4578 var_virtual0 == var_v1;
4579 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4580 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
4581 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4582 var_virtual1 == var_v2;
4583}or{
4584 find interpretation(problem,interpretation);
4585 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4586 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
4587 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
4588 // s is exported
4589 // v1 is exported
4590 // v2 is exported
4591 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
4592 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
4593 var_t1 != var_t2;
4594 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4595 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
4596 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
4597 var_virtual0 == var_v1;
4598 find mustInstanceOfRegion_class(problem,interpretation,var_r);
4599 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
4600 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4601 var_virtual1 == var_v2;
4602}
4603// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries notSynchronizingStates
4604private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
4605 problem:LogicProblem, interpretation:PartialInterpretation,
4606 var_s)
4607{
4608 find interpretation(problem,interpretation);
4609 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4610 // s is exported
4611 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
4612 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
4613}
4614private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
4615 problem:LogicProblem, interpretation:PartialInterpretation,
4616 var_s)
4617{
4618 find interpretation(problem,interpretation);
4619 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4620 // s is exported
4621 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
4622 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
4623}
4624private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
4625 problem:LogicProblem, interpretation:PartialInterpretation,
4626 var_s)
4627{
4628 find interpretation(problem,interpretation);
4629 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4630 // s is exported
4631 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
4632 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
4633}
4634// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleOutgoingTrainsition
4635private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
4636 problem:LogicProblem, interpretation:PartialInterpretation,
4637 var_v)
4638{
4639 find interpretation(problem,interpretation);
4640 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
4641 // v is exported
4642 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
4643 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
4644 neg find mayEquivalent(problem, interpretation, var_trg1, var_trg2);
4645}
4646private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
4647 problem:LogicProblem, interpretation:PartialInterpretation,
4648 var_v)
4649{
4650 find interpretation(problem,interpretation);
4651 find mayInstanceOfSynchronization_class(problem,interpretation,var_v);
4652 // v is exported
4653 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
4654 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
4655 var_trg1 != var_trg2;
4656}
4657private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
4658 problem:LogicProblem, interpretation:PartialInterpretation,
4659 var_v)
4660{
4661 find interpretation(problem,interpretation);
4662 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
4663 // v is exported
4664 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
4665 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
4666 var_trg1 != var_trg2;
4667}
4668// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleIncomingTrainsition
4669private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
4670 problem:LogicProblem, interpretation:PartialInterpretation,
4671 var_v)
4672{
4673 find interpretation(problem,interpretation);
4674 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
4675 // v is exported
4676 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
4677 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
4678 neg find mayEquivalent(problem, interpretation, var_src1, var_src2);
4679}
4680private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
4681 problem:LogicProblem, interpretation:PartialInterpretation,
4682 var_v)
4683{
4684 find interpretation(problem,interpretation);
4685 find mayInstanceOfSynchronization_class(problem,interpretation,var_v);
4686 // v is exported
4687 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
4688 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
4689 var_src1 != var_src2;
4690}
4691private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
4692 problem:LogicProblem, interpretation:PartialInterpretation,
4693 var_v)
4694{
4695 find interpretation(problem,interpretation);
4696 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
4697 // v is exported
4698 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
4699 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
4700 var_src1 != var_src2;
4701}
4702// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionsAreNotSiblings
4703private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
4704 problem:LogicProblem, interpretation:PartialInterpretation,
4705 var_s, var_v1, var_v2)
4706{
4707 find interpretation(problem,interpretation);
4708 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4709 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
4710 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
4711 // s is exported
4712 // v1 is exported
4713 // v2 is exported
4714 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
4715 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
4716 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
4717 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
4718 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
4719 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4720 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4721 var_virtual1 == var_v1;
4722 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
4723 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
4724 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
4725 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
4726 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
4727 var_virtual3 == var_v2;
4728 neg find mayEquivalent(problem, interpretation, var_r1, var_r2);
4729}or{
4730 find interpretation(problem,interpretation);
4731 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4732 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
4733 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
4734 // s is exported
4735 // v1 is exported
4736 // v2 is exported
4737 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
4738 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
4739 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
4740 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
4741 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
4742 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4743 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4744 var_virtual1 == var_v1;
4745 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
4746 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
4747 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
4748 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
4749 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
4750 var_virtual3 == var_v2;
4751 neg find mayEquivalent(problem, interpretation, var_r1, var_r2);
4752}
4753private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
4754 problem:LogicProblem, interpretation:PartialInterpretation,
4755 var_s, var_v1, var_v2)
4756{
4757 find interpretation(problem,interpretation);
4758 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4759 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
4760 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
4761 // s is exported
4762 // v1 is exported
4763 // v2 is exported
4764 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
4765 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
4766 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r1);
4767 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
4768 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
4769 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4770 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
4771 find mayEquivalent(problem, interpretation, var_virtual1, var_v1);
4772 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r2);
4773 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
4774 find mayInstanceOfRegion_class(problem,interpretation,var_virtual2);
4775 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
4776 find mayInstanceOfVertex_class(problem,interpretation,var_virtual3);
4777 find mayEquivalent(problem, interpretation, var_virtual3, var_v2);
4778 var_r1 != var_r2;
4779}or{
4780 find interpretation(problem,interpretation);
4781 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4782 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
4783 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
4784 // s is exported
4785 // v1 is exported
4786 // v2 is exported
4787 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
4788 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
4789 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r1);
4790 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
4791 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
4792 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4793 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
4794 find mayEquivalent(problem, interpretation, var_virtual1, var_v1);
4795 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r2);
4796 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
4797 find mayInstanceOfRegion_class(problem,interpretation,var_virtual2);
4798 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
4799 find mayInstanceOfVertex_class(problem,interpretation,var_virtual3);
4800 find mayEquivalent(problem, interpretation, var_virtual3, var_v2);
4801 var_r1 != var_r2;
4802}
4803private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
4804 problem:LogicProblem, interpretation:PartialInterpretation,
4805 var_s, var_v1, var_v2)
4806{
4807 find interpretation(problem,interpretation);
4808 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4809 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
4810 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
4811 // s is exported
4812 // v1 is exported
4813 // v2 is exported
4814 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
4815 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
4816 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
4817 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
4818 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
4819 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4820 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4821 var_virtual1 == var_v1;
4822 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
4823 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
4824 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
4825 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
4826 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
4827 var_virtual3 == var_v2;
4828 var_r1 != var_r2;
4829}or{
4830 find interpretation(problem,interpretation);
4831 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4832 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
4833 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
4834 // s is exported
4835 // v1 is exported
4836 // v2 is exported
4837 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
4838 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
4839 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
4840 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
4841 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
4842 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4843 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4844 var_virtual1 == var_v1;
4845 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
4846 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
4847 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
4848 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
4849 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
4850 var_virtual3 == var_v2;
4851 var_r1 != var_r2;
4852}
4853// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries child
4854private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
4855 problem:LogicProblem, interpretation:PartialInterpretation,
4856 var_parent, var_child)
4857{
4858 find interpretation(problem,interpretation);
4859 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
4860 find mustInstanceOfVertex_class(problem,interpretation,var_child);
4861 // parent is exported
4862 // child is exported
4863 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
4864 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
4865 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
4866 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4867 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4868 var_virtual1 == var_child;
4869}
4870private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
4871 problem:LogicProblem, interpretation:PartialInterpretation,
4872 var_parent, var_child)
4873{
4874 find interpretation(problem,interpretation);
4875 find mayInstanceOfCompositeElement_class(problem,interpretation,var_parent);
4876 find mayInstanceOfVertex_class(problem,interpretation,var_child);
4877 // parent is exported
4878 // child is exported
4879 find mayInstanceOfCompositeElement_class(problem,interpretation,var_parent);
4880 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
4881 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
4882 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4883 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
4884 find mayEquivalent(problem, interpretation, var_virtual1, var_child);
4885}
4886private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
4887 problem:LogicProblem, interpretation:PartialInterpretation,
4888 var_parent, var_child)
4889{
4890 find interpretation(problem,interpretation);
4891 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
4892 find mustInstanceOfVertex_class(problem,interpretation,var_child);
4893 // parent is exported
4894 // child is exported
4895 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
4896 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
4897 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
4898 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
4899 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
4900 var_virtual1 == var_child;
4901}
4902// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionDoesNotHaveMultipleRegions
4903private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
4904 problem:LogicProblem, interpretation:PartialInterpretation,
4905 var_s, var_v)
4906{
4907 find interpretation(problem,interpretation);
4908 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4909 find mustInstanceOfVertex_class(problem,interpretation,var_v);
4910 // s is exported
4911 // v is exported
4912 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
4913 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
4914 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
4915}or{
4916 find interpretation(problem,interpretation);
4917 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4918 find mustInstanceOfVertex_class(problem,interpretation,var_v);
4919 // s is exported
4920 // v is exported
4921 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
4922 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
4923 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
4924}
4925private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
4926 problem:LogicProblem, interpretation:PartialInterpretation,
4927 var_s, var_v)
4928{
4929 find interpretation(problem,interpretation);
4930 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4931 find mayInstanceOfVertex_class(problem,interpretation,var_v);
4932 // s is exported
4933 // v is exported
4934 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
4935 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
4936 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
4937}or{
4938 find interpretation(problem,interpretation);
4939 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
4940 find mayInstanceOfVertex_class(problem,interpretation,var_v);
4941 // s is exported
4942 // v is exported
4943 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
4944 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
4945 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
4946}
4947private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
4948 problem:LogicProblem, interpretation:PartialInterpretation,
4949 var_s, var_v)
4950{
4951 find interpretation(problem,interpretation);
4952 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4953 find mustInstanceOfVertex_class(problem,interpretation,var_v);
4954 // s is exported
4955 // v is exported
4956 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
4957 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
4958 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
4959}or{
4960 find interpretation(problem,interpretation);
4961 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
4962 find mustInstanceOfVertex_class(problem,interpretation,var_v);
4963 // s is exported
4964 // v is exported
4965 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
4966 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
4967 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
4968}
4969// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleRegions
4970private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
4971 problem:LogicProblem, interpretation:PartialInterpretation,
4972 var_composite)
4973{
4974 find interpretation(problem,interpretation);
4975 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
4976 // composite is exported
4977 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
4978 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
4979 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
4980 var_virtual0 == var_region1;
4981 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
4982 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
4983 find mustInstanceOfRegion_class(problem,interpretation,var_virtual1);
4984 var_virtual1 == var_region2;
4985 neg find mayEquivalent(problem, interpretation, var_region1, var_region2);
4986}
4987private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
4988 problem:LogicProblem, interpretation:PartialInterpretation,
4989 var_composite)
4990{
4991 find interpretation(problem,interpretation);
4992 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
4993 // composite is exported
4994 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
4995 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
4996 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
4997 find mayEquivalent(problem, interpretation, var_virtual0, var_region1);
4998 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
4999 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
5000 find mayInstanceOfRegion_class(problem,interpretation,var_virtual1);
5001 find mayEquivalent(problem, interpretation, var_virtual1, var_region2);
5002 var_region1 != var_region2;
5003}
5004private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
5005 problem:LogicProblem, interpretation:PartialInterpretation,
5006 var_composite)
5007{
5008 find interpretation(problem,interpretation);
5009 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
5010 // composite is exported
5011 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
5012 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
5013 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
5014 var_virtual0 == var_region1;
5015 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
5016 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
5017 find mustInstanceOfRegion_class(problem,interpretation,var_virtual1);
5018 var_virtual1 == var_region2;
5019 var_region1 != var_region2;
5020}
5021// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchThree
5022private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
5023 problem:LogicProblem, interpretation:PartialInterpretation,
5024 var_s)
5025{
5026 find interpretation(problem,interpretation);
5027 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
5028 // s is exported
5029 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
5030 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
5031 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
5032 var_virtual0 == var_s;
5033 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
5034 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
5035 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
5036 var_virtual1 == var_s;
5037 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
5038 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
5039 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
5040 var_virtual2 == var_s;
5041 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
5042 neg find mayEquivalent(problem, interpretation, var_t2, var_t3);
5043 neg find mayEquivalent(problem, interpretation, var_t1, var_t3);
5044}or{
5045 find interpretation(problem,interpretation);
5046 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
5047 // s is exported
5048 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
5049 find mustInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
5050 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
5051 var_virtual0 == var_s;
5052 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
5053 find mustInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
5054 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
5055 var_virtual1 == var_s;
5056 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
5057 find mustInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
5058 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
5059 var_virtual2 == var_s;
5060 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
5061 neg find mayEquivalent(problem, interpretation, var_t2, var_t3);
5062 neg find mayEquivalent(problem, interpretation, var_t1, var_t3);
5063}
5064private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
5065 problem:LogicProblem, interpretation:PartialInterpretation,
5066 var_s)
5067{
5068 find interpretation(problem,interpretation);
5069 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
5070 // s is exported
5071 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
5072 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
5073 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
5074 find mayEquivalent(problem, interpretation, var_virtual0, var_s);
5075 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
5076 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
5077 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
5078 find mayEquivalent(problem, interpretation, var_virtual1, var_s);
5079 find mayInstanceOfTransition_class(problem,interpretation,var_t3);
5080 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
5081 find mayInstanceOfVertex_class(problem,interpretation,var_virtual2);
5082 find mayEquivalent(problem, interpretation, var_virtual2, var_s);
5083 var_t1 != var_t2;
5084 var_t2 != var_t3;
5085 var_t1 != var_t3;
5086}or{
5087 find interpretation(problem,interpretation);
5088 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
5089 // s is exported
5090 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
5091 find mayInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
5092 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
5093 find mayEquivalent(problem, interpretation, var_virtual0, var_s);
5094 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
5095 find mayInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
5096 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
5097 find mayEquivalent(problem, interpretation, var_virtual1, var_s);
5098 find mayInstanceOfTransition_class(problem,interpretation,var_t3);
5099 find mayInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
5100 find mayInstanceOfVertex_class(problem,interpretation,var_virtual2);
5101 find mayEquivalent(problem, interpretation, var_virtual2, var_s);
5102 var_t1 != var_t2;
5103 var_t2 != var_t3;
5104 var_t1 != var_t3;
5105}
5106private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
5107 problem:LogicProblem, interpretation:PartialInterpretation,
5108 var_s)
5109{
5110 find interpretation(problem,interpretation);
5111 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
5112 // s is exported
5113 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
5114 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
5115 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
5116 var_virtual0 == var_s;
5117 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
5118 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
5119 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
5120 var_virtual1 == var_s;
5121 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
5122 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
5123 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
5124 var_virtual2 == var_s;
5125 var_t1 != var_t2;
5126 var_t2 != var_t3;
5127 var_t1 != var_t3;
5128}or{
5129 find interpretation(problem,interpretation);
5130 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
5131 // s is exported
5132 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
5133 find mustInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
5134 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
5135 var_virtual0 == var_s;
5136 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
5137 find mustInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
5138 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
5139 var_virtual1 == var_s;
5140 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
5141 find mustInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
5142 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
5143 var_virtual2 == var_s;
5144 var_t1 != var_t2;
5145 var_t2 != var_t3;
5146 var_t1 != var_t3;
5147}
5148// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries twoSynch
5149private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
5150 problem:LogicProblem, interpretation:PartialInterpretation,
5151 var_s1, var_s2)
5152{
5153 find interpretation(problem,interpretation);
5154 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
5155 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
5156 // s1 is exported
5157 // s2 is exported
5158 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
5159 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
5160 neg find mayEquivalent(problem, interpretation, var_s1, var_s2);
5161}
5162private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
5163 problem:LogicProblem, interpretation:PartialInterpretation,
5164 var_s1, var_s2)
5165{
5166 find interpretation(problem,interpretation);
5167 find mayInstanceOfSynchronization_class(problem,interpretation,var_s1);
5168 find mayInstanceOfSynchronization_class(problem,interpretation,var_s2);
5169 // s1 is exported
5170 // s2 is exported
5171 find mayInstanceOfSynchronization_class(problem,interpretation,var_s1);
5172 find mayInstanceOfSynchronization_class(problem,interpretation,var_s2);
5173 var_s1 != var_s2;
5174}
5175private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
5176 problem:LogicProblem, interpretation:PartialInterpretation,
5177 var_s1, var_s2)
5178{
5179 find interpretation(problem,interpretation);
5180 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
5181 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
5182 // s1 is exported
5183 // s2 is exported
5184 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
5185 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
5186 var_s1 != var_s2;
5187}
2899 5188
2900////////// 5189//////////
2901// 1.4 Containment Indexer 5190// 1.4 Containment Indexer
@@ -2906,13 +5195,11 @@ private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2906 5195
2907private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation, 5196private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2908 source: DefinedElement, target: DefinedElement) 5197 source: DefinedElement, target: DefinedElement)
2909 { find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target); }or 5198 { find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,source,target); }or
2910
2911 { find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); }or
2912 5199
2913 { find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target); }or 5200 { find mustInRelationvertices_reference_Region(problem,interpretation,source,target); }or
2914 5201
2915 { find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target); } 5202 { find mustInRelationregions_reference_CompositeElement(problem,interpretation,source,target); }
2916 5203
2917private pattern mustTransitiveContains(source,target) { 5204private pattern mustTransitiveContains(source,target) {
2918 find mustContains2+(source,target); 5205 find mustContains2+(source,target);
@@ -2923,27 +5210,108 @@ private pattern mustTransitiveContains(source,target) {
2923////////// 5210//////////
2924// 2.1 Invalidated by WF Queries 5211// 2.1 Invalidated by WF Queries
2925////////// 5212//////////
5213pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
5214 var_r1)
5215{
5216 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem,interpretation,var_r1);
5217}
5218pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
5219 var_r)
5220{
5221 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem,interpretation,var_r);
5222}
5223pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem:LogicProblem, interpretation:PartialInterpretation,
5224 var_t, var_e)
5225{
5226 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem,interpretation,var_t,var_e);
5227}
5228pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
5229 var_e)
5230{
5231 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem,interpretation,var_e);
5232}
5233pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
5234 var_e, var_t1, var_t2)
5235{
5236 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem,interpretation,var_e,var_t1,var_t2);
5237}
5238pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem:LogicProblem, interpretation:PartialInterpretation,
5239 var_t, var_e)
5240{
5241 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem,interpretation,var_t,var_e);
5242}
5243pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem:LogicProblem, interpretation:PartialInterpretation,
5244 var_t, var_f)
5245{
5246 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem,interpretation,var_t,var_f);
5247}
5248pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
5249 var_region)
5250{
5251 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem,interpretation,var_region);
5252}
5253pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
5254 var_c)
5255{
5256 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem,interpretation,var_c);
5257}
5258pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
5259 var_c)
5260{
5261 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem,interpretation,var_c);
5262}
5263pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
5264 var_s)
5265{
5266 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem,interpretation,var_s);
5267}
5268pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
5269 var_s)
5270{
5271 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem,interpretation,var_s);
5272}
5273pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem:LogicProblem, interpretation:PartialInterpretation,
5274 var_s, var_v1, var_v2)
5275{
5276 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem,interpretation,var_s,var_v1,var_v2);
5277}
5278pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem:LogicProblem, interpretation:PartialInterpretation,
5279 var_s)
5280{
5281 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem,interpretation,var_s);
5282}
5283pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem:LogicProblem, interpretation:PartialInterpretation,
5284 var_s, var_v1, var_v2)
5285{
5286 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem,interpretation,var_s,var_v1,var_v2);
5287}
5288pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem:LogicProblem, interpretation:PartialInterpretation,
5289 var_s, var_v)
5290{
5291 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem,interpretation,var_s,var_v);
5292}
5293pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem:LogicProblem, interpretation:PartialInterpretation,
5294 var_s)
5295{
5296 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem,interpretation,var_s);
5297}
5298pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem:LogicProblem, interpretation:PartialInterpretation,
5299 var_s1, var_s2)
5300{
5301 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem,interpretation,var_s1,var_s2);
5302}
2926 5303
2927////////// 5304//////////
2928// 3. Unfinishedness Indexers 5305// 3. Unfinishedness Indexers
2929////////// 5306//////////
2930// 3.1 Unfinishedness Measured by Multiplicity 5307// 3.1 Unfinishedness Measured by Multiplicity
2931////////// 5308//////////
2932pattern unfinishedLowerMultiplicity_root_reference_FileSystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { 5309pattern unfinishedLowerMultiplicity_target_reference_Transition(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2933 find interpretation(problem,interpretation);
2934 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2935 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem");
2936 find mustInstanceOfFileSystem_class(problem,interpretation,object);
2937 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,object,_);
2938 check(numberOfExistingReferences < 1);
2939 missingMultiplicity == eval(1-numberOfExistingReferences);
2940}
2941pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2942 find interpretation(problem,interpretation); 5310 find interpretation(problem,interpretation);
2943 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 5311 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2944 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 5312 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference Transition");
2945 find mustInstanceOfModel_class(problem,interpretation,object); 5313 find mustInstanceOfTransition_class(problem,interpretation,object);
2946 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,object,_); 5314 numberOfExistingReferences == count find mustInRelationtarget_reference_Transition(problem,interpretation,object,_);
2947 check(numberOfExistingReferences < 1); 5315 check(numberOfExistingReferences < 1);
2948 missingMultiplicity == eval(1-numberOfExistingReferences); 5316 missingMultiplicity == eval(1-numberOfExistingReferences);
2949} 5317}
@@ -2951,6 +5319,96 @@ pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicPro
2951////////// 5319//////////
2952// 3.2 Unfinishedness Measured by WF Queries 5320// 3.2 Unfinishedness Measured by WF Queries
2953////////// 5321//////////
5322pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
5323 var_r1)
5324{
5325 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem,interpretation,var_r1);
5326}
5327pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
5328 var_r)
5329{
5330 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem,interpretation,var_r);
5331}
5332pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem:LogicProblem, interpretation:PartialInterpretation,
5333 var_t, var_e)
5334{
5335 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem,interpretation,var_t,var_e);
5336}
5337pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
5338 var_e)
5339{
5340 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem,interpretation,var_e);
5341}
5342pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
5343 var_e, var_t1, var_t2)
5344{
5345 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem,interpretation,var_e,var_t1,var_t2);
5346}
5347pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem:LogicProblem, interpretation:PartialInterpretation,
5348 var_t, var_e)
5349{
5350 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem,interpretation,var_t,var_e);
5351}
5352pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem:LogicProblem, interpretation:PartialInterpretation,
5353 var_t, var_f)
5354{
5355 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem,interpretation,var_t,var_f);
5356}
5357pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
5358 var_region)
5359{
5360 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem,interpretation,var_region);
5361}
5362pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
5363 var_c)
5364{
5365 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem,interpretation,var_c);
5366}
5367pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
5368 var_c)
5369{
5370 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem,interpretation,var_c);
5371}
5372pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
5373 var_s)
5374{
5375 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem,interpretation,var_s);
5376}
5377pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
5378 var_s)
5379{
5380 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem,interpretation,var_s);
5381}
5382pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem:LogicProblem, interpretation:PartialInterpretation,
5383 var_s, var_v1, var_v2)
5384{
5385 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem,interpretation,var_s,var_v1,var_v2);
5386}
5387pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem:LogicProblem, interpretation:PartialInterpretation,
5388 var_s)
5389{
5390 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem,interpretation,var_s);
5391}
5392pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem:LogicProblem, interpretation:PartialInterpretation,
5393 var_s, var_v1, var_v2)
5394{
5395 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem,interpretation,var_s,var_v1,var_v2);
5396}
5397pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem:LogicProblem, interpretation:PartialInterpretation,
5398 var_s, var_v)
5399{
5400 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem,interpretation,var_s,var_v);
5401}
5402pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem:LogicProblem, interpretation:PartialInterpretation,
5403 var_s)
5404{
5405 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem,interpretation,var_s);
5406}
5407pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem:LogicProblem, interpretation:PartialInterpretation,
5408 var_s1, var_s2)
5409{
5410 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem,interpretation,var_s1,var_s2);
5411}
2954 5412
2955////////// 5413//////////
2956// 4. Refinement Indexers 5414// 4. Refinement Indexers
@@ -2960,178 +5418,308 @@ pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicPro
2960private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 5418private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2961{ 5419{
2962 find interpretation(problem,interpretation); 5420 find interpretation(problem,interpretation);
2963 find mustInstanceOfFile_class(problem,interpretation,root); 5421 find mustInstanceOfEntry_class(problem,interpretation,root);
2964 find mustExist(problem, interpretation, root); 5422 find mustExist(problem, interpretation, root);
2965}or{ 5423}or{
2966 find interpretation(problem,interpretation); 5424 find interpretation(problem,interpretation);
2967 find mustInstanceOfDir_class(problem,interpretation,root); 5425 find mustInstanceOfChoice_class(problem,interpretation,root);
2968 find mustExist(problem, interpretation, root); 5426 find mustExist(problem, interpretation, root);
2969}or{ 5427}or{
2970 find interpretation(problem,interpretation); 5428 find interpretation(problem,interpretation);
2971 find mustInstanceOfFileSystem_class(problem,interpretation,root); 5429 find mustInstanceOfFinalState_class(problem,interpretation,root);
2972 find mustExist(problem, interpretation, root); 5430 find mustExist(problem, interpretation, root);
2973}or{ 5431}or{
2974 find interpretation(problem,interpretation); 5432 find interpretation(problem,interpretation);
2975 find mustInstanceOfModel_class(problem,interpretation,root); 5433 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
2976 find mustExist(problem, interpretation, root); 5434 find mustExist(problem, interpretation, root);
2977}or{ 5435}or{
2978 find interpretation(problem,interpretation); 5436 find interpretation(problem,interpretation);
2979 find mustInstanceOfFSObject_class(problem,interpretation,root); 5437 find mustInstanceOfStatechart_class(problem,interpretation,root);
2980 find mustExist(problem, interpretation, root); 5438 find mustExist(problem, interpretation, root);
2981}or{ 5439}or{
2982 find interpretation(problem,interpretation); 5440 find interpretation(problem,interpretation);
2983 find mustInstanceOfModel_class_DefinedPart(problem,interpretation,root); 5441 find mustInstanceOfVertex_class(problem,interpretation,root);
2984 find mustExist(problem, interpretation, root); 5442 find mustExist(problem, interpretation, root);
2985}or{ 5443}or{
2986 find interpretation(problem,interpretation); 5444 find interpretation(problem,interpretation);
2987 find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,root); 5445 find mustInstanceOfState_class(problem,interpretation,root);
5446 find mustExist(problem, interpretation, root);
5447}or{
5448 find interpretation(problem,interpretation);
5449 find mustInstanceOfPseudostate_class(problem,interpretation,root);
5450 find mustExist(problem, interpretation, root);
5451}or{
5452 find interpretation(problem,interpretation);
5453 find mustInstanceOfExit_class(problem,interpretation,root);
5454 find mustExist(problem, interpretation, root);
5455}or{
5456 find interpretation(problem,interpretation);
5457 find mustInstanceOfTransition_class(problem,interpretation,root);
5458 find mustExist(problem, interpretation, root);
5459}or{
5460 find interpretation(problem,interpretation);
5461 find mustInstanceOfRegularState_class(problem,interpretation,root);
2988 find mustExist(problem, interpretation, root); 5462 find mustExist(problem, interpretation, root);
5463}or{
5464 find interpretation(problem,interpretation);
5465 find mustInstanceOfRegion_class(problem,interpretation,root);
5466 find mustExist(problem, interpretation, root);
5467}or{
5468 find interpretation(problem,interpretation);
5469 find mustInstanceOfSynchronization_class(problem,interpretation,root);
5470 find mustExist(problem, interpretation, root);
5471}or{
5472 find interpretation(problem,interpretation);
5473 find mustInstanceOfStatechart_class_DefinedPart(problem,interpretation,root);
5474 find mustExist(problem, interpretation, root);
5475}or{
5476 find interpretation(problem,interpretation);
5477 find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,root);
5478 find mustExist(problem, interpretation, root);
5479}or{
5480 find interpretation(problem,interpretation);
5481 find mustInstanceOfCompositeElement_class_DefinedPart(problem,interpretation,root);
5482 find mustExist(problem, interpretation, root);
5483}or{
5484 find interpretation(problem,interpretation);
5485 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
5486 find mustExist(problem, interpretation, root);
5487}
5488pattern createObject_Statechart_class_UndefinedPart(
5489 problem:LogicProblem, interpretation:PartialInterpretation,
5490 typeInterpretation:PartialComplexTypeInterpretation)
5491{
5492 find interpretation(problem,interpretation);
5493 neg find hasElementInContainment(problem,interpretation);
5494 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5495 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart");
5496 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject);
5497 find mayExist(problem, interpretation, newObject);
5498 neg find mustExist(problem, interpretation, newObject);
5499}
5500pattern createObject_State_class_by_vertices_reference_Region(
5501 problem:LogicProblem, interpretation:PartialInterpretation,
5502 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5503 container:DefinedElement)
5504{
5505 find interpretation(problem,interpretation);
5506 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5507 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
5508 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5509 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
5510 find mustInstanceOfRegion_class(problem,interpretation,container);
5511 find mayInstanceOfState_class(problem,interpretation,newObject);
5512 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
5513 find mustExist(problem, interpretation, container);
5514 neg find mustExist(problem, interpretation, newObject);
2989} 5515}
2990pattern createObject_Model_class_UndefinedPart( 5516pattern createObject_State_class(
2991 problem:LogicProblem, interpretation:PartialInterpretation, 5517 problem:LogicProblem, interpretation:PartialInterpretation,
2992 typeInterpretation:PartialComplexTypeInterpretation) 5518 typeInterpretation:PartialComplexTypeInterpretation)
2993{ 5519{
2994 find interpretation(problem,interpretation); 5520 find interpretation(problem,interpretation);
2995 neg find hasElementInContainment(problem,interpretation); 5521 neg find hasElementInContainment(problem,interpretation);
2996 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5522 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2997 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Model class UndefinedPart"); 5523 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
2998 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,newObject); 5524 find mayInstanceOfState_class(problem,interpretation,newObject);
2999 find mayExist(problem, interpretation, newObject); 5525 find mayExist(problem, interpretation, newObject);
3000 neg find mustExist(problem, interpretation, newObject); 5526 neg find mustExist(problem, interpretation, newObject);
3001} 5527}
3002pattern createObject_File_class_by_contents_reference_Dir_with_parent_reference_FSObject( 5528pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
3003 problem:LogicProblem, interpretation:PartialInterpretation, 5529 problem:LogicProblem, interpretation:PartialInterpretation,
3004 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 5530 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3005 container:DefinedElement) 5531 container:DefinedElement)
3006{ 5532{
3007 find interpretation(problem,interpretation); 5533 find interpretation(problem,interpretation);
3008 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5534 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3009 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 5535 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
3010 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 5536 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3011 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir"); 5537 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
3012 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 5538 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
3013 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject"); 5539 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
3014 find mustInstanceOfDir_class(problem,interpretation,container); 5540 find mustInstanceOfVertex_class(problem,interpretation,container);
3015 find mayInstanceOfFile_class(problem,interpretation,newObject); 5541 find mayInstanceOfTransition_class(problem,interpretation,newObject);
3016 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject); 5542 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
3017 find mustExist(problem, interpretation, container); 5543 find mustExist(problem, interpretation, container);
3018 neg find mustExist(problem, interpretation, newObject); 5544 neg find mustExist(problem, interpretation, newObject);
3019} 5545}
3020pattern createObject_File_class_by_otherFSObjects_reference_Model( 5546pattern createObject_Transition_class(
5547 problem:LogicProblem, interpretation:PartialInterpretation,
5548 typeInterpretation:PartialComplexTypeInterpretation)
5549{
5550 find interpretation(problem,interpretation);
5551 neg find hasElementInContainment(problem,interpretation);
5552 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5553 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
5554 find mayInstanceOfTransition_class(problem,interpretation,newObject);
5555 find mayExist(problem, interpretation, newObject);
5556 neg find mustExist(problem, interpretation, newObject);
5557}
5558pattern createObject_Synchronization_class_by_vertices_reference_Region(
3021 problem:LogicProblem, interpretation:PartialInterpretation, 5559 problem:LogicProblem, interpretation:PartialInterpretation,
3022 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 5560 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3023 container:DefinedElement) 5561 container:DefinedElement)
3024{ 5562{
3025 find interpretation(problem,interpretation); 5563 find interpretation(problem,interpretation);
3026 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5564 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3027 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 5565 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
3028 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 5566 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3029 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model"); 5567 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
3030 find mustInstanceOfModel_class(problem,interpretation,container); 5568 find mustInstanceOfRegion_class(problem,interpretation,container);
3031 find mayInstanceOfFile_class(problem,interpretation,newObject); 5569 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
3032 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject); 5570 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
3033 find mustExist(problem, interpretation, container); 5571 find mustExist(problem, interpretation, container);
3034 neg find mustExist(problem, interpretation, newObject); 5572 neg find mustExist(problem, interpretation, newObject);
3035} 5573}
3036pattern createObject_File_class( 5574pattern createObject_Synchronization_class(
3037 problem:LogicProblem, interpretation:PartialInterpretation, 5575 problem:LogicProblem, interpretation:PartialInterpretation,
3038 typeInterpretation:PartialComplexTypeInterpretation) 5576 typeInterpretation:PartialComplexTypeInterpretation)
3039{ 5577{
3040 find interpretation(problem,interpretation); 5578 find interpretation(problem,interpretation);
3041 neg find hasElementInContainment(problem,interpretation); 5579 neg find hasElementInContainment(problem,interpretation);
3042 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5580 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3043 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 5581 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
3044 find mayInstanceOfFile_class(problem,interpretation,newObject); 5582 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
3045 find mayExist(problem, interpretation, newObject); 5583 find mayExist(problem, interpretation, newObject);
3046 neg find mustExist(problem, interpretation, newObject); 5584 neg find mustExist(problem, interpretation, newObject);
3047} 5585}
3048pattern createObject_Dir_class_by_root_reference_FileSystem( 5586pattern createObject_Exit_class_by_vertices_reference_Region(
3049 problem:LogicProblem, interpretation:PartialInterpretation, 5587 problem:LogicProblem, interpretation:PartialInterpretation,
3050 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 5588 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3051 container:DefinedElement) 5589 container:DefinedElement)
3052{ 5590{
3053 find interpretation(problem,interpretation); 5591 find interpretation(problem,interpretation);
3054 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5592 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3055 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 5593 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
3056 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 5594 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3057 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"root reference FileSystem"); 5595 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
3058 find mustInstanceOfFileSystem_class(problem,interpretation,container); 5596 find mustInstanceOfRegion_class(problem,interpretation,container);
3059 find mayInstanceOfDir_class(problem,interpretation,newObject); 5597 find mayInstanceOfExit_class(problem,interpretation,newObject);
3060 find mayInRelationroot_reference_FileSystem(problem,interpretation,container,newObject); 5598 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
3061 find mustExist(problem, interpretation, container); 5599 find mustExist(problem, interpretation, container);
3062 neg find mustExist(problem, interpretation, newObject); 5600 neg find mustExist(problem, interpretation, newObject);
3063} 5601}
3064pattern createObject_Dir_class_by_contents_reference_Dir_with_parent_reference_FSObject( 5602pattern createObject_Exit_class(
3065 problem:LogicProblem, interpretation:PartialInterpretation, 5603 problem:LogicProblem, interpretation:PartialInterpretation,
3066 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 5604 typeInterpretation:PartialComplexTypeInterpretation)
5605{
5606 find interpretation(problem,interpretation);
5607 neg find hasElementInContainment(problem,interpretation);
5608 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5609 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
5610 find mayInstanceOfExit_class(problem,interpretation,newObject);
5611 find mayExist(problem, interpretation, newObject);
5612 neg find mustExist(problem, interpretation, newObject);
5613}
5614pattern createObject_Choice_class_by_vertices_reference_Region(
5615 problem:LogicProblem, interpretation:PartialInterpretation,
5616 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3067 container:DefinedElement) 5617 container:DefinedElement)
3068{ 5618{
3069 find interpretation(problem,interpretation); 5619 find interpretation(problem,interpretation);
3070 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5620 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3071 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 5621 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
3072 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 5622 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3073 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir"); 5623 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
3074 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 5624 find mustInstanceOfRegion_class(problem,interpretation,container);
3075 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject"); 5625 find mayInstanceOfChoice_class(problem,interpretation,newObject);
3076 find mustInstanceOfDir_class(problem,interpretation,container); 5626 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
3077 find mayInstanceOfDir_class(problem,interpretation,newObject); 5627 find mustExist(problem, interpretation, container);
3078 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject); 5628 neg find mustExist(problem, interpretation, newObject);
5629}
5630pattern createObject_Choice_class(
5631 problem:LogicProblem, interpretation:PartialInterpretation,
5632 typeInterpretation:PartialComplexTypeInterpretation)
5633{
5634 find interpretation(problem,interpretation);
5635 neg find hasElementInContainment(problem,interpretation);
5636 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5637 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
5638 find mayInstanceOfChoice_class(problem,interpretation,newObject);
5639 find mayExist(problem, interpretation, newObject);
5640 neg find mustExist(problem, interpretation, newObject);
5641}
5642pattern createObject_FinalState_class_by_vertices_reference_Region(
5643 problem:LogicProblem, interpretation:PartialInterpretation,
5644 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5645 container:DefinedElement)
5646{
5647 find interpretation(problem,interpretation);
5648 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5649 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
5650 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5651 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
5652 find mustInstanceOfRegion_class(problem,interpretation,container);
5653 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
5654 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
3079 find mustExist(problem, interpretation, container); 5655 find mustExist(problem, interpretation, container);
3080 neg find mustExist(problem, interpretation, newObject); 5656 neg find mustExist(problem, interpretation, newObject);
3081} 5657}
3082pattern createObject_Dir_class_by_otherFSObjects_reference_Model( 5658pattern createObject_FinalState_class(
5659 problem:LogicProblem, interpretation:PartialInterpretation,
5660 typeInterpretation:PartialComplexTypeInterpretation)
5661{
5662 find interpretation(problem,interpretation);
5663 neg find hasElementInContainment(problem,interpretation);
5664 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5665 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
5666 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
5667 find mayExist(problem, interpretation, newObject);
5668 neg find mustExist(problem, interpretation, newObject);
5669}
5670pattern createObject_Region_class_by_regions_reference_CompositeElement(
3083 problem:LogicProblem, interpretation:PartialInterpretation, 5671 problem:LogicProblem, interpretation:PartialInterpretation,
3084 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 5672 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3085 container:DefinedElement) 5673 container:DefinedElement)
3086{ 5674{
3087 find interpretation(problem,interpretation); 5675 find interpretation(problem,interpretation);
3088 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5676 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3089 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 5677 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
3090 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 5678 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3091 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model"); 5679 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement");
3092 find mustInstanceOfModel_class(problem,interpretation,container); 5680 find mustInstanceOfCompositeElement_class(problem,interpretation,container);
3093 find mayInstanceOfDir_class(problem,interpretation,newObject); 5681 find mayInstanceOfRegion_class(problem,interpretation,newObject);
3094 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject); 5682 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject);
3095 find mustExist(problem, interpretation, container); 5683 find mustExist(problem, interpretation, container);
3096 neg find mustExist(problem, interpretation, newObject); 5684 neg find mustExist(problem, interpretation, newObject);
3097} 5685}
3098pattern createObject_Dir_class( 5686pattern createObject_Region_class(
3099 problem:LogicProblem, interpretation:PartialInterpretation, 5687 problem:LogicProblem, interpretation:PartialInterpretation,
3100 typeInterpretation:PartialComplexTypeInterpretation) 5688 typeInterpretation:PartialComplexTypeInterpretation)
3101{ 5689{
3102 find interpretation(problem,interpretation); 5690 find interpretation(problem,interpretation);
3103 neg find hasElementInContainment(problem,interpretation); 5691 neg find hasElementInContainment(problem,interpretation);
3104 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5692 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3105 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 5693 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
3106 find mayInstanceOfDir_class(problem,interpretation,newObject); 5694 find mayInstanceOfRegion_class(problem,interpretation,newObject);
3107 find mayExist(problem, interpretation, newObject); 5695 find mayExist(problem, interpretation, newObject);
3108 neg find mustExist(problem, interpretation, newObject); 5696 neg find mustExist(problem, interpretation, newObject);
3109} 5697}
3110pattern createObject_FileSystem_class_by_filesystems_reference_Model( 5698pattern createObject_Entry_class_by_vertices_reference_Region(
3111 problem:LogicProblem, interpretation:PartialInterpretation, 5699 problem:LogicProblem, interpretation:PartialInterpretation,
3112 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 5700 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3113 container:DefinedElement) 5701 container:DefinedElement)
3114{ 5702{
3115 find interpretation(problem,interpretation); 5703 find interpretation(problem,interpretation);
3116 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5704 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3117 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class"); 5705 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
3118 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 5706 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3119 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"filesystems reference Model"); 5707 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
3120 find mustInstanceOfModel_class(problem,interpretation,container); 5708 find mustInstanceOfRegion_class(problem,interpretation,container);
3121 find mayInstanceOfFileSystem_class(problem,interpretation,newObject); 5709 find mayInstanceOfEntry_class(problem,interpretation,newObject);
3122 find mayInRelationfilesystems_reference_Model(problem,interpretation,container,newObject); 5710 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
3123 find mustExist(problem, interpretation, container); 5711 find mustExist(problem, interpretation, container);
3124 neg find mustExist(problem, interpretation, newObject); 5712 neg find mustExist(problem, interpretation, newObject);
3125} 5713}
3126pattern createObject_FileSystem_class( 5714pattern createObject_Entry_class(
3127 problem:LogicProblem, interpretation:PartialInterpretation, 5715 problem:LogicProblem, interpretation:PartialInterpretation,
3128 typeInterpretation:PartialComplexTypeInterpretation) 5716 typeInterpretation:PartialComplexTypeInterpretation)
3129{ 5717{
3130 find interpretation(problem,interpretation); 5718 find interpretation(problem,interpretation);
3131 neg find hasElementInContainment(problem,interpretation); 5719 neg find hasElementInContainment(problem,interpretation);
3132 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 5720 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3133 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class"); 5721 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
3134 find mayInstanceOfFileSystem_class(problem,interpretation,newObject); 5722 find mayInstanceOfEntry_class(problem,interpretation,newObject);
3135 find mayExist(problem, interpretation, newObject); 5723 find mayExist(problem, interpretation, newObject);
3136 neg find mustExist(problem, interpretation, newObject); 5724 neg find mustExist(problem, interpretation, newObject);
3137} 5725}
@@ -3139,58 +5727,126 @@ pattern createObject_FileSystem_class(
3139////////// 5727//////////
3140// 4.2 Type refinement 5728// 4.2 Type refinement
3141////////// 5729//////////
3142pattern refineTypeTo_Model_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 5730pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
5731 find interpretation(problem,interpretation);
5732 PartialInterpretation.newElements(interpretation,element);
5733 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
5734 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
5735 neg find mustInstanceOfTransition_class(problem,interpretation,element);
5736 neg find mustInstanceOfRegion_class(problem,interpretation,element);
5737 neg find mustInstanceOfVertex_class(problem,interpretation,element);
5738}
5739pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
5740 find interpretation(problem,interpretation);
5741 PartialInterpretation.newElements(interpretation,element);
5742 find mayInstanceOfState_class(problem,interpretation,element);
5743 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
5744 neg find mustInstanceOfState_class(problem,interpretation,element);
5745 neg find mustInstanceOfTransition_class(problem,interpretation,element);
5746 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
5747 neg find mustInstanceOfRegion_class(problem,interpretation,element);
5748 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
5749}
5750pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
5751 find interpretation(problem,interpretation);
5752 PartialInterpretation.newElements(interpretation,element);
5753 find mayInstanceOfTransition_class(problem,interpretation,element);
5754 neg find mustInstanceOfTransition_class(problem,interpretation,element);
5755 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
5756 neg find mustInstanceOfRegion_class(problem,interpretation,element);
5757 neg find mustInstanceOfVertex_class(problem,interpretation,element);
5758}
5759pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
5760 find interpretation(problem,interpretation);
5761 PartialInterpretation.newElements(interpretation,element);
5762 find mayInstanceOfSynchronization_class(problem,interpretation,element);
5763 neg find mustInstanceOfTransition_class(problem,interpretation,element);
5764 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
5765 neg find mustInstanceOfExit_class(problem,interpretation,element);
5766 neg find mustInstanceOfChoice_class(problem,interpretation,element);
5767 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
5768 neg find mustInstanceOfRegion_class(problem,interpretation,element);
5769 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
5770 neg find mustInstanceOfEntry_class(problem,interpretation,element);
5771}
5772pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3143 find interpretation(problem,interpretation); 5773 find interpretation(problem,interpretation);
3144 PartialInterpretation.newElements(interpretation,element); 5774 PartialInterpretation.newElements(interpretation,element);
3145 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 5775 find mayInstanceOfExit_class(problem,interpretation,element);
3146 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 5776 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3147 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 5777 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3148 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 5778 neg find mustInstanceOfExit_class(problem,interpretation,element);
5779 neg find mustInstanceOfChoice_class(problem,interpretation,element);
5780 neg find mustInstanceOfRegion_class(problem,interpretation,element);
5781 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
5782 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
5783 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3149} 5784}
3150pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 5785pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3151 find interpretation(problem,interpretation); 5786 find interpretation(problem,interpretation);
3152 PartialInterpretation.newElements(interpretation,element); 5787 PartialInterpretation.newElements(interpretation,element);
3153 find mayInstanceOfFile_class(problem,interpretation,element); 5788 find mayInstanceOfChoice_class(problem,interpretation,element);
3154 neg find mustInstanceOfFile_class(problem,interpretation,element); 5789 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3155 neg find mustInstanceOfModel_class(problem,interpretation,element); 5790 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3156 neg find mustInstanceOfDir_class(problem,interpretation,element); 5791 neg find mustInstanceOfExit_class(problem,interpretation,element);
3157 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 5792 neg find mustInstanceOfChoice_class(problem,interpretation,element);
5793 neg find mustInstanceOfRegion_class(problem,interpretation,element);
5794 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
5795 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
5796 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3158} 5797}
3159pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 5798pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3160 find interpretation(problem,interpretation); 5799 find interpretation(problem,interpretation);
3161 PartialInterpretation.newElements(interpretation,element); 5800 PartialInterpretation.newElements(interpretation,element);
3162 find mayInstanceOfDir_class(problem,interpretation,element); 5801 find mayInstanceOfFinalState_class(problem,interpretation,element);
3163 neg find mustInstanceOfFile_class(problem,interpretation,element); 5802 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3164 neg find mustInstanceOfModel_class(problem,interpretation,element); 5803 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3165 neg find mustInstanceOfDir_class(problem,interpretation,element); 5804 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3166 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 5805 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
5806 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3167} 5807}
3168pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 5808pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3169 find interpretation(problem,interpretation); 5809 find interpretation(problem,interpretation);
3170 PartialInterpretation.newElements(interpretation,element); 5810 PartialInterpretation.newElements(interpretation,element);
3171 find mayInstanceOfFileSystem_class(problem,interpretation,element); 5811 find mayInstanceOfRegion_class(problem,interpretation,element);
3172 neg find mustInstanceOfModel_class(problem,interpretation,element); 5812 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3173 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 5813 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3174 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 5814 neg find mustInstanceOfRegion_class(problem,interpretation,element);
5815 neg find mustInstanceOfVertex_class(problem,interpretation,element);
5816}
5817pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
5818 find interpretation(problem,interpretation);
5819 PartialInterpretation.newElements(interpretation,element);
5820 find mayInstanceOfEntry_class(problem,interpretation,element);
5821 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
5822 neg find mustInstanceOfTransition_class(problem,interpretation,element);
5823 neg find mustInstanceOfExit_class(problem,interpretation,element);
5824 neg find mustInstanceOfChoice_class(problem,interpretation,element);
5825 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
5826 neg find mustInstanceOfRegion_class(problem,interpretation,element);
5827 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
5828 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3175} 5829}
3176 5830
3177////////// 5831//////////
3178// 4.3 Relation refinement 5832// 4.3 Relation refinement
3179////////// 5833//////////
3180pattern refineRelation_live_reference_FileSystem( 5834pattern refineRelation_incomingTransitions_reference_Vertex_and_target_reference_Transition(
3181 problem:LogicProblem, interpretation:PartialInterpretation, 5835 problem:LogicProblem, interpretation:PartialInterpretation,
3182 relationIterpretation:PartialRelationInterpretation, 5836 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
3183 from: DefinedElement, to: DefinedElement) 5837 from: DefinedElement, to: DefinedElement)
3184{ 5838{
3185 find interpretation(problem,interpretation); 5839 find interpretation(problem,interpretation);
3186 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 5840 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3187 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"live reference FileSystem"); 5841 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"incomingTransitions reference Vertex");
5842 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
5843 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"target reference Transition");
3188 find mustExist(problem, interpretation, from); 5844 find mustExist(problem, interpretation, from);
3189 find mustExist(problem, interpretation, to); 5845 find mustExist(problem, interpretation, to);
3190 find mustInstanceOfFileSystem_class(problem,interpretation,from); 5846 find mustInstanceOfVertex_class(problem,interpretation,from);
3191 find mustInstanceOfFSObject_class(problem,interpretation,to); 5847 find mustInstanceOfTransition_class(problem,interpretation,to);
3192 find mayInRelationlive_reference_FileSystem(problem,interpretation,from,to); 5848 find mayInRelationincomingTransitions_reference_Vertex(problem,interpretation,from,to);
3193 neg find mustInRelationlive_reference_FileSystem(problem,interpretation,from,to); 5849 neg find mustInRelationincomingTransitions_reference_Vertex(problem,interpretation,from,to);
3194} 5850}
3195import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" 5851import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
3196import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" 5852import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
@@ -3299,26 +5955,26 @@ private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretat
3299 find interpretation(problem,interpretation); 5955 find interpretation(problem,interpretation);
3300 PartialInterpretation.newElements(interpretation,element); 5956 PartialInterpretation.newElements(interpretation,element);
3301 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 5957 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3302 neg find mustInstanceOfEntry_class(problem,interpretation,element); 5958 neg find mustInstanceOfExit_class(problem,interpretation,element);
5959 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3303 neg find mustInstanceOfChoice_class(problem,interpretation,element); 5960 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3304 neg find mustInstanceOfTransition_class(problem,interpretation,element); 5961 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3305 neg find mustInstanceOfRegion_class(problem,interpretation,element); 5962 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3306 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 5963 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3307 neg find mustInstanceOfExit_class(problem,interpretation,element); 5964 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3308 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3309 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 5965 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
3310 neg find isPrimitive(element); 5966 neg find isPrimitive(element);
3311} or { 5967} or {
3312 find interpretation(problem,interpretation); 5968 find interpretation(problem,interpretation);
3313 PartialInterpretation.openWorldElements(interpretation,element); 5969 PartialInterpretation.openWorldElements(interpretation,element);
3314 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 5970 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3315 neg find mustInstanceOfEntry_class(problem,interpretation,element); 5971 neg find mustInstanceOfExit_class(problem,interpretation,element);
5972 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3316 neg find mustInstanceOfChoice_class(problem,interpretation,element); 5973 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3317 neg find mustInstanceOfTransition_class(problem,interpretation,element); 5974 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3318 neg find mustInstanceOfRegion_class(problem,interpretation,element); 5975 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3319 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 5976 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3320 neg find mustInstanceOfExit_class(problem,interpretation,element); 5977 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3321 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3322 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 5978 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
3323 neg find isPrimitive(element); 5979 neg find isPrimitive(element);
3324} or 5980} or
@@ -3348,9 +6004,9 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
3348 PartialInterpretation.newElements(interpretation,element); 6004 PartialInterpretation.newElements(interpretation,element);
3349 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6005 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3350 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 6006 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3351 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3352 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6007 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3353 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6008 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6009 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3354 neg find scopeDisallowsNewVertex_class(problem, interpretation); 6010 neg find scopeDisallowsNewVertex_class(problem, interpretation);
3355 neg find isPrimitive(element); 6011 neg find isPrimitive(element);
3356} or { 6012} or {
@@ -3358,9 +6014,9 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
3358 PartialInterpretation.openWorldElements(interpretation,element); 6014 PartialInterpretation.openWorldElements(interpretation,element);
3359 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6015 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3360 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 6016 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3361 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3362 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6017 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3363 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6018 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6019 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3364 neg find scopeDisallowsNewVertex_class(problem, interpretation); 6020 neg find scopeDisallowsNewVertex_class(problem, interpretation);
3365 neg find isPrimitive(element); 6021 neg find isPrimitive(element);
3366} or 6022} or
@@ -3389,16 +6045,16 @@ private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:P
3389 find interpretation(problem,interpretation); 6045 find interpretation(problem,interpretation);
3390 PartialInterpretation.newElements(interpretation,element); 6046 PartialInterpretation.newElements(interpretation,element);
3391 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6047 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3392 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3393 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6048 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6049 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3394 neg find scopeDisallowsNewRegion_class(problem, interpretation); 6050 neg find scopeDisallowsNewRegion_class(problem, interpretation);
3395 neg find isPrimitive(element); 6051 neg find isPrimitive(element);
3396} or { 6052} or {
3397 find interpretation(problem,interpretation); 6053 find interpretation(problem,interpretation);
3398 PartialInterpretation.openWorldElements(interpretation,element); 6054 PartialInterpretation.openWorldElements(interpretation,element);
3399 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6055 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3400 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3401 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6056 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6057 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3402 neg find scopeDisallowsNewRegion_class(problem, interpretation); 6058 neg find scopeDisallowsNewRegion_class(problem, interpretation);
3403 neg find isPrimitive(element); 6059 neg find isPrimitive(element);
3404} or 6060} or
@@ -3427,16 +6083,16 @@ private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretati
3427 find interpretation(problem,interpretation); 6083 find interpretation(problem,interpretation);
3428 PartialInterpretation.newElements(interpretation,element); 6084 PartialInterpretation.newElements(interpretation,element);
3429 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6085 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3430 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3431 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6086 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6087 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3432 neg find scopeDisallowsNewTransition_class(problem, interpretation); 6088 neg find scopeDisallowsNewTransition_class(problem, interpretation);
3433 neg find isPrimitive(element); 6089 neg find isPrimitive(element);
3434} or { 6090} or {
3435 find interpretation(problem,interpretation); 6091 find interpretation(problem,interpretation);
3436 PartialInterpretation.openWorldElements(interpretation,element); 6092 PartialInterpretation.openWorldElements(interpretation,element);
3437 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6093 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3438 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3439 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6094 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6095 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3440 neg find scopeDisallowsNewTransition_class(problem, interpretation); 6096 neg find scopeDisallowsNewTransition_class(problem, interpretation);
3441 neg find isPrimitive(element); 6097 neg find isPrimitive(element);
3442} or 6098} or
@@ -3464,19 +6120,19 @@ private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretati
3464{ 6120{
3465 find interpretation(problem,interpretation); 6121 find interpretation(problem,interpretation);
3466 PartialInterpretation.newElements(interpretation,element); 6122 PartialInterpretation.newElements(interpretation,element);
3467 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3468 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3469 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 6123 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
3470 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6124 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6125 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6126 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3471 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 6127 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
3472 neg find isPrimitive(element); 6128 neg find isPrimitive(element);
3473} or { 6129} or {
3474 find interpretation(problem,interpretation); 6130 find interpretation(problem,interpretation);
3475 PartialInterpretation.openWorldElements(interpretation,element); 6131 PartialInterpretation.openWorldElements(interpretation,element);
3476 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3477 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3478 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 6132 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
3479 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6133 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6134 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6135 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3480 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 6136 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
3481 neg find isPrimitive(element); 6137 neg find isPrimitive(element);
3482} or 6138} or
@@ -3505,24 +6161,24 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
3505 find interpretation(problem,interpretation); 6161 find interpretation(problem,interpretation);
3506 PartialInterpretation.newElements(interpretation,element); 6162 PartialInterpretation.newElements(interpretation,element);
3507 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6163 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6164 neg find mustInstanceOfExit_class(problem,interpretation,element);
6165 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3508 neg find mustInstanceOfChoice_class(problem,interpretation,element); 6166 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3509 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6167 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3510 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3511 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6168 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3512 neg find mustInstanceOfExit_class(problem,interpretation,element); 6169 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3513 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3514 neg find scopeDisallowsNewEntry_class(problem, interpretation); 6170 neg find scopeDisallowsNewEntry_class(problem, interpretation);
3515 neg find isPrimitive(element); 6171 neg find isPrimitive(element);
3516} or { 6172} or {
3517 find interpretation(problem,interpretation); 6173 find interpretation(problem,interpretation);
3518 PartialInterpretation.openWorldElements(interpretation,element); 6174 PartialInterpretation.openWorldElements(interpretation,element);
3519 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6175 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6176 neg find mustInstanceOfExit_class(problem,interpretation,element);
6177 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3520 neg find mustInstanceOfChoice_class(problem,interpretation,element); 6178 neg find mustInstanceOfChoice_class(problem,interpretation,element);
3521 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6179 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3522 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3523 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6180 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3524 neg find mustInstanceOfExit_class(problem,interpretation,element); 6181 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3525 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3526 neg find scopeDisallowsNewEntry_class(problem, interpretation); 6182 neg find scopeDisallowsNewEntry_class(problem, interpretation);
3527 neg find isPrimitive(element); 6183 neg find isPrimitive(element);
3528} or 6184} or
@@ -3551,24 +6207,24 @@ private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpr
3551 find interpretation(problem,interpretation); 6207 find interpretation(problem,interpretation);
3552 PartialInterpretation.newElements(interpretation,element); 6208 PartialInterpretation.newElements(interpretation,element);
3553 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6209 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3554 neg find mustInstanceOfEntry_class(problem,interpretation,element); 6210 neg find mustInstanceOfExit_class(problem,interpretation,element);
3555 neg find mustInstanceOfChoice_class(problem,interpretation,element); 6211 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6212 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3556 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6213 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3557 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3558 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6214 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3559 neg find mustInstanceOfExit_class(problem,interpretation,element); 6215 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3560 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 6216 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
3561 neg find isPrimitive(element); 6217 neg find isPrimitive(element);
3562} or { 6218} or {
3563 find interpretation(problem,interpretation); 6219 find interpretation(problem,interpretation);
3564 PartialInterpretation.openWorldElements(interpretation,element); 6220 PartialInterpretation.openWorldElements(interpretation,element);
3565 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6221 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3566 neg find mustInstanceOfEntry_class(problem,interpretation,element); 6222 neg find mustInstanceOfExit_class(problem,interpretation,element);
3567 neg find mustInstanceOfChoice_class(problem,interpretation,element); 6223 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6224 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3568 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6225 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3569 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3570 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6226 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3571 neg find mustInstanceOfExit_class(problem,interpretation,element); 6227 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3572 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 6228 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
3573 neg find isPrimitive(element); 6229 neg find isPrimitive(element);
3574} or 6230} or
@@ -3597,20 +6253,20 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
3597 find interpretation(problem,interpretation); 6253 find interpretation(problem,interpretation);
3598 PartialInterpretation.newElements(interpretation,element); 6254 PartialInterpretation.newElements(interpretation,element);
3599 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 6255 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3600 neg find mustInstanceOfTransition_class(problem,interpretation,element); 6256 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
3601 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6257 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6258 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3602 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 6259 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3603 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
3604 neg find scopeDisallowsNewState_class(problem, interpretation); 6260 neg find scopeDisallowsNewState_class(problem, interpretation);
3605 neg find isPrimitive(element); 6261 neg find isPrimitive(element);
3606} or { 6262} or {
3607 find interpretation(problem,interpretation); 6263 find interpretation(problem,interpretation);
3608 PartialInterpretation.openWorldElements(interpretation,element); 6264 PartialInterpretation.openWorldElements(interpretation,element);
3609 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 6265 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3610 neg find mustInstanceOfTransition_class(problem,interpretation,element); 6266 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
3611 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6267 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6268 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3612 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 6269 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3613 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
3614 neg find scopeDisallowsNewState_class(problem, interpretation); 6270 neg find scopeDisallowsNewState_class(problem, interpretation);
3615 neg find isPrimitive(element); 6271 neg find isPrimitive(element);
3616} or 6272} or
@@ -3640,9 +6296,9 @@ private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpreta
3640 PartialInterpretation.newElements(interpretation,element); 6296 PartialInterpretation.newElements(interpretation,element);
3641 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6297 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3642 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 6298 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3643 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3644 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3645 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 6299 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6300 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6301 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3646 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 6302 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
3647 neg find isPrimitive(element); 6303 neg find isPrimitive(element);
3648} or { 6304} or {
@@ -3650,9 +6306,9 @@ private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpreta
3650 PartialInterpretation.openWorldElements(interpretation,element); 6306 PartialInterpretation.openWorldElements(interpretation,element);
3651 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6307 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
3652 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 6308 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3653 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3654 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3655 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 6309 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6310 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6311 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3656 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 6312 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
3657 neg find isPrimitive(element); 6313 neg find isPrimitive(element);
3658} or 6314} or
@@ -3680,21 +6336,21 @@ private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interp
3680{ 6336{
3681 find interpretation(problem,interpretation); 6337 find interpretation(problem,interpretation);
3682 PartialInterpretation.newElements(interpretation,element); 6338 PartialInterpretation.newElements(interpretation,element);
3683 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3684 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3685 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3686 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 6339 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
3687 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6340 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6341 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6342 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6343 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3688 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 6344 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
3689 neg find isPrimitive(element); 6345 neg find isPrimitive(element);
3690} or { 6346} or {
3691 find interpretation(problem,interpretation); 6347 find interpretation(problem,interpretation);
3692 PartialInterpretation.openWorldElements(interpretation,element); 6348 PartialInterpretation.openWorldElements(interpretation,element);
3693 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3694 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3695 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3696 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 6349 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
3697 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6350 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6351 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6352 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6353 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3698 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 6354 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
3699 neg find isPrimitive(element); 6355 neg find isPrimitive(element);
3700} or 6356} or
@@ -3723,24 +6379,24 @@ private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:P
3723 find interpretation(problem,interpretation); 6379 find interpretation(problem,interpretation);
3724 PartialInterpretation.newElements(interpretation,element); 6380 PartialInterpretation.newElements(interpretation,element);
3725 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6381 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6382 neg find mustInstanceOfExit_class(problem,interpretation,element);
6383 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3726 neg find mustInstanceOfEntry_class(problem,interpretation,element); 6384 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3727 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6385 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3728 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3729 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6386 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3730 neg find mustInstanceOfExit_class(problem,interpretation,element); 6387 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3731 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3732 neg find scopeDisallowsNewChoice_class(problem, interpretation); 6388 neg find scopeDisallowsNewChoice_class(problem, interpretation);
3733 neg find isPrimitive(element); 6389 neg find isPrimitive(element);
3734} or { 6390} or {
3735 find interpretation(problem,interpretation); 6391 find interpretation(problem,interpretation);
3736 PartialInterpretation.openWorldElements(interpretation,element); 6392 PartialInterpretation.openWorldElements(interpretation,element);
3737 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6393 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6394 neg find mustInstanceOfExit_class(problem,interpretation,element);
6395 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3738 neg find mustInstanceOfEntry_class(problem,interpretation,element); 6396 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3739 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6397 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3740 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3741 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6398 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3742 neg find mustInstanceOfExit_class(problem,interpretation,element); 6399 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3743 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3744 neg find scopeDisallowsNewChoice_class(problem, interpretation); 6400 neg find scopeDisallowsNewChoice_class(problem, interpretation);
3745 neg find isPrimitive(element); 6401 neg find isPrimitive(element);
3746} or 6402} or
@@ -3768,25 +6424,25 @@ private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:Par
3768{ 6424{
3769 find interpretation(problem,interpretation); 6425 find interpretation(problem,interpretation);
3770 PartialInterpretation.newElements(interpretation,element); 6426 PartialInterpretation.newElements(interpretation,element);
3771 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3772 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6427 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6428 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3773 neg find mustInstanceOfChoice_class(problem,interpretation,element); 6429 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6430 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3774 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6431 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3775 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3776 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6432 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3777 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 6433 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3778 neg find scopeDisallowsNewExit_class(problem, interpretation); 6434 neg find scopeDisallowsNewExit_class(problem, interpretation);
3779 neg find isPrimitive(element); 6435 neg find isPrimitive(element);
3780} or { 6436} or {
3781 find interpretation(problem,interpretation); 6437 find interpretation(problem,interpretation);
3782 PartialInterpretation.openWorldElements(interpretation,element); 6438 PartialInterpretation.openWorldElements(interpretation,element);
3783 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3784 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6439 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6440 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
3785 neg find mustInstanceOfChoice_class(problem,interpretation,element); 6441 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6442 neg find mustInstanceOfEntry_class(problem,interpretation,element);
3786 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6443 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3787 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3788 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 6444 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
3789 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 6445 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3790 neg find scopeDisallowsNewExit_class(problem, interpretation); 6446 neg find scopeDisallowsNewExit_class(problem, interpretation);
3791 neg find isPrimitive(element); 6447 neg find isPrimitive(element);
3792} or 6448} or
@@ -3814,8 +6470,8 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
3814{ 6470{
3815 find interpretation(problem,interpretation); 6471 find interpretation(problem,interpretation);
3816 PartialInterpretation.newElements(interpretation,element); 6472 PartialInterpretation.newElements(interpretation,element);
3817 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3818 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6473 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6474 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3819 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6475 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3820 neg find mustInstanceOfTransition_class(problem,interpretation,element); 6476 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3821 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 6477 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
@@ -3823,8 +6479,8 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
3823} or { 6479} or {
3824 find interpretation(problem,interpretation); 6480 find interpretation(problem,interpretation);
3825 PartialInterpretation.openWorldElements(interpretation,element); 6481 PartialInterpretation.openWorldElements(interpretation,element);
3826 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3827 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 6482 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6483 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
3828 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6484 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3829 neg find mustInstanceOfTransition_class(problem,interpretation,element); 6485 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3830 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 6486 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
@@ -3875,17 +6531,17 @@ private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem
3875{ 6531{
3876 find interpretation(problem,interpretation); 6532 find interpretation(problem,interpretation);
3877 PartialInterpretation.newElements(interpretation,element); 6533 PartialInterpretation.newElements(interpretation,element);
6534 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3878 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6535 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3879 neg find mustInstanceOfTransition_class(problem,interpretation,element); 6536 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3880 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3881 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 6537 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
3882 neg find isPrimitive(element); 6538 neg find isPrimitive(element);
3883} or { 6539} or {
3884 find interpretation(problem,interpretation); 6540 find interpretation(problem,interpretation);
3885 PartialInterpretation.openWorldElements(interpretation,element); 6541 PartialInterpretation.openWorldElements(interpretation,element);
6542 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3886 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6543 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3887 neg find mustInstanceOfTransition_class(problem,interpretation,element); 6544 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3888 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3889 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 6545 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
3890 neg find isPrimitive(element); 6546 neg find isPrimitive(element);
3891} or 6547} or
@@ -3934,19 +6590,19 @@ private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicP
3934{ 6590{
3935 find interpretation(problem,interpretation); 6591 find interpretation(problem,interpretation);
3936 PartialInterpretation.newElements(interpretation,element); 6592 PartialInterpretation.newElements(interpretation,element);
6593 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3937 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6594 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3938 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3939 neg find mustInstanceOfTransition_class(problem,interpretation,element); 6595 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3940 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6596 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3941 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 6597 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
3942 neg find isPrimitive(element); 6598 neg find isPrimitive(element);
3943} or { 6599} or {
3944 find interpretation(problem,interpretation); 6600 find interpretation(problem,interpretation);
3945 PartialInterpretation.openWorldElements(interpretation,element); 6601 PartialInterpretation.openWorldElements(interpretation,element);
6602 neg find mustInstanceOfVertex_class(problem,interpretation,element);
3946 neg find mustInstanceOfRegion_class(problem,interpretation,element); 6603 neg find mustInstanceOfRegion_class(problem,interpretation,element);
3947 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3948 neg find mustInstanceOfTransition_class(problem,interpretation,element); 6604 neg find mustInstanceOfTransition_class(problem,interpretation,element);
3949 neg find mustInstanceOfVertex_class(problem,interpretation,element); 6605 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
3950 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 6606 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
3951 neg find isPrimitive(element); 6607 neg find isPrimitive(element);
3952} or 6608} or
@@ -5687,55 +8343,55 @@ pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_
5687private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 8343private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
5688{ 8344{
5689 find interpretation(problem,interpretation); 8345 find interpretation(problem,interpretation);
5690 find mustInstanceOfPseudostate_class(problem,interpretation,root); 8346 find mustInstanceOfEntry_class(problem,interpretation,root);
5691 find mustExist(problem, interpretation, root); 8347 find mustExist(problem, interpretation, root);
5692}or{ 8348}or{
5693 find interpretation(problem,interpretation); 8349 find interpretation(problem,interpretation);
5694 find mustInstanceOfVertex_class(problem,interpretation,root); 8350 find mustInstanceOfChoice_class(problem,interpretation,root);
5695 find mustExist(problem, interpretation, root); 8351 find mustExist(problem, interpretation, root);
5696}or{ 8352}or{
5697 find interpretation(problem,interpretation); 8353 find interpretation(problem,interpretation);
5698 find mustInstanceOfCompositeElement_class(problem,interpretation,root); 8354 find mustInstanceOfFinalState_class(problem,interpretation,root);
5699 find mustExist(problem, interpretation, root); 8355 find mustExist(problem, interpretation, root);
5700}or{ 8356}or{
5701 find interpretation(problem,interpretation); 8357 find interpretation(problem,interpretation);
5702 find mustInstanceOfFinalState_class(problem,interpretation,root); 8358 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
5703 find mustExist(problem, interpretation, root); 8359 find mustExist(problem, interpretation, root);
5704}or{ 8360}or{
5705 find interpretation(problem,interpretation); 8361 find interpretation(problem,interpretation);
5706 find mustInstanceOfTransition_class(problem,interpretation,root); 8362 find mustInstanceOfStatechart_class(problem,interpretation,root);
5707 find mustExist(problem, interpretation, root); 8363 find mustExist(problem, interpretation, root);
5708}or{ 8364}or{
5709 find interpretation(problem,interpretation); 8365 find interpretation(problem,interpretation);
5710 find mustInstanceOfRegion_class(problem,interpretation,root); 8366 find mustInstanceOfVertex_class(problem,interpretation,root);
5711 find mustExist(problem, interpretation, root); 8367 find mustExist(problem, interpretation, root);
5712}or{ 8368}or{
5713 find interpretation(problem,interpretation); 8369 find interpretation(problem,interpretation);
5714 find mustInstanceOfStatechart_class(problem,interpretation,root); 8370 find mustInstanceOfState_class(problem,interpretation,root);
5715 find mustExist(problem, interpretation, root); 8371 find mustExist(problem, interpretation, root);
5716}or{ 8372}or{
5717 find interpretation(problem,interpretation); 8373 find interpretation(problem,interpretation);
5718 find mustInstanceOfExit_class(problem,interpretation,root); 8374 find mustInstanceOfPseudostate_class(problem,interpretation,root);
5719 find mustExist(problem, interpretation, root); 8375 find mustExist(problem, interpretation, root);
5720}or{ 8376}or{
5721 find interpretation(problem,interpretation); 8377 find interpretation(problem,interpretation);
5722 find mustInstanceOfChoice_class(problem,interpretation,root); 8378 find mustInstanceOfExit_class(problem,interpretation,root);
5723 find mustExist(problem, interpretation, root); 8379 find mustExist(problem, interpretation, root);
5724}or{ 8380}or{
5725 find interpretation(problem,interpretation); 8381 find interpretation(problem,interpretation);
5726 find mustInstanceOfRegularState_class(problem,interpretation,root); 8382 find mustInstanceOfTransition_class(problem,interpretation,root);
5727 find mustExist(problem, interpretation, root); 8383 find mustExist(problem, interpretation, root);
5728}or{ 8384}or{
5729 find interpretation(problem,interpretation); 8385 find interpretation(problem,interpretation);
5730 find mustInstanceOfSynchronization_class(problem,interpretation,root); 8386 find mustInstanceOfRegularState_class(problem,interpretation,root);
5731 find mustExist(problem, interpretation, root); 8387 find mustExist(problem, interpretation, root);
5732}or{ 8388}or{
5733 find interpretation(problem,interpretation); 8389 find interpretation(problem,interpretation);
5734 find mustInstanceOfEntry_class(problem,interpretation,root); 8390 find mustInstanceOfRegion_class(problem,interpretation,root);
5735 find mustExist(problem, interpretation, root); 8391 find mustExist(problem, interpretation, root);
5736}or{ 8392}or{
5737 find interpretation(problem,interpretation); 8393 find interpretation(problem,interpretation);
5738 find mustInstanceOfState_class(problem,interpretation,root); 8394 find mustInstanceOfSynchronization_class(problem,interpretation,root);
5739 find mustExist(problem, interpretation, root); 8395 find mustExist(problem, interpretation, root);
5740}or{ 8396}or{
5741 find interpretation(problem,interpretation); 8397 find interpretation(problem,interpretation);
@@ -5754,241 +8410,241 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
5754 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root); 8410 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
5755 find mustExist(problem, interpretation, root); 8411 find mustExist(problem, interpretation, root);
5756} 8412}
5757pattern createObject_Entry_class_by_vertices_reference_Region( 8413pattern createObject_Exit_class_by_vertices_reference_Region(
5758 problem:LogicProblem, interpretation:PartialInterpretation, 8414 problem:LogicProblem, interpretation:PartialInterpretation,
5759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 8415 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5760 container:DefinedElement) 8416 container:DefinedElement)
5761{ 8417{
5762 find interpretation(problem,interpretation); 8418 find interpretation(problem,interpretation);
5763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8419 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 8420 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
5765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 8421 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 8422 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
5767 find mustInstanceOfRegion_class(problem,interpretation,container); 8423 find mustInstanceOfRegion_class(problem,interpretation,container);
5768 find mayInstanceOfEntry_class(problem,interpretation,newObject); 8424 find mayInstanceOfExit_class(problem,interpretation,newObject);
5769 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 8425 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
5770 find mustExist(problem, interpretation, container); 8426 find mustExist(problem, interpretation, container);
5771 neg find mustExist(problem, interpretation, newObject); 8427 neg find mustExist(problem, interpretation, newObject);
5772} 8428}
5773pattern createObject_Entry_class( 8429pattern createObject_Exit_class(
5774 problem:LogicProblem, interpretation:PartialInterpretation, 8430 problem:LogicProblem, interpretation:PartialInterpretation,
5775 typeInterpretation:PartialComplexTypeInterpretation) 8431 typeInterpretation:PartialComplexTypeInterpretation)
5776{ 8432{
5777 find interpretation(problem,interpretation); 8433 find interpretation(problem,interpretation);
5778 neg find hasElementInContainment(problem,interpretation); 8434 neg find hasElementInContainment(problem,interpretation);
5779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8435 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 8436 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
5781 find mayInstanceOfEntry_class(problem,interpretation,newObject); 8437 find mayInstanceOfExit_class(problem,interpretation,newObject);
5782 find mayExist(problem, interpretation, newObject); 8438 find mayExist(problem, interpretation, newObject);
5783 neg find mustExist(problem, interpretation, newObject); 8439 neg find mustExist(problem, interpretation, newObject);
5784} 8440}
5785pattern createObject_Choice_class_by_vertices_reference_Region( 8441pattern createObject_State_class_by_vertices_reference_Region(
5786 problem:LogicProblem, interpretation:PartialInterpretation, 8442 problem:LogicProblem, interpretation:PartialInterpretation,
5787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 8443 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5788 container:DefinedElement) 8444 container:DefinedElement)
5789{ 8445{
5790 find interpretation(problem,interpretation); 8446 find interpretation(problem,interpretation);
5791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8447 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 8448 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
5793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 8449 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 8450 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
5795 find mustInstanceOfRegion_class(problem,interpretation,container); 8451 find mustInstanceOfRegion_class(problem,interpretation,container);
5796 find mayInstanceOfChoice_class(problem,interpretation,newObject); 8452 find mayInstanceOfState_class(problem,interpretation,newObject);
5797 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 8453 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
5798 find mustExist(problem, interpretation, container); 8454 find mustExist(problem, interpretation, container);
5799 neg find mustExist(problem, interpretation, newObject); 8455 neg find mustExist(problem, interpretation, newObject);
5800} 8456}
5801pattern createObject_Choice_class( 8457pattern createObject_State_class(
5802 problem:LogicProblem, interpretation:PartialInterpretation, 8458 problem:LogicProblem, interpretation:PartialInterpretation,
5803 typeInterpretation:PartialComplexTypeInterpretation) 8459 typeInterpretation:PartialComplexTypeInterpretation)
5804{ 8460{
5805 find interpretation(problem,interpretation); 8461 find interpretation(problem,interpretation);
5806 neg find hasElementInContainment(problem,interpretation); 8462 neg find hasElementInContainment(problem,interpretation);
5807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8463 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 8464 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
5809 find mayInstanceOfChoice_class(problem,interpretation,newObject); 8465 find mayInstanceOfState_class(problem,interpretation,newObject);
5810 find mayExist(problem, interpretation, newObject); 8466 find mayExist(problem, interpretation, newObject);
5811 neg find mustExist(problem, interpretation, newObject); 8467 neg find mustExist(problem, interpretation, newObject);
5812} 8468}
5813pattern createObject_State_class_by_vertices_reference_Region( 8469pattern createObject_Synchronization_class_by_vertices_reference_Region(
5814 problem:LogicProblem, interpretation:PartialInterpretation, 8470 problem:LogicProblem, interpretation:PartialInterpretation,
5815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 8471 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5816 container:DefinedElement) 8472 container:DefinedElement)
5817{ 8473{
5818 find interpretation(problem,interpretation); 8474 find interpretation(problem,interpretation);
5819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8475 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 8476 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
5821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 8477 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 8478 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
5823 find mustInstanceOfRegion_class(problem,interpretation,container); 8479 find mustInstanceOfRegion_class(problem,interpretation,container);
5824 find mayInstanceOfState_class(problem,interpretation,newObject); 8480 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
5825 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 8481 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
5826 find mustExist(problem, interpretation, container); 8482 find mustExist(problem, interpretation, container);
5827 neg find mustExist(problem, interpretation, newObject); 8483 neg find mustExist(problem, interpretation, newObject);
5828} 8484}
5829pattern createObject_State_class( 8485pattern createObject_Synchronization_class(
5830 problem:LogicProblem, interpretation:PartialInterpretation, 8486 problem:LogicProblem, interpretation:PartialInterpretation,
5831 typeInterpretation:PartialComplexTypeInterpretation) 8487 typeInterpretation:PartialComplexTypeInterpretation)
5832{ 8488{
5833 find interpretation(problem,interpretation); 8489 find interpretation(problem,interpretation);
5834 neg find hasElementInContainment(problem,interpretation); 8490 neg find hasElementInContainment(problem,interpretation);
5835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8491 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 8492 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
5837 find mayInstanceOfState_class(problem,interpretation,newObject); 8493 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
5838 find mayExist(problem, interpretation, newObject); 8494 find mayExist(problem, interpretation, newObject);
5839 neg find mustExist(problem, interpretation, newObject); 8495 neg find mustExist(problem, interpretation, newObject);
5840} 8496}
5841pattern createObject_Statechart_class_UndefinedPart( 8497pattern createObject_Choice_class_by_vertices_reference_Region(
5842 problem:LogicProblem, interpretation:PartialInterpretation, 8498 problem:LogicProblem, interpretation:PartialInterpretation,
5843 typeInterpretation:PartialComplexTypeInterpretation) 8499 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
8500 container:DefinedElement)
5844{ 8501{
5845 find interpretation(problem,interpretation); 8502 find interpretation(problem,interpretation);
5846 neg find hasElementInContainment(problem,interpretation);
5847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8503 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart"); 8504 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
5849 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject); 8505 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5850 find mayExist(problem, interpretation, newObject); 8506 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
8507 find mustInstanceOfRegion_class(problem,interpretation,container);
8508 find mayInstanceOfChoice_class(problem,interpretation,newObject);
8509 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
8510 find mustExist(problem, interpretation, container);
5851 neg find mustExist(problem, interpretation, newObject); 8511 neg find mustExist(problem, interpretation, newObject);
5852} 8512}
5853pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( 8513pattern createObject_Choice_class(
5854 problem:LogicProblem, interpretation:PartialInterpretation, 8514 problem:LogicProblem, interpretation:PartialInterpretation,
5855 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 8515 typeInterpretation:PartialComplexTypeInterpretation)
5856 container:DefinedElement)
5857{ 8516{
5858 find interpretation(problem,interpretation); 8517 find interpretation(problem,interpretation);
8518 neg find hasElementInContainment(problem,interpretation);
5859 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8519 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5860 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 8520 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
5861 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 8521 find mayInstanceOfChoice_class(problem,interpretation,newObject);
5862 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex"); 8522 find mayExist(problem, interpretation, newObject);
5863 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
5864 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
5865 find mustInstanceOfVertex_class(problem,interpretation,container);
5866 find mayInstanceOfTransition_class(problem,interpretation,newObject);
5867 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
5868 find mustExist(problem, interpretation, container);
5869 neg find mustExist(problem, interpretation, newObject); 8523 neg find mustExist(problem, interpretation, newObject);
5870} 8524}
5871pattern createObject_Transition_class( 8525pattern createObject_Statechart_class_UndefinedPart(
5872 problem:LogicProblem, interpretation:PartialInterpretation, 8526 problem:LogicProblem, interpretation:PartialInterpretation,
5873 typeInterpretation:PartialComplexTypeInterpretation) 8527 typeInterpretation:PartialComplexTypeInterpretation)
5874{ 8528{
5875 find interpretation(problem,interpretation); 8529 find interpretation(problem,interpretation);
5876 neg find hasElementInContainment(problem,interpretation); 8530 neg find hasElementInContainment(problem,interpretation);
5877 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8531 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5878 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 8532 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart");
5879 find mayInstanceOfTransition_class(problem,interpretation,newObject); 8533 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject);
5880 find mayExist(problem, interpretation, newObject); 8534 find mayExist(problem, interpretation, newObject);
5881 neg find mustExist(problem, interpretation, newObject); 8535 neg find mustExist(problem, interpretation, newObject);
5882} 8536}
5883pattern createObject_Region_class_by_regions_reference_CompositeElement( 8537pattern createObject_FinalState_class_by_vertices_reference_Region(
5884 problem:LogicProblem, interpretation:PartialInterpretation, 8538 problem:LogicProblem, interpretation:PartialInterpretation,
5885 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 8539 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5886 container:DefinedElement) 8540 container:DefinedElement)
5887{ 8541{
5888 find interpretation(problem,interpretation); 8542 find interpretation(problem,interpretation);
5889 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8543 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5890 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class"); 8544 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
5891 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 8545 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5892 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement"); 8546 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
5893 find mustInstanceOfCompositeElement_class(problem,interpretation,container); 8547 find mustInstanceOfRegion_class(problem,interpretation,container);
5894 find mayInstanceOfRegion_class(problem,interpretation,newObject); 8548 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
5895 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject); 8549 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
5896 find mustExist(problem, interpretation, container); 8550 find mustExist(problem, interpretation, container);
5897 neg find mustExist(problem, interpretation, newObject); 8551 neg find mustExist(problem, interpretation, newObject);
5898} 8552}
5899pattern createObject_Region_class( 8553pattern createObject_FinalState_class(
5900 problem:LogicProblem, interpretation:PartialInterpretation, 8554 problem:LogicProblem, interpretation:PartialInterpretation,
5901 typeInterpretation:PartialComplexTypeInterpretation) 8555 typeInterpretation:PartialComplexTypeInterpretation)
5902{ 8556{
5903 find interpretation(problem,interpretation); 8557 find interpretation(problem,interpretation);
5904 neg find hasElementInContainment(problem,interpretation); 8558 neg find hasElementInContainment(problem,interpretation);
5905 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8559 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5906 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class"); 8560 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
5907 find mayInstanceOfRegion_class(problem,interpretation,newObject); 8561 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
5908 find mayExist(problem, interpretation, newObject); 8562 find mayExist(problem, interpretation, newObject);
5909 neg find mustExist(problem, interpretation, newObject); 8563 neg find mustExist(problem, interpretation, newObject);
5910} 8564}
5911pattern createObject_FinalState_class_by_vertices_reference_Region( 8565pattern createObject_Entry_class_by_vertices_reference_Region(
5912 problem:LogicProblem, interpretation:PartialInterpretation, 8566 problem:LogicProblem, interpretation:PartialInterpretation,
5913 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 8567 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5914 container:DefinedElement) 8568 container:DefinedElement)
5915{ 8569{
5916 find interpretation(problem,interpretation); 8570 find interpretation(problem,interpretation);
5917 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8571 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5918 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 8572 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
5919 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 8573 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5920 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 8574 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
5921 find mustInstanceOfRegion_class(problem,interpretation,container); 8575 find mustInstanceOfRegion_class(problem,interpretation,container);
5922 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 8576 find mayInstanceOfEntry_class(problem,interpretation,newObject);
5923 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 8577 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
5924 find mustExist(problem, interpretation, container); 8578 find mustExist(problem, interpretation, container);
5925 neg find mustExist(problem, interpretation, newObject); 8579 neg find mustExist(problem, interpretation, newObject);
5926} 8580}
5927pattern createObject_FinalState_class( 8581pattern createObject_Entry_class(
5928 problem:LogicProblem, interpretation:PartialInterpretation, 8582 problem:LogicProblem, interpretation:PartialInterpretation,
5929 typeInterpretation:PartialComplexTypeInterpretation) 8583 typeInterpretation:PartialComplexTypeInterpretation)
5930{ 8584{
5931 find interpretation(problem,interpretation); 8585 find interpretation(problem,interpretation);
5932 neg find hasElementInContainment(problem,interpretation); 8586 neg find hasElementInContainment(problem,interpretation);
5933 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8587 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5934 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 8588 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
5935 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 8589 find mayInstanceOfEntry_class(problem,interpretation,newObject);
5936 find mayExist(problem, interpretation, newObject); 8590 find mayExist(problem, interpretation, newObject);
5937 neg find mustExist(problem, interpretation, newObject); 8591 neg find mustExist(problem, interpretation, newObject);
5938} 8592}
5939pattern createObject_Exit_class_by_vertices_reference_Region( 8593pattern createObject_Region_class_by_regions_reference_CompositeElement(
5940 problem:LogicProblem, interpretation:PartialInterpretation, 8594 problem:LogicProblem, interpretation:PartialInterpretation,
5941 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 8595 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5942 container:DefinedElement) 8596 container:DefinedElement)
5943{ 8597{
5944 find interpretation(problem,interpretation); 8598 find interpretation(problem,interpretation);
5945 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8599 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5946 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 8600 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
5947 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 8601 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5948 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 8602 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement");
5949 find mustInstanceOfRegion_class(problem,interpretation,container); 8603 find mustInstanceOfCompositeElement_class(problem,interpretation,container);
5950 find mayInstanceOfExit_class(problem,interpretation,newObject); 8604 find mayInstanceOfRegion_class(problem,interpretation,newObject);
5951 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 8605 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject);
5952 find mustExist(problem, interpretation, container); 8606 find mustExist(problem, interpretation, container);
5953 neg find mustExist(problem, interpretation, newObject); 8607 neg find mustExist(problem, interpretation, newObject);
5954} 8608}
5955pattern createObject_Exit_class( 8609pattern createObject_Region_class(
5956 problem:LogicProblem, interpretation:PartialInterpretation, 8610 problem:LogicProblem, interpretation:PartialInterpretation,
5957 typeInterpretation:PartialComplexTypeInterpretation) 8611 typeInterpretation:PartialComplexTypeInterpretation)
5958{ 8612{
5959 find interpretation(problem,interpretation); 8613 find interpretation(problem,interpretation);
5960 neg find hasElementInContainment(problem,interpretation); 8614 neg find hasElementInContainment(problem,interpretation);
5961 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8615 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5962 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 8616 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
5963 find mayInstanceOfExit_class(problem,interpretation,newObject); 8617 find mayInstanceOfRegion_class(problem,interpretation,newObject);
5964 find mayExist(problem, interpretation, newObject); 8618 find mayExist(problem, interpretation, newObject);
5965 neg find mustExist(problem, interpretation, newObject); 8619 neg find mustExist(problem, interpretation, newObject);
5966} 8620}
5967pattern createObject_Synchronization_class_by_vertices_reference_Region( 8621pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
5968 problem:LogicProblem, interpretation:PartialInterpretation, 8622 problem:LogicProblem, interpretation:PartialInterpretation,
5969 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 8623 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
5970 container:DefinedElement) 8624 container:DefinedElement)
5971{ 8625{
5972 find interpretation(problem,interpretation); 8626 find interpretation(problem,interpretation);
5973 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8627 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5974 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 8628 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
5975 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 8629 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
5976 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 8630 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
5977 find mustInstanceOfRegion_class(problem,interpretation,container); 8631 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
5978 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 8632 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
5979 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 8633 find mustInstanceOfVertex_class(problem,interpretation,container);
8634 find mayInstanceOfTransition_class(problem,interpretation,newObject);
8635 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
5980 find mustExist(problem, interpretation, container); 8636 find mustExist(problem, interpretation, container);
5981 neg find mustExist(problem, interpretation, newObject); 8637 neg find mustExist(problem, interpretation, newObject);
5982} 8638}
5983pattern createObject_Synchronization_class( 8639pattern createObject_Transition_class(
5984 problem:LogicProblem, interpretation:PartialInterpretation, 8640 problem:LogicProblem, interpretation:PartialInterpretation,
5985 typeInterpretation:PartialComplexTypeInterpretation) 8641 typeInterpretation:PartialComplexTypeInterpretation)
5986{ 8642{
5987 find interpretation(problem,interpretation); 8643 find interpretation(problem,interpretation);
5988 neg find hasElementInContainment(problem,interpretation); 8644 neg find hasElementInContainment(problem,interpretation);
5989 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 8645 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
5990 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 8646 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
5991 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 8647 find mayInstanceOfTransition_class(problem,interpretation,newObject);
5992 find mayExist(problem, interpretation, newObject); 8648 find mayExist(problem, interpretation, newObject);
5993 neg find mustExist(problem, interpretation, newObject); 8649 neg find mustExist(problem, interpretation, newObject);
5994} 8650}
@@ -5996,31 +8652,18 @@ pattern createObject_Synchronization_class(
5996////////// 8652//////////
5997// 4.2 Type refinement 8653// 4.2 Type refinement
5998////////// 8654//////////
5999pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 8655pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6000 find interpretation(problem,interpretation); 8656 find interpretation(problem,interpretation);
6001 PartialInterpretation.newElements(interpretation,element); 8657 PartialInterpretation.newElements(interpretation,element);
6002 find mayInstanceOfEntry_class(problem,interpretation,element); 8658 find mayInstanceOfExit_class(problem,interpretation,element);
6003 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8659 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6004 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6005 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6006 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6007 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6008 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6009 neg find mustInstanceOfExit_class(problem,interpretation,element); 8660 neg find mustInstanceOfExit_class(problem,interpretation,element);
6010 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 8661 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6011}
6012pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6013 find interpretation(problem,interpretation);
6014 PartialInterpretation.newElements(interpretation,element);
6015 find mayInstanceOfChoice_class(problem,interpretation,element);
6016 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6017 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6018 neg find mustInstanceOfChoice_class(problem,interpretation,element); 8662 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8663 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6019 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8664 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6020 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6021 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 8665 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6022 neg find mustInstanceOfExit_class(problem,interpretation,element); 8666 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6023 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6024} 8667}
6025pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 8668pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6026 find interpretation(problem,interpretation); 8669 find interpretation(problem,interpretation);
@@ -6028,73 +8671,86 @@ pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInt
6028 find mayInstanceOfState_class(problem,interpretation,element); 8671 find mayInstanceOfState_class(problem,interpretation,element);
6029 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 8672 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6030 neg find mustInstanceOfState_class(problem,interpretation,element); 8673 neg find mustInstanceOfState_class(problem,interpretation,element);
6031 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8674 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6032 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8675 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8676 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6033 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 8677 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
6034 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6035} 8678}
6036pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 8679pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6037 find interpretation(problem,interpretation); 8680 find interpretation(problem,interpretation);
6038 PartialInterpretation.newElements(interpretation,element); 8681 PartialInterpretation.newElements(interpretation,element);
6039 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 8682 find mayInstanceOfSynchronization_class(problem,interpretation,element);
6040 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 8683 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
8684 neg find mustInstanceOfExit_class(problem,interpretation,element);
8685 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
8686 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8687 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6041 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8688 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8689 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6042 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8690 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6043 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6044} 8691}
6045pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 8692pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6046 find interpretation(problem,interpretation); 8693 find interpretation(problem,interpretation);
6047 PartialInterpretation.newElements(interpretation,element); 8694 PartialInterpretation.newElements(interpretation,element);
6048 find mayInstanceOfTransition_class(problem,interpretation,element); 8695 find mayInstanceOfChoice_class(problem,interpretation,element);
6049 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8696 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
8697 neg find mustInstanceOfExit_class(problem,interpretation,element);
8698 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
8699 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8700 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6050 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8701 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8702 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6051 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8703 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6052 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6053} 8704}
6054pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 8705pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6055 find interpretation(problem,interpretation); 8706 find interpretation(problem,interpretation);
6056 PartialInterpretation.newElements(interpretation,element); 8707 PartialInterpretation.newElements(interpretation,element);
6057 find mayInstanceOfRegion_class(problem,interpretation,element); 8708 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
6058 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8709 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
6059 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6060 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6061 neg find mustInstanceOfVertex_class(problem,interpretation,element); 8710 neg find mustInstanceOfVertex_class(problem,interpretation,element);
8711 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8712 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6062} 8713}
6063pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 8714pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6064 find interpretation(problem,interpretation); 8715 find interpretation(problem,interpretation);
6065 PartialInterpretation.newElements(interpretation,element); 8716 PartialInterpretation.newElements(interpretation,element);
6066 find mayInstanceOfFinalState_class(problem,interpretation,element); 8717 find mayInstanceOfFinalState_class(problem,interpretation,element);
6067 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6068 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8718 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
8719 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
8720 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6069 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8721 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6070 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8722 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6071 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6072} 8723}
6073pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 8724pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6074 find interpretation(problem,interpretation); 8725 find interpretation(problem,interpretation);
6075 PartialInterpretation.newElements(interpretation,element); 8726 PartialInterpretation.newElements(interpretation,element);
6076 find mayInstanceOfExit_class(problem,interpretation,element); 8727 find mayInstanceOfEntry_class(problem,interpretation,element);
6077 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6078 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8728 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
8729 neg find mustInstanceOfExit_class(problem,interpretation,element);
8730 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6079 neg find mustInstanceOfChoice_class(problem,interpretation,element); 8731 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8732 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6080 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8733 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6081 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6082 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 8734 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6083 neg find mustInstanceOfExit_class(problem,interpretation,element); 8735 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6084 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6085} 8736}
6086pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 8737pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
6087 find interpretation(problem,interpretation); 8738 find interpretation(problem,interpretation);
6088 PartialInterpretation.newElements(interpretation,element); 8739 PartialInterpretation.newElements(interpretation,element);
6089 find mayInstanceOfSynchronization_class(problem,interpretation,element); 8740 find mayInstanceOfRegion_class(problem,interpretation,element);
6090 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8741 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6091 neg find mustInstanceOfEntry_class(problem,interpretation,element); 8742 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6092 neg find mustInstanceOfChoice_class(problem,interpretation,element); 8743 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8744 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8745}
8746pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
8747 find interpretation(problem,interpretation);
8748 PartialInterpretation.newElements(interpretation,element);
8749 find mayInstanceOfTransition_class(problem,interpretation,element);
8750 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
8751 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6093 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8752 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6094 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8753 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6095 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6096 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6097 neg find mustInstanceOfExit_class(problem,interpretation,element);
6098} 8754}
6099 8755
6100////////// 8756//////////
@@ -6223,27 +8879,27 @@ private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretat
6223{ 8879{
6224 find interpretation(problem,interpretation); 8880 find interpretation(problem,interpretation);
6225 PartialInterpretation.newElements(interpretation,element); 8881 PartialInterpretation.newElements(interpretation,element);
6226 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6227 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6228 neg find mustInstanceOfExit_class(problem,interpretation,element);
6229 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6230 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8882 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8883 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
8884 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6231 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8885 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6232 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 8886 neg find mustInstanceOfExit_class(problem,interpretation,element);
8887 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6233 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8888 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8889 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6234 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 8890 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
6235 neg find isPrimitive(element); 8891 neg find isPrimitive(element);
6236} or { 8892} or {
6237 find interpretation(problem,interpretation); 8893 find interpretation(problem,interpretation);
6238 PartialInterpretation.openWorldElements(interpretation,element); 8894 PartialInterpretation.openWorldElements(interpretation,element);
6239 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6240 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6241 neg find mustInstanceOfExit_class(problem,interpretation,element);
6242 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6243 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8895 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8896 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
8897 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6244 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8898 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6245 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 8899 neg find mustInstanceOfExit_class(problem,interpretation,element);
8900 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6246 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8901 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8902 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6247 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 8903 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
6248 neg find isPrimitive(element); 8904 neg find isPrimitive(element);
6249} or 8905} or
@@ -6271,9 +8927,9 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
6271{ 8927{
6272 find interpretation(problem,interpretation); 8928 find interpretation(problem,interpretation);
6273 PartialInterpretation.newElements(interpretation,element); 8929 PartialInterpretation.newElements(interpretation,element);
6274 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6275 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6276 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8930 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8931 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
8932 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6277 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8933 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6278 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8934 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6279 neg find scopeDisallowsNewVertex_class(problem, interpretation); 8935 neg find scopeDisallowsNewVertex_class(problem, interpretation);
@@ -6281,9 +8937,9 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
6281} or { 8937} or {
6282 find interpretation(problem,interpretation); 8938 find interpretation(problem,interpretation);
6283 PartialInterpretation.openWorldElements(interpretation,element); 8939 PartialInterpretation.openWorldElements(interpretation,element);
6284 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6285 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6286 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8940 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8941 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
8942 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6287 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8943 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6288 neg find mustInstanceOfRegion_class(problem,interpretation,element); 8944 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6289 neg find scopeDisallowsNewVertex_class(problem, interpretation); 8945 neg find scopeDisallowsNewVertex_class(problem, interpretation);
@@ -6313,17 +8969,17 @@ private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:P
6313{ 8969{
6314 find interpretation(problem,interpretation); 8970 find interpretation(problem,interpretation);
6315 PartialInterpretation.newElements(interpretation,element); 8971 PartialInterpretation.newElements(interpretation,element);
6316 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6317 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8972 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6318 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8973 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
8974 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6319 neg find scopeDisallowsNewRegion_class(problem, interpretation); 8975 neg find scopeDisallowsNewRegion_class(problem, interpretation);
6320 neg find isPrimitive(element); 8976 neg find isPrimitive(element);
6321} or { 8977} or {
6322 find interpretation(problem,interpretation); 8978 find interpretation(problem,interpretation);
6323 PartialInterpretation.openWorldElements(interpretation,element); 8979 PartialInterpretation.openWorldElements(interpretation,element);
6324 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6325 neg find mustInstanceOfTransition_class(problem,interpretation,element); 8980 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6326 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 8981 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
8982 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6327 neg find scopeDisallowsNewRegion_class(problem, interpretation); 8983 neg find scopeDisallowsNewRegion_class(problem, interpretation);
6328 neg find isPrimitive(element); 8984 neg find isPrimitive(element);
6329} or 8985} or
@@ -6351,16 +9007,16 @@ private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretati
6351{ 9007{
6352 find interpretation(problem,interpretation); 9008 find interpretation(problem,interpretation);
6353 PartialInterpretation.newElements(interpretation,element); 9009 PartialInterpretation.newElements(interpretation,element);
6354 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6355 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9010 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9011 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6356 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9012 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6357 neg find scopeDisallowsNewTransition_class(problem, interpretation); 9013 neg find scopeDisallowsNewTransition_class(problem, interpretation);
6358 neg find isPrimitive(element); 9014 neg find isPrimitive(element);
6359} or { 9015} or {
6360 find interpretation(problem,interpretation); 9016 find interpretation(problem,interpretation);
6361 PartialInterpretation.openWorldElements(interpretation,element); 9017 PartialInterpretation.openWorldElements(interpretation,element);
6362 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6363 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9018 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9019 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6364 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9020 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6365 neg find scopeDisallowsNewTransition_class(problem, interpretation); 9021 neg find scopeDisallowsNewTransition_class(problem, interpretation);
6366 neg find isPrimitive(element); 9022 neg find isPrimitive(element);
@@ -6389,19 +9045,19 @@ private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretati
6389{ 9045{
6390 find interpretation(problem,interpretation); 9046 find interpretation(problem,interpretation);
6391 PartialInterpretation.newElements(interpretation,element); 9047 PartialInterpretation.newElements(interpretation,element);
6392 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
6393 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6394 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9048 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9049 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6395 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9050 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9051 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
6396 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 9052 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
6397 neg find isPrimitive(element); 9053 neg find isPrimitive(element);
6398} or { 9054} or {
6399 find interpretation(problem,interpretation); 9055 find interpretation(problem,interpretation);
6400 PartialInterpretation.openWorldElements(interpretation,element); 9056 PartialInterpretation.openWorldElements(interpretation,element);
6401 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
6402 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6403 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9057 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9058 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6404 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9059 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9060 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
6405 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 9061 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
6406 neg find isPrimitive(element); 9062 neg find isPrimitive(element);
6407} or 9063} or
@@ -6429,11 +9085,11 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
6429{ 9085{
6430 find interpretation(problem,interpretation); 9086 find interpretation(problem,interpretation);
6431 PartialInterpretation.newElements(interpretation,element); 9087 PartialInterpretation.newElements(interpretation,element);
6432 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6433 neg find mustInstanceOfExit_class(problem,interpretation,element);
6434 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 9088 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
9089 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6435 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9090 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6436 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9091 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9092 neg find mustInstanceOfExit_class(problem,interpretation,element);
6437 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 9093 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6438 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9094 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6439 neg find scopeDisallowsNewEntry_class(problem, interpretation); 9095 neg find scopeDisallowsNewEntry_class(problem, interpretation);
@@ -6441,11 +9097,11 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
6441} or { 9097} or {
6442 find interpretation(problem,interpretation); 9098 find interpretation(problem,interpretation);
6443 PartialInterpretation.openWorldElements(interpretation,element); 9099 PartialInterpretation.openWorldElements(interpretation,element);
6444 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6445 neg find mustInstanceOfExit_class(problem,interpretation,element);
6446 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 9100 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
9101 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6447 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9102 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6448 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9103 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9104 neg find mustInstanceOfExit_class(problem,interpretation,element);
6449 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 9105 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6450 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9106 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6451 neg find scopeDisallowsNewEntry_class(problem, interpretation); 9107 neg find scopeDisallowsNewEntry_class(problem, interpretation);
@@ -6476,11 +9132,11 @@ private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpr
6476 find interpretation(problem,interpretation); 9132 find interpretation(problem,interpretation);
6477 PartialInterpretation.newElements(interpretation,element); 9133 PartialInterpretation.newElements(interpretation,element);
6478 neg find mustInstanceOfChoice_class(problem,interpretation,element); 9134 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6479 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6480 neg find mustInstanceOfExit_class(problem,interpretation,element);
6481 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 9135 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6482 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9136 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6483 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9137 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9138 neg find mustInstanceOfExit_class(problem,interpretation,element);
9139 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6484 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9140 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6485 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 9141 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
6486 neg find isPrimitive(element); 9142 neg find isPrimitive(element);
@@ -6488,11 +9144,11 @@ private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpr
6488 find interpretation(problem,interpretation); 9144 find interpretation(problem,interpretation);
6489 PartialInterpretation.openWorldElements(interpretation,element); 9145 PartialInterpretation.openWorldElements(interpretation,element);
6490 neg find mustInstanceOfChoice_class(problem,interpretation,element); 9146 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6491 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6492 neg find mustInstanceOfExit_class(problem,interpretation,element);
6493 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 9147 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6494 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9148 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6495 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9149 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9150 neg find mustInstanceOfExit_class(problem,interpretation,element);
9151 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6496 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9152 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6497 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 9153 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
6498 neg find isPrimitive(element); 9154 neg find isPrimitive(element);
@@ -6521,21 +9177,21 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
6521{ 9177{
6522 find interpretation(problem,interpretation); 9178 find interpretation(problem,interpretation);
6523 PartialInterpretation.newElements(interpretation,element); 9179 PartialInterpretation.newElements(interpretation,element);
6524 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6525 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6526 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9180 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9181 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6527 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 9182 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
6528 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9183 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9184 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6529 neg find scopeDisallowsNewState_class(problem, interpretation); 9185 neg find scopeDisallowsNewState_class(problem, interpretation);
6530 neg find isPrimitive(element); 9186 neg find isPrimitive(element);
6531} or { 9187} or {
6532 find interpretation(problem,interpretation); 9188 find interpretation(problem,interpretation);
6533 PartialInterpretation.openWorldElements(interpretation,element); 9189 PartialInterpretation.openWorldElements(interpretation,element);
6534 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6535 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6536 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9190 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9191 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6537 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 9192 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
6538 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9193 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9194 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6539 neg find scopeDisallowsNewState_class(problem, interpretation); 9195 neg find scopeDisallowsNewState_class(problem, interpretation);
6540 neg find isPrimitive(element); 9196 neg find isPrimitive(element);
6541} or 9197} or
@@ -6563,21 +9219,21 @@ private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpreta
6563{ 9219{
6564 find interpretation(problem,interpretation); 9220 find interpretation(problem,interpretation);
6565 PartialInterpretation.newElements(interpretation,element); 9221 PartialInterpretation.newElements(interpretation,element);
6566 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6567 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6568 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9222 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9223 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6569 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9224 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6570 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9225 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9226 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6571 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 9227 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
6572 neg find isPrimitive(element); 9228 neg find isPrimitive(element);
6573} or { 9229} or {
6574 find interpretation(problem,interpretation); 9230 find interpretation(problem,interpretation);
6575 PartialInterpretation.openWorldElements(interpretation,element); 9231 PartialInterpretation.openWorldElements(interpretation,element);
6576 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6577 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6578 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9232 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9233 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6579 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9234 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6580 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9235 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9236 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
6581 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 9237 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
6582 neg find isPrimitive(element); 9238 neg find isPrimitive(element);
6583} or 9239} or
@@ -6605,21 +9261,21 @@ private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interp
6605{ 9261{
6606 find interpretation(problem,interpretation); 9262 find interpretation(problem,interpretation);
6607 PartialInterpretation.newElements(interpretation,element); 9263 PartialInterpretation.newElements(interpretation,element);
6608 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
6609 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6610 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9264 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9265 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6611 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 9266 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
6612 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9267 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9268 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
6613 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 9269 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
6614 neg find isPrimitive(element); 9270 neg find isPrimitive(element);
6615} or { 9271} or {
6616 find interpretation(problem,interpretation); 9272 find interpretation(problem,interpretation);
6617 PartialInterpretation.openWorldElements(interpretation,element); 9273 PartialInterpretation.openWorldElements(interpretation,element);
6618 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
6619 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6620 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9274 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9275 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6621 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 9276 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
6622 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9277 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9278 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
6623 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 9279 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
6624 neg find isPrimitive(element); 9280 neg find isPrimitive(element);
6625} or 9281} or
@@ -6647,11 +9303,11 @@ private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:P
6647{ 9303{
6648 find interpretation(problem,interpretation); 9304 find interpretation(problem,interpretation);
6649 PartialInterpretation.newElements(interpretation,element); 9305 PartialInterpretation.newElements(interpretation,element);
6650 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6651 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 9306 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6652 neg find mustInstanceOfExit_class(problem,interpretation,element);
6653 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9307 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6654 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9308 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9309 neg find mustInstanceOfExit_class(problem,interpretation,element);
9310 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6655 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9311 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6656 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 9312 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6657 neg find scopeDisallowsNewChoice_class(problem, interpretation); 9313 neg find scopeDisallowsNewChoice_class(problem, interpretation);
@@ -6659,11 +9315,11 @@ private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:P
6659} or { 9315} or {
6660 find interpretation(problem,interpretation); 9316 find interpretation(problem,interpretation);
6661 PartialInterpretation.openWorldElements(interpretation,element); 9317 PartialInterpretation.openWorldElements(interpretation,element);
6662 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6663 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 9318 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6664 neg find mustInstanceOfExit_class(problem,interpretation,element);
6665 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9319 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6666 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9320 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9321 neg find mustInstanceOfExit_class(problem,interpretation,element);
9322 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6667 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9323 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6668 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 9324 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6669 neg find scopeDisallowsNewChoice_class(problem, interpretation); 9325 neg find scopeDisallowsNewChoice_class(problem, interpretation);
@@ -6693,11 +9349,11 @@ private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:Par
6693{ 9349{
6694 find interpretation(problem,interpretation); 9350 find interpretation(problem,interpretation);
6695 PartialInterpretation.newElements(interpretation,element); 9351 PartialInterpretation.newElements(interpretation,element);
9352 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6696 neg find mustInstanceOfChoice_class(problem,interpretation,element); 9353 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6697 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6698 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 9354 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6699 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6700 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9355 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9356 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6701 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 9357 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6702 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9358 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6703 neg find scopeDisallowsNewExit_class(problem, interpretation); 9359 neg find scopeDisallowsNewExit_class(problem, interpretation);
@@ -6705,11 +9361,11 @@ private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:Par
6705} or { 9361} or {
6706 find interpretation(problem,interpretation); 9362 find interpretation(problem,interpretation);
6707 PartialInterpretation.openWorldElements(interpretation,element); 9363 PartialInterpretation.openWorldElements(interpretation,element);
9364 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6708 neg find mustInstanceOfChoice_class(problem,interpretation,element); 9365 neg find mustInstanceOfChoice_class(problem,interpretation,element);
6709 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6710 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 9366 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
6711 neg find mustInstanceOfTransition_class(problem,interpretation,element);
6712 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9367 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9368 neg find mustInstanceOfEntry_class(problem,interpretation,element);
6713 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 9369 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
6714 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9370 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6715 neg find scopeDisallowsNewExit_class(problem, interpretation); 9371 neg find scopeDisallowsNewExit_class(problem, interpretation);
@@ -6739,8 +9395,8 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
6739{ 9395{
6740 find interpretation(problem,interpretation); 9396 find interpretation(problem,interpretation);
6741 PartialInterpretation.newElements(interpretation,element); 9397 PartialInterpretation.newElements(interpretation,element);
6742 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6743 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9398 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9399 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6744 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9400 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6745 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9401 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6746 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 9402 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
@@ -6748,8 +9404,8 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
6748} or { 9404} or {
6749 find interpretation(problem,interpretation); 9405 find interpretation(problem,interpretation);
6750 PartialInterpretation.openWorldElements(interpretation,element); 9406 PartialInterpretation.openWorldElements(interpretation,element);
6751 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6752 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9407 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9408 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
6753 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 9409 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
6754 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9410 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6755 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 9411 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
@@ -6800,16 +9456,16 @@ private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem
6800{ 9456{
6801 find interpretation(problem,interpretation); 9457 find interpretation(problem,interpretation);
6802 PartialInterpretation.newElements(interpretation,element); 9458 PartialInterpretation.newElements(interpretation,element);
6803 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6804 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9459 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9460 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6805 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9461 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6806 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 9462 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
6807 neg find isPrimitive(element); 9463 neg find isPrimitive(element);
6808} or { 9464} or {
6809 find interpretation(problem,interpretation); 9465 find interpretation(problem,interpretation);
6810 PartialInterpretation.openWorldElements(interpretation,element); 9466 PartialInterpretation.openWorldElements(interpretation,element);
6811 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6812 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9467 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9468 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6813 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9469 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6814 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 9470 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
6815 neg find isPrimitive(element); 9471 neg find isPrimitive(element);
@@ -6859,8 +9515,8 @@ private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicP
6859{ 9515{
6860 find interpretation(problem,interpretation); 9516 find interpretation(problem,interpretation);
6861 PartialInterpretation.newElements(interpretation,element); 9517 PartialInterpretation.newElements(interpretation,element);
6862 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6863 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9518 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9519 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6864 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 9520 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
6865 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9521 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6866 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 9522 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
@@ -6868,8 +9524,8 @@ private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicP
6868} or { 9524} or {
6869 find interpretation(problem,interpretation); 9525 find interpretation(problem,interpretation);
6870 PartialInterpretation.openWorldElements(interpretation,element); 9526 PartialInterpretation.openWorldElements(interpretation,element);
6871 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6872 neg find mustInstanceOfTransition_class(problem,interpretation,element); 9527 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9528 neg find mustInstanceOfVertex_class(problem,interpretation,element);
6873 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 9529 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
6874 neg find mustInstanceOfRegion_class(problem,interpretation,element); 9530 neg find mustInstanceOfRegion_class(problem,interpretation,element);
6875 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 9531 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
@@ -8612,55 +11268,55 @@ pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_
8612private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 11268private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
8613{ 11269{
8614 find interpretation(problem,interpretation); 11270 find interpretation(problem,interpretation);
8615 find mustInstanceOfPseudostate_class(problem,interpretation,root); 11271 find mustInstanceOfEntry_class(problem,interpretation,root);
8616 find mustExist(problem, interpretation, root); 11272 find mustExist(problem, interpretation, root);
8617}or{ 11273}or{
8618 find interpretation(problem,interpretation); 11274 find interpretation(problem,interpretation);
8619 find mustInstanceOfVertex_class(problem,interpretation,root); 11275 find mustInstanceOfChoice_class(problem,interpretation,root);
8620 find mustExist(problem, interpretation, root); 11276 find mustExist(problem, interpretation, root);
8621}or{ 11277}or{
8622 find interpretation(problem,interpretation); 11278 find interpretation(problem,interpretation);
8623 find mustInstanceOfCompositeElement_class(problem,interpretation,root); 11279 find mustInstanceOfFinalState_class(problem,interpretation,root);
8624 find mustExist(problem, interpretation, root); 11280 find mustExist(problem, interpretation, root);
8625}or{ 11281}or{
8626 find interpretation(problem,interpretation); 11282 find interpretation(problem,interpretation);
8627 find mustInstanceOfFinalState_class(problem,interpretation,root); 11283 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
8628 find mustExist(problem, interpretation, root); 11284 find mustExist(problem, interpretation, root);
8629}or{ 11285}or{
8630 find interpretation(problem,interpretation); 11286 find interpretation(problem,interpretation);
8631 find mustInstanceOfTransition_class(problem,interpretation,root); 11287 find mustInstanceOfStatechart_class(problem,interpretation,root);
8632 find mustExist(problem, interpretation, root); 11288 find mustExist(problem, interpretation, root);
8633}or{ 11289}or{
8634 find interpretation(problem,interpretation); 11290 find interpretation(problem,interpretation);
8635 find mustInstanceOfRegion_class(problem,interpretation,root); 11291 find mustInstanceOfVertex_class(problem,interpretation,root);
8636 find mustExist(problem, interpretation, root); 11292 find mustExist(problem, interpretation, root);
8637}or{ 11293}or{
8638 find interpretation(problem,interpretation); 11294 find interpretation(problem,interpretation);
8639 find mustInstanceOfStatechart_class(problem,interpretation,root); 11295 find mustInstanceOfState_class(problem,interpretation,root);
8640 find mustExist(problem, interpretation, root); 11296 find mustExist(problem, interpretation, root);
8641}or{ 11297}or{
8642 find interpretation(problem,interpretation); 11298 find interpretation(problem,interpretation);
8643 find mustInstanceOfExit_class(problem,interpretation,root); 11299 find mustInstanceOfPseudostate_class(problem,interpretation,root);
8644 find mustExist(problem, interpretation, root); 11300 find mustExist(problem, interpretation, root);
8645}or{ 11301}or{
8646 find interpretation(problem,interpretation); 11302 find interpretation(problem,interpretation);
8647 find mustInstanceOfChoice_class(problem,interpretation,root); 11303 find mustInstanceOfExit_class(problem,interpretation,root);
8648 find mustExist(problem, interpretation, root); 11304 find mustExist(problem, interpretation, root);
8649}or{ 11305}or{
8650 find interpretation(problem,interpretation); 11306 find interpretation(problem,interpretation);
8651 find mustInstanceOfRegularState_class(problem,interpretation,root); 11307 find mustInstanceOfTransition_class(problem,interpretation,root);
8652 find mustExist(problem, interpretation, root); 11308 find mustExist(problem, interpretation, root);
8653}or{ 11309}or{
8654 find interpretation(problem,interpretation); 11310 find interpretation(problem,interpretation);
8655 find mustInstanceOfSynchronization_class(problem,interpretation,root); 11311 find mustInstanceOfRegularState_class(problem,interpretation,root);
8656 find mustExist(problem, interpretation, root); 11312 find mustExist(problem, interpretation, root);
8657}or{ 11313}or{
8658 find interpretation(problem,interpretation); 11314 find interpretation(problem,interpretation);
8659 find mustInstanceOfEntry_class(problem,interpretation,root); 11315 find mustInstanceOfRegion_class(problem,interpretation,root);
8660 find mustExist(problem, interpretation, root); 11316 find mustExist(problem, interpretation, root);
8661}or{ 11317}or{
8662 find interpretation(problem,interpretation); 11318 find interpretation(problem,interpretation);
8663 find mustInstanceOfState_class(problem,interpretation,root); 11319 find mustInstanceOfSynchronization_class(problem,interpretation,root);
8664 find mustExist(problem, interpretation, root); 11320 find mustExist(problem, interpretation, root);
8665}or{ 11321}or{
8666 find interpretation(problem,interpretation); 11322 find interpretation(problem,interpretation);
@@ -8679,87 +11335,89 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
8679 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root); 11335 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
8680 find mustExist(problem, interpretation, root); 11336 find mustExist(problem, interpretation, root);
8681} 11337}
8682pattern createObject_State_class_by_vertices_reference_Region( 11338pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
8683 problem:LogicProblem, interpretation:PartialInterpretation, 11339 problem:LogicProblem, interpretation:PartialInterpretation,
8684 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 11340 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
8685 container:DefinedElement) 11341 container:DefinedElement)
8686{ 11342{
8687 find interpretation(problem,interpretation); 11343 find interpretation(problem,interpretation);
8688 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11344 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8689 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 11345 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
8690 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 11346 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
8691 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 11347 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
8692 find mustInstanceOfRegion_class(problem,interpretation,container); 11348 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
8693 find mayInstanceOfState_class(problem,interpretation,newObject); 11349 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
8694 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 11350 find mustInstanceOfVertex_class(problem,interpretation,container);
11351 find mayInstanceOfTransition_class(problem,interpretation,newObject);
11352 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
8695 find mustExist(problem, interpretation, container); 11353 find mustExist(problem, interpretation, container);
8696 neg find mustExist(problem, interpretation, newObject); 11354 neg find mustExist(problem, interpretation, newObject);
8697} 11355}
8698pattern createObject_State_class( 11356pattern createObject_Transition_class(
8699 problem:LogicProblem, interpretation:PartialInterpretation, 11357 problem:LogicProblem, interpretation:PartialInterpretation,
8700 typeInterpretation:PartialComplexTypeInterpretation) 11358 typeInterpretation:PartialComplexTypeInterpretation)
8701{ 11359{
8702 find interpretation(problem,interpretation); 11360 find interpretation(problem,interpretation);
8703 neg find hasElementInContainment(problem,interpretation); 11361 neg find hasElementInContainment(problem,interpretation);
8704 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11362 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8705 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 11363 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
8706 find mayInstanceOfState_class(problem,interpretation,newObject); 11364 find mayInstanceOfTransition_class(problem,interpretation,newObject);
8707 find mayExist(problem, interpretation, newObject); 11365 find mayExist(problem, interpretation, newObject);
8708 neg find mustExist(problem, interpretation, newObject); 11366 neg find mustExist(problem, interpretation, newObject);
8709} 11367}
8710pattern createObject_FinalState_class_by_vertices_reference_Region( 11368pattern createObject_Choice_class_by_vertices_reference_Region(
8711 problem:LogicProblem, interpretation:PartialInterpretation, 11369 problem:LogicProblem, interpretation:PartialInterpretation,
8712 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 11370 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
8713 container:DefinedElement) 11371 container:DefinedElement)
8714{ 11372{
8715 find interpretation(problem,interpretation); 11373 find interpretation(problem,interpretation);
8716 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11374 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8717 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 11375 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
8718 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 11376 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
8719 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 11377 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
8720 find mustInstanceOfRegion_class(problem,interpretation,container); 11378 find mustInstanceOfRegion_class(problem,interpretation,container);
8721 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 11379 find mayInstanceOfChoice_class(problem,interpretation,newObject);
8722 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 11380 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
8723 find mustExist(problem, interpretation, container); 11381 find mustExist(problem, interpretation, container);
8724 neg find mustExist(problem, interpretation, newObject); 11382 neg find mustExist(problem, interpretation, newObject);
8725} 11383}
8726pattern createObject_FinalState_class( 11384pattern createObject_Choice_class(
8727 problem:LogicProblem, interpretation:PartialInterpretation, 11385 problem:LogicProblem, interpretation:PartialInterpretation,
8728 typeInterpretation:PartialComplexTypeInterpretation) 11386 typeInterpretation:PartialComplexTypeInterpretation)
8729{ 11387{
8730 find interpretation(problem,interpretation); 11388 find interpretation(problem,interpretation);
8731 neg find hasElementInContainment(problem,interpretation); 11389 neg find hasElementInContainment(problem,interpretation);
8732 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11390 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8733 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 11391 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
8734 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 11392 find mayInstanceOfChoice_class(problem,interpretation,newObject);
8735 find mayExist(problem, interpretation, newObject); 11393 find mayExist(problem, interpretation, newObject);
8736 neg find mustExist(problem, interpretation, newObject); 11394 neg find mustExist(problem, interpretation, newObject);
8737} 11395}
8738pattern createObject_Choice_class_by_vertices_reference_Region( 11396pattern createObject_Exit_class_by_vertices_reference_Region(
8739 problem:LogicProblem, interpretation:PartialInterpretation, 11397 problem:LogicProblem, interpretation:PartialInterpretation,
8740 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 11398 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
8741 container:DefinedElement) 11399 container:DefinedElement)
8742{ 11400{
8743 find interpretation(problem,interpretation); 11401 find interpretation(problem,interpretation);
8744 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11402 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8745 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 11403 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
8746 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 11404 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
8747 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 11405 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
8748 find mustInstanceOfRegion_class(problem,interpretation,container); 11406 find mustInstanceOfRegion_class(problem,interpretation,container);
8749 find mayInstanceOfChoice_class(problem,interpretation,newObject); 11407 find mayInstanceOfExit_class(problem,interpretation,newObject);
8750 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 11408 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
8751 find mustExist(problem, interpretation, container); 11409 find mustExist(problem, interpretation, container);
8752 neg find mustExist(problem, interpretation, newObject); 11410 neg find mustExist(problem, interpretation, newObject);
8753} 11411}
8754pattern createObject_Choice_class( 11412pattern createObject_Exit_class(
8755 problem:LogicProblem, interpretation:PartialInterpretation, 11413 problem:LogicProblem, interpretation:PartialInterpretation,
8756 typeInterpretation:PartialComplexTypeInterpretation) 11414 typeInterpretation:PartialComplexTypeInterpretation)
8757{ 11415{
8758 find interpretation(problem,interpretation); 11416 find interpretation(problem,interpretation);
8759 neg find hasElementInContainment(problem,interpretation); 11417 neg find hasElementInContainment(problem,interpretation);
8760 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11418 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8761 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 11419 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
8762 find mayInstanceOfChoice_class(problem,interpretation,newObject); 11420 find mayInstanceOfExit_class(problem,interpretation,newObject);
8763 find mayExist(problem, interpretation, newObject); 11421 find mayExist(problem, interpretation, newObject);
8764 neg find mustExist(problem, interpretation, newObject); 11422 neg find mustExist(problem, interpretation, newObject);
8765} 11423}
@@ -8791,129 +11449,127 @@ pattern createObject_Entry_class(
8791 find mayExist(problem, interpretation, newObject); 11449 find mayExist(problem, interpretation, newObject);
8792 neg find mustExist(problem, interpretation, newObject); 11450 neg find mustExist(problem, interpretation, newObject);
8793} 11451}
8794pattern createObject_Statechart_class_UndefinedPart( 11452pattern createObject_Region_class_by_regions_reference_CompositeElement(
11453 problem:LogicProblem, interpretation:PartialInterpretation,
11454 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
11455 container:DefinedElement)
11456{
11457 find interpretation(problem,interpretation);
11458 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11459 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
11460 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
11461 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement");
11462 find mustInstanceOfCompositeElement_class(problem,interpretation,container);
11463 find mayInstanceOfRegion_class(problem,interpretation,newObject);
11464 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject);
11465 find mustExist(problem, interpretation, container);
11466 neg find mustExist(problem, interpretation, newObject);
11467}
11468pattern createObject_Region_class(
8795 problem:LogicProblem, interpretation:PartialInterpretation, 11469 problem:LogicProblem, interpretation:PartialInterpretation,
8796 typeInterpretation:PartialComplexTypeInterpretation) 11470 typeInterpretation:PartialComplexTypeInterpretation)
8797{ 11471{
8798 find interpretation(problem,interpretation); 11472 find interpretation(problem,interpretation);
8799 neg find hasElementInContainment(problem,interpretation); 11473 neg find hasElementInContainment(problem,interpretation);
8800 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11474 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8801 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart"); 11475 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
8802 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject); 11476 find mayInstanceOfRegion_class(problem,interpretation,newObject);
8803 find mayExist(problem, interpretation, newObject); 11477 find mayExist(problem, interpretation, newObject);
8804 neg find mustExist(problem, interpretation, newObject); 11478 neg find mustExist(problem, interpretation, newObject);
8805} 11479}
8806pattern createObject_Exit_class_by_vertices_reference_Region( 11480pattern createObject_Synchronization_class_by_vertices_reference_Region(
8807 problem:LogicProblem, interpretation:PartialInterpretation, 11481 problem:LogicProblem, interpretation:PartialInterpretation,
8808 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 11482 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
8809 container:DefinedElement) 11483 container:DefinedElement)
8810{ 11484{
8811 find interpretation(problem,interpretation); 11485 find interpretation(problem,interpretation);
8812 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11486 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8813 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 11487 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
8814 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 11488 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
8815 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 11489 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
8816 find mustInstanceOfRegion_class(problem,interpretation,container); 11490 find mustInstanceOfRegion_class(problem,interpretation,container);
8817 find mayInstanceOfExit_class(problem,interpretation,newObject); 11491 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
8818 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 11492 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
8819 find mustExist(problem, interpretation, container); 11493 find mustExist(problem, interpretation, container);
8820 neg find mustExist(problem, interpretation, newObject); 11494 neg find mustExist(problem, interpretation, newObject);
8821} 11495}
8822pattern createObject_Exit_class( 11496pattern createObject_Synchronization_class(
8823 problem:LogicProblem, interpretation:PartialInterpretation, 11497 problem:LogicProblem, interpretation:PartialInterpretation,
8824 typeInterpretation:PartialComplexTypeInterpretation) 11498 typeInterpretation:PartialComplexTypeInterpretation)
8825{ 11499{
8826 find interpretation(problem,interpretation); 11500 find interpretation(problem,interpretation);
8827 neg find hasElementInContainment(problem,interpretation); 11501 neg find hasElementInContainment(problem,interpretation);
8828 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11502 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8829 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 11503 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
8830 find mayInstanceOfExit_class(problem,interpretation,newObject); 11504 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
8831 find mayExist(problem, interpretation, newObject); 11505 find mayExist(problem, interpretation, newObject);
8832 neg find mustExist(problem, interpretation, newObject); 11506 neg find mustExist(problem, interpretation, newObject);
8833} 11507}
8834pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( 11508pattern createObject_Statechart_class_UndefinedPart(
8835 problem:LogicProblem, interpretation:PartialInterpretation,
8836 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
8837 container:DefinedElement)
8838{
8839 find interpretation(problem,interpretation);
8840 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8841 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
8842 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
8843 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
8844 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
8845 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
8846 find mustInstanceOfVertex_class(problem,interpretation,container);
8847 find mayInstanceOfTransition_class(problem,interpretation,newObject);
8848 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
8849 find mustExist(problem, interpretation, container);
8850 neg find mustExist(problem, interpretation, newObject);
8851}
8852pattern createObject_Transition_class(
8853 problem:LogicProblem, interpretation:PartialInterpretation, 11509 problem:LogicProblem, interpretation:PartialInterpretation,
8854 typeInterpretation:PartialComplexTypeInterpretation) 11510 typeInterpretation:PartialComplexTypeInterpretation)
8855{ 11511{
8856 find interpretation(problem,interpretation); 11512 find interpretation(problem,interpretation);
8857 neg find hasElementInContainment(problem,interpretation); 11513 neg find hasElementInContainment(problem,interpretation);
8858 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11514 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8859 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 11515 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart");
8860 find mayInstanceOfTransition_class(problem,interpretation,newObject); 11516 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject);
8861 find mayExist(problem, interpretation, newObject); 11517 find mayExist(problem, interpretation, newObject);
8862 neg find mustExist(problem, interpretation, newObject); 11518 neg find mustExist(problem, interpretation, newObject);
8863} 11519}
8864pattern createObject_Region_class_by_regions_reference_CompositeElement( 11520pattern createObject_FinalState_class_by_vertices_reference_Region(
8865 problem:LogicProblem, interpretation:PartialInterpretation, 11521 problem:LogicProblem, interpretation:PartialInterpretation,
8866 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 11522 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
8867 container:DefinedElement) 11523 container:DefinedElement)
8868{ 11524{
8869 find interpretation(problem,interpretation); 11525 find interpretation(problem,interpretation);
8870 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11526 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8871 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class"); 11527 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
8872 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 11528 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
8873 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement"); 11529 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
8874 find mustInstanceOfCompositeElement_class(problem,interpretation,container); 11530 find mustInstanceOfRegion_class(problem,interpretation,container);
8875 find mayInstanceOfRegion_class(problem,interpretation,newObject); 11531 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
8876 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject); 11532 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
8877 find mustExist(problem, interpretation, container); 11533 find mustExist(problem, interpretation, container);
8878 neg find mustExist(problem, interpretation, newObject); 11534 neg find mustExist(problem, interpretation, newObject);
8879} 11535}
8880pattern createObject_Region_class( 11536pattern createObject_FinalState_class(
8881 problem:LogicProblem, interpretation:PartialInterpretation, 11537 problem:LogicProblem, interpretation:PartialInterpretation,
8882 typeInterpretation:PartialComplexTypeInterpretation) 11538 typeInterpretation:PartialComplexTypeInterpretation)
8883{ 11539{
8884 find interpretation(problem,interpretation); 11540 find interpretation(problem,interpretation);
8885 neg find hasElementInContainment(problem,interpretation); 11541 neg find hasElementInContainment(problem,interpretation);
8886 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11542 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8887 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class"); 11543 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
8888 find mayInstanceOfRegion_class(problem,interpretation,newObject); 11544 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
8889 find mayExist(problem, interpretation, newObject); 11545 find mayExist(problem, interpretation, newObject);
8890 neg find mustExist(problem, interpretation, newObject); 11546 neg find mustExist(problem, interpretation, newObject);
8891} 11547}
8892pattern createObject_Synchronization_class_by_vertices_reference_Region( 11548pattern createObject_State_class_by_vertices_reference_Region(
8893 problem:LogicProblem, interpretation:PartialInterpretation, 11549 problem:LogicProblem, interpretation:PartialInterpretation,
8894 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 11550 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
8895 container:DefinedElement) 11551 container:DefinedElement)
8896{ 11552{
8897 find interpretation(problem,interpretation); 11553 find interpretation(problem,interpretation);
8898 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11554 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8899 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 11555 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
8900 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 11556 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
8901 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 11557 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
8902 find mustInstanceOfRegion_class(problem,interpretation,container); 11558 find mustInstanceOfRegion_class(problem,interpretation,container);
8903 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 11559 find mayInstanceOfState_class(problem,interpretation,newObject);
8904 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 11560 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
8905 find mustExist(problem, interpretation, container); 11561 find mustExist(problem, interpretation, container);
8906 neg find mustExist(problem, interpretation, newObject); 11562 neg find mustExist(problem, interpretation, newObject);
8907} 11563}
8908pattern createObject_Synchronization_class( 11564pattern createObject_State_class(
8909 problem:LogicProblem, interpretation:PartialInterpretation, 11565 problem:LogicProblem, interpretation:PartialInterpretation,
8910 typeInterpretation:PartialComplexTypeInterpretation) 11566 typeInterpretation:PartialComplexTypeInterpretation)
8911{ 11567{
8912 find interpretation(problem,interpretation); 11568 find interpretation(problem,interpretation);
8913 neg find hasElementInContainment(problem,interpretation); 11569 neg find hasElementInContainment(problem,interpretation);
8914 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 11570 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
8915 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 11571 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
8916 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 11572 find mayInstanceOfState_class(problem,interpretation,newObject);
8917 find mayExist(problem, interpretation, newObject); 11573 find mayExist(problem, interpretation, newObject);
8918 neg find mustExist(problem, interpretation, newObject); 11574 neg find mustExist(problem, interpretation, newObject);
8919} 11575}
@@ -8921,105 +11577,105 @@ pattern createObject_Synchronization_class(
8921////////// 11577//////////
8922// 4.2 Type refinement 11578// 4.2 Type refinement
8923////////// 11579//////////
8924pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11580pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
8925 find interpretation(problem,interpretation); 11581 find interpretation(problem,interpretation);
8926 PartialInterpretation.newElements(interpretation,element); 11582 PartialInterpretation.newElements(interpretation,element);
8927 find mayInstanceOfState_class(problem,interpretation,element); 11583 find mayInstanceOfTransition_class(problem,interpretation,element);
8928 neg find mustInstanceOfState_class(problem,interpretation,element);
8929 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
8930 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
8931 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11584 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8932 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 11585 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11586 neg find mustInstanceOfVertex_class(problem,interpretation,element);
8933 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11587 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8934} 11588}
8935pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11589pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
8936 find interpretation(problem,interpretation); 11590 find interpretation(problem,interpretation);
8937 PartialInterpretation.newElements(interpretation,element); 11591 PartialInterpretation.newElements(interpretation,element);
8938 find mayInstanceOfFinalState_class(problem,interpretation,element); 11592 find mayInstanceOfChoice_class(problem,interpretation,element);
8939 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 11593 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
8940 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
8941 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11594 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11595 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8942 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11596 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11597 neg find mustInstanceOfExit_class(problem,interpretation,element);
11598 neg find mustInstanceOfEntry_class(problem,interpretation,element);
8943 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11599 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11600 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
8944} 11601}
8945pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11602pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
8946 find interpretation(problem,interpretation); 11603 find interpretation(problem,interpretation);
8947 PartialInterpretation.newElements(interpretation,element); 11604 PartialInterpretation.newElements(interpretation,element);
8948 find mayInstanceOfChoice_class(problem,interpretation,element); 11605 find mayInstanceOfExit_class(problem,interpretation,element);
11606 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8949 neg find mustInstanceOfChoice_class(problem,interpretation,element); 11607 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8950 neg find mustInstanceOfEntry_class(problem,interpretation,element);
8951 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 11608 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
8952 neg find mustInstanceOfExit_class(problem,interpretation,element);
8953 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8954 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11609 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
8955 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11610 neg find mustInstanceOfExit_class(problem,interpretation,element);
11611 neg find mustInstanceOfEntry_class(problem,interpretation,element);
8956 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 11612 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
11613 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8957} 11614}
8958pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11615pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
8959 find interpretation(problem,interpretation); 11616 find interpretation(problem,interpretation);
8960 PartialInterpretation.newElements(interpretation,element); 11617 PartialInterpretation.newElements(interpretation,element);
8961 find mayInstanceOfEntry_class(problem,interpretation,element); 11618 find mayInstanceOfEntry_class(problem,interpretation,element);
8962 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8963 neg find mustInstanceOfEntry_class(problem,interpretation,element);
8964 neg find mustInstanceOfExit_class(problem,interpretation,element);
8965 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 11619 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
11620 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8966 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11621 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8967 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11622 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11623 neg find mustInstanceOfExit_class(problem,interpretation,element);
11624 neg find mustInstanceOfEntry_class(problem,interpretation,element);
8968 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 11625 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
8969 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11626 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8970} 11627}
8971pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11628pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
8972 find interpretation(problem,interpretation); 11629 find interpretation(problem,interpretation);
8973 PartialInterpretation.newElements(interpretation,element); 11630 PartialInterpretation.newElements(interpretation,element);
8974 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 11631 find mayInstanceOfRegion_class(problem,interpretation,element);
8975 neg find mustInstanceOfVertex_class(problem,interpretation,element);
8976 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
8977 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11632 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11633 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11634 neg find mustInstanceOfVertex_class(problem,interpretation,element);
8978 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11635 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8979} 11636}
8980pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11637pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
8981 find interpretation(problem,interpretation); 11638 find interpretation(problem,interpretation);
8982 PartialInterpretation.newElements(interpretation,element); 11639 PartialInterpretation.newElements(interpretation,element);
8983 find mayInstanceOfExit_class(problem,interpretation,element); 11640 find mayInstanceOfSynchronization_class(problem,interpretation,element);
8984 neg find mustInstanceOfChoice_class(problem,interpretation,element); 11641 neg find mustInstanceOfChoice_class(problem,interpretation,element);
8985 neg find mustInstanceOfEntry_class(problem,interpretation,element);
8986 neg find mustInstanceOfExit_class(problem,interpretation,element);
8987 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 11642 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
8988 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11643 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8989 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11644 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11645 neg find mustInstanceOfExit_class(problem,interpretation,element);
11646 neg find mustInstanceOfEntry_class(problem,interpretation,element);
8990 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 11647 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
8991 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11648 neg find mustInstanceOfRegion_class(problem,interpretation,element);
8992} 11649}
8993pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11650pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
8994 find interpretation(problem,interpretation); 11651 find interpretation(problem,interpretation);
8995 PartialInterpretation.newElements(interpretation,element); 11652 PartialInterpretation.newElements(interpretation,element);
8996 find mayInstanceOfTransition_class(problem,interpretation,element); 11653 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
8997 neg find mustInstanceOfVertex_class(problem,interpretation,element);
8998 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11654 neg find mustInstanceOfTransition_class(problem,interpretation,element);
8999 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11655 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9000 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11656 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11657 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
9001} 11658}
9002pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11659pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
9003 find interpretation(problem,interpretation); 11660 find interpretation(problem,interpretation);
9004 PartialInterpretation.newElements(interpretation,element); 11661 PartialInterpretation.newElements(interpretation,element);
9005 find mayInstanceOfRegion_class(problem,interpretation,element); 11662 find mayInstanceOfFinalState_class(problem,interpretation,element);
9006 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9007 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11663 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11664 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9008 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11665 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9009 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11666 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11667 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
9010} 11668}
9011pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 11669pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
9012 find interpretation(problem,interpretation); 11670 find interpretation(problem,interpretation);
9013 PartialInterpretation.newElements(interpretation,element); 11671 PartialInterpretation.newElements(interpretation,element);
9014 find mayInstanceOfSynchronization_class(problem,interpretation,element); 11672 find mayInstanceOfState_class(problem,interpretation,element);
9015 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9016 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9017 neg find mustInstanceOfExit_class(problem,interpretation,element);
9018 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
9019 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11673 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9020 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11674 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9021 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 11675 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
9022 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11676 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11677 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
11678 neg find mustInstanceOfState_class(problem,interpretation,element);
9023} 11679}
9024 11680
9025////////// 11681//////////
@@ -9148,26 +11804,26 @@ private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretat
9148{ 11804{
9149 find interpretation(problem,interpretation); 11805 find interpretation(problem,interpretation);
9150 PartialInterpretation.newElements(interpretation,element); 11806 PartialInterpretation.newElements(interpretation,element);
9151 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9152 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9153 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9154 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11807 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9155 neg find mustInstanceOfChoice_class(problem,interpretation,element); 11808 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9156 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11809 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11810 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9157 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 11811 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
11812 neg find mustInstanceOfEntry_class(problem,interpretation,element);
11813 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9158 neg find mustInstanceOfExit_class(problem,interpretation,element); 11814 neg find mustInstanceOfExit_class(problem,interpretation,element);
9159 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 11815 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
9160 neg find isPrimitive(element); 11816 neg find isPrimitive(element);
9161} or { 11817} or {
9162 find interpretation(problem,interpretation); 11818 find interpretation(problem,interpretation);
9163 PartialInterpretation.openWorldElements(interpretation,element); 11819 PartialInterpretation.openWorldElements(interpretation,element);
9164 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9165 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9166 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9167 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11820 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9168 neg find mustInstanceOfChoice_class(problem,interpretation,element); 11821 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9169 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11822 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11823 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9170 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 11824 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
11825 neg find mustInstanceOfEntry_class(problem,interpretation,element);
11826 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9171 neg find mustInstanceOfExit_class(problem,interpretation,element); 11827 neg find mustInstanceOfExit_class(problem,interpretation,element);
9172 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 11828 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
9173 neg find isPrimitive(element); 11829 neg find isPrimitive(element);
@@ -9196,21 +11852,21 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
9196{ 11852{
9197 find interpretation(problem,interpretation); 11853 find interpretation(problem,interpretation);
9198 PartialInterpretation.newElements(interpretation,element); 11854 PartialInterpretation.newElements(interpretation,element);
9199 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11855 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9200 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11856 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9201 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11857 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9202 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9203 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 11858 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
11859 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9204 neg find scopeDisallowsNewVertex_class(problem, interpretation); 11860 neg find scopeDisallowsNewVertex_class(problem, interpretation);
9205 neg find isPrimitive(element); 11861 neg find isPrimitive(element);
9206} or { 11862} or {
9207 find interpretation(problem,interpretation); 11863 find interpretation(problem,interpretation);
9208 PartialInterpretation.openWorldElements(interpretation,element); 11864 PartialInterpretation.openWorldElements(interpretation,element);
9209 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11865 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9210 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11866 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9211 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11867 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9212 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9213 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 11868 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
11869 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9214 neg find scopeDisallowsNewVertex_class(problem, interpretation); 11870 neg find scopeDisallowsNewVertex_class(problem, interpretation);
9215 neg find isPrimitive(element); 11871 neg find isPrimitive(element);
9216} or 11872} or
@@ -9238,17 +11894,17 @@ private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:P
9238{ 11894{
9239 find interpretation(problem,interpretation); 11895 find interpretation(problem,interpretation);
9240 PartialInterpretation.newElements(interpretation,element); 11896 PartialInterpretation.newElements(interpretation,element);
11897 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9241 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11898 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9242 neg find mustInstanceOfVertex_class(problem,interpretation,element); 11899 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9243 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9244 neg find scopeDisallowsNewRegion_class(problem, interpretation); 11900 neg find scopeDisallowsNewRegion_class(problem, interpretation);
9245 neg find isPrimitive(element); 11901 neg find isPrimitive(element);
9246} or { 11902} or {
9247 find interpretation(problem,interpretation); 11903 find interpretation(problem,interpretation);
9248 PartialInterpretation.openWorldElements(interpretation,element); 11904 PartialInterpretation.openWorldElements(interpretation,element);
11905 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9249 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11906 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9250 neg find mustInstanceOfVertex_class(problem,interpretation,element); 11907 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9251 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9252 neg find scopeDisallowsNewRegion_class(problem, interpretation); 11908 neg find scopeDisallowsNewRegion_class(problem, interpretation);
9253 neg find isPrimitive(element); 11909 neg find isPrimitive(element);
9254} or 11910} or
@@ -9276,17 +11932,17 @@ private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretati
9276{ 11932{
9277 find interpretation(problem,interpretation); 11933 find interpretation(problem,interpretation);
9278 PartialInterpretation.newElements(interpretation,element); 11934 PartialInterpretation.newElements(interpretation,element);
11935 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9279 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11936 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9280 neg find mustInstanceOfVertex_class(problem,interpretation,element); 11937 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9281 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9282 neg find scopeDisallowsNewTransition_class(problem, interpretation); 11938 neg find scopeDisallowsNewTransition_class(problem, interpretation);
9283 neg find isPrimitive(element); 11939 neg find isPrimitive(element);
9284} or { 11940} or {
9285 find interpretation(problem,interpretation); 11941 find interpretation(problem,interpretation);
9286 PartialInterpretation.openWorldElements(interpretation,element); 11942 PartialInterpretation.openWorldElements(interpretation,element);
11943 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9287 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 11944 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9288 neg find mustInstanceOfVertex_class(problem,interpretation,element); 11945 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9289 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9290 neg find scopeDisallowsNewTransition_class(problem, interpretation); 11946 neg find scopeDisallowsNewTransition_class(problem, interpretation);
9291 neg find isPrimitive(element); 11947 neg find isPrimitive(element);
9292} or 11948} or
@@ -9314,19 +11970,19 @@ private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretati
9314{ 11970{
9315 find interpretation(problem,interpretation); 11971 find interpretation(problem,interpretation);
9316 PartialInterpretation.newElements(interpretation,element); 11972 PartialInterpretation.newElements(interpretation,element);
9317 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9318 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 11973 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
9319 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11974 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9320 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11975 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11976 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9321 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 11977 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
9322 neg find isPrimitive(element); 11978 neg find isPrimitive(element);
9323} or { 11979} or {
9324 find interpretation(problem,interpretation); 11980 find interpretation(problem,interpretation);
9325 PartialInterpretation.openWorldElements(interpretation,element); 11981 PartialInterpretation.openWorldElements(interpretation,element);
9326 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9327 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 11982 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
9328 neg find mustInstanceOfTransition_class(problem,interpretation,element); 11983 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9329 neg find mustInstanceOfRegion_class(problem,interpretation,element); 11984 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11985 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9330 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 11986 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
9331 neg find isPrimitive(element); 11987 neg find isPrimitive(element);
9332} or 11988} or
@@ -9354,11 +12010,11 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
9354{ 12010{
9355 find interpretation(problem,interpretation); 12011 find interpretation(problem,interpretation);
9356 PartialInterpretation.newElements(interpretation,element); 12012 PartialInterpretation.newElements(interpretation,element);
9357 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 12013 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9358 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 12014 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9359 neg find mustInstanceOfChoice_class(problem,interpretation,element); 12015 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9360 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9361 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12016 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12017 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9362 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 12018 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
9363 neg find mustInstanceOfExit_class(problem,interpretation,element); 12019 neg find mustInstanceOfExit_class(problem,interpretation,element);
9364 neg find scopeDisallowsNewEntry_class(problem, interpretation); 12020 neg find scopeDisallowsNewEntry_class(problem, interpretation);
@@ -9366,11 +12022,11 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
9366} or { 12022} or {
9367 find interpretation(problem,interpretation); 12023 find interpretation(problem,interpretation);
9368 PartialInterpretation.openWorldElements(interpretation,element); 12024 PartialInterpretation.openWorldElements(interpretation,element);
9369 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 12025 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9370 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 12026 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9371 neg find mustInstanceOfChoice_class(problem,interpretation,element); 12027 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9372 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9373 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12028 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12029 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9374 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 12030 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
9375 neg find mustInstanceOfExit_class(problem,interpretation,element); 12031 neg find mustInstanceOfExit_class(problem,interpretation,element);
9376 neg find scopeDisallowsNewEntry_class(problem, interpretation); 12032 neg find scopeDisallowsNewEntry_class(problem, interpretation);
@@ -9400,24 +12056,24 @@ private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpr
9400{ 12056{
9401 find interpretation(problem,interpretation); 12057 find interpretation(problem,interpretation);
9402 PartialInterpretation.newElements(interpretation,element); 12058 PartialInterpretation.newElements(interpretation,element);
9403 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9404 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9405 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9406 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12059 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12060 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9407 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12061 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12062 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9408 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 12063 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12064 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9409 neg find mustInstanceOfExit_class(problem,interpretation,element); 12065 neg find mustInstanceOfExit_class(problem,interpretation,element);
9410 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 12066 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
9411 neg find isPrimitive(element); 12067 neg find isPrimitive(element);
9412} or { 12068} or {
9413 find interpretation(problem,interpretation); 12069 find interpretation(problem,interpretation);
9414 PartialInterpretation.openWorldElements(interpretation,element); 12070 PartialInterpretation.openWorldElements(interpretation,element);
9415 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9416 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9417 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9418 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12071 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12072 neg find mustInstanceOfChoice_class(problem,interpretation,element);
9419 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12073 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12074 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9420 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 12075 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12076 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9421 neg find mustInstanceOfExit_class(problem,interpretation,element); 12077 neg find mustInstanceOfExit_class(problem,interpretation,element);
9422 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 12078 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
9423 neg find isPrimitive(element); 12079 neg find isPrimitive(element);
@@ -9446,21 +12102,21 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
9446{ 12102{
9447 find interpretation(problem,interpretation); 12103 find interpretation(problem,interpretation);
9448 PartialInterpretation.newElements(interpretation,element); 12104 PartialInterpretation.newElements(interpretation,element);
9449 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 12105 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9450 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
9451 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12106 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12107 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
9452 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12108 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9453 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 12109 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
9454 neg find scopeDisallowsNewState_class(problem, interpretation); 12110 neg find scopeDisallowsNewState_class(problem, interpretation);
9455 neg find isPrimitive(element); 12111 neg find isPrimitive(element);
9456} or { 12112} or {
9457 find interpretation(problem,interpretation); 12113 find interpretation(problem,interpretation);
9458 PartialInterpretation.openWorldElements(interpretation,element); 12114 PartialInterpretation.openWorldElements(interpretation,element);
9459 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 12115 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9460 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
9461 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12116 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12117 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
9462 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12118 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9463 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 12119 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
9464 neg find scopeDisallowsNewState_class(problem, interpretation); 12120 neg find scopeDisallowsNewState_class(problem, interpretation);
9465 neg find isPrimitive(element); 12121 neg find isPrimitive(element);
9466} or 12122} or
@@ -9488,21 +12144,21 @@ private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpreta
9488{ 12144{
9489 find interpretation(problem,interpretation); 12145 find interpretation(problem,interpretation);
9490 PartialInterpretation.newElements(interpretation,element); 12146 PartialInterpretation.newElements(interpretation,element);
9491 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 12147 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9492 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9493 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12148 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12149 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
9494 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12150 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9495 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 12151 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9496 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 12152 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
9497 neg find isPrimitive(element); 12153 neg find isPrimitive(element);
9498} or { 12154} or {
9499 find interpretation(problem,interpretation); 12155 find interpretation(problem,interpretation);
9500 PartialInterpretation.openWorldElements(interpretation,element); 12156 PartialInterpretation.openWorldElements(interpretation,element);
9501 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 12157 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9502 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9503 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12158 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12159 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
9504 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12160 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9505 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 12161 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9506 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 12162 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
9507 neg find isPrimitive(element); 12163 neg find isPrimitive(element);
9508} or 12164} or
@@ -9530,21 +12186,21 @@ private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interp
9530{ 12186{
9531 find interpretation(problem,interpretation); 12187 find interpretation(problem,interpretation);
9532 PartialInterpretation.newElements(interpretation,element); 12188 PartialInterpretation.newElements(interpretation,element);
9533 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
9534 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9535 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 12189 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
9536 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12190 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9537 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12191 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12192 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12193 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9538 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 12194 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
9539 neg find isPrimitive(element); 12195 neg find isPrimitive(element);
9540} or { 12196} or {
9541 find interpretation(problem,interpretation); 12197 find interpretation(problem,interpretation);
9542 PartialInterpretation.openWorldElements(interpretation,element); 12198 PartialInterpretation.openWorldElements(interpretation,element);
9543 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
9544 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9545 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 12199 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
9546 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12200 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9547 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12201 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12202 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12203 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9548 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 12204 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
9549 neg find isPrimitive(element); 12205 neg find isPrimitive(element);
9550} or 12206} or
@@ -9572,24 +12228,24 @@ private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:P
9572{ 12228{
9573 find interpretation(problem,interpretation); 12229 find interpretation(problem,interpretation);
9574 PartialInterpretation.newElements(interpretation,element); 12230 PartialInterpretation.newElements(interpretation,element);
9575 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9576 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9577 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9578 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12231 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12232 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9579 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12233 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9580 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 12234 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12235 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12236 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9581 neg find mustInstanceOfExit_class(problem,interpretation,element); 12237 neg find mustInstanceOfExit_class(problem,interpretation,element);
9582 neg find scopeDisallowsNewChoice_class(problem, interpretation); 12238 neg find scopeDisallowsNewChoice_class(problem, interpretation);
9583 neg find isPrimitive(element); 12239 neg find isPrimitive(element);
9584} or { 12240} or {
9585 find interpretation(problem,interpretation); 12241 find interpretation(problem,interpretation);
9586 PartialInterpretation.openWorldElements(interpretation,element); 12242 PartialInterpretation.openWorldElements(interpretation,element);
9587 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9588 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9589 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9590 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12243 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12244 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9591 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12245 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9592 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 12246 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12247 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12248 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9593 neg find mustInstanceOfExit_class(problem,interpretation,element); 12249 neg find mustInstanceOfExit_class(problem,interpretation,element);
9594 neg find scopeDisallowsNewChoice_class(problem, interpretation); 12250 neg find scopeDisallowsNewChoice_class(problem, interpretation);
9595 neg find isPrimitive(element); 12251 neg find isPrimitive(element);
@@ -9618,24 +12274,24 @@ private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:Par
9618{ 12274{
9619 find interpretation(problem,interpretation); 12275 find interpretation(problem,interpretation);
9620 PartialInterpretation.newElements(interpretation,element); 12276 PartialInterpretation.newElements(interpretation,element);
9621 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9622 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9623 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9624 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12277 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9625 neg find mustInstanceOfChoice_class(problem,interpretation,element); 12278 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9626 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12279 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12280 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12281 neg find mustInstanceOfEntry_class(problem,interpretation,element);
12282 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9627 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 12283 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
9628 neg find scopeDisallowsNewExit_class(problem, interpretation); 12284 neg find scopeDisallowsNewExit_class(problem, interpretation);
9629 neg find isPrimitive(element); 12285 neg find isPrimitive(element);
9630} or { 12286} or {
9631 find interpretation(problem,interpretation); 12287 find interpretation(problem,interpretation);
9632 PartialInterpretation.openWorldElements(interpretation,element); 12288 PartialInterpretation.openWorldElements(interpretation,element);
9633 neg find mustInstanceOfEntry_class(problem,interpretation,element);
9634 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9635 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9636 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12289 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9637 neg find mustInstanceOfChoice_class(problem,interpretation,element); 12290 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
9638 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12291 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12292 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12293 neg find mustInstanceOfEntry_class(problem,interpretation,element);
12294 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9639 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 12295 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
9640 neg find scopeDisallowsNewExit_class(problem, interpretation); 12296 neg find scopeDisallowsNewExit_class(problem, interpretation);
9641 neg find isPrimitive(element); 12297 neg find isPrimitive(element);
@@ -9664,19 +12320,19 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
9664{ 12320{
9665 find interpretation(problem,interpretation); 12321 find interpretation(problem,interpretation);
9666 PartialInterpretation.newElements(interpretation,element); 12322 PartialInterpretation.newElements(interpretation,element);
9667 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 12323 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9668 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12324 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9669 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12325 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9670 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 12326 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9671 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 12327 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
9672 neg find isPrimitive(element); 12328 neg find isPrimitive(element);
9673} or { 12329} or {
9674 find interpretation(problem,interpretation); 12330 find interpretation(problem,interpretation);
9675 PartialInterpretation.openWorldElements(interpretation,element); 12331 PartialInterpretation.openWorldElements(interpretation,element);
9676 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 12332 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
9677 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12333 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9678 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12334 neg find mustInstanceOfRegion_class(problem,interpretation,element);
9679 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 12335 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
9680 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 12336 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
9681 neg find isPrimitive(element); 12337 neg find isPrimitive(element);
9682} or 12338} or
@@ -9725,17 +12381,17 @@ private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem
9725{ 12381{
9726 find interpretation(problem,interpretation); 12382 find interpretation(problem,interpretation);
9727 PartialInterpretation.newElements(interpretation,element); 12383 PartialInterpretation.newElements(interpretation,element);
9728 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9729 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12384 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9730 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12385 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12386 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9731 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 12387 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
9732 neg find isPrimitive(element); 12388 neg find isPrimitive(element);
9733} or { 12389} or {
9734 find interpretation(problem,interpretation); 12390 find interpretation(problem,interpretation);
9735 PartialInterpretation.openWorldElements(interpretation,element); 12391 PartialInterpretation.openWorldElements(interpretation,element);
9736 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9737 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12392 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9738 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12393 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12394 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9739 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 12395 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
9740 neg find isPrimitive(element); 12396 neg find isPrimitive(element);
9741} or 12397} or
@@ -9784,19 +12440,19 @@ private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicP
9784{ 12440{
9785 find interpretation(problem,interpretation); 12441 find interpretation(problem,interpretation);
9786 PartialInterpretation.newElements(interpretation,element); 12442 PartialInterpretation.newElements(interpretation,element);
9787 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
9788 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9789 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12443 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9790 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12444 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12445 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12446 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9791 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 12447 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
9792 neg find isPrimitive(element); 12448 neg find isPrimitive(element);
9793} or { 12449} or {
9794 find interpretation(problem,interpretation); 12450 find interpretation(problem,interpretation);
9795 PartialInterpretation.openWorldElements(interpretation,element); 12451 PartialInterpretation.openWorldElements(interpretation,element);
9796 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
9797 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9798 neg find mustInstanceOfTransition_class(problem,interpretation,element); 12452 neg find mustInstanceOfTransition_class(problem,interpretation,element);
9799 neg find mustInstanceOfRegion_class(problem,interpretation,element); 12453 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12454 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12455 neg find mustInstanceOfVertex_class(problem,interpretation,element);
9800 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 12456 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
9801 neg find isPrimitive(element); 12457 neg find isPrimitive(element);
9802} or 12458} or
@@ -11537,55 +14193,55 @@ pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_
11537private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 14193private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
11538{ 14194{
11539 find interpretation(problem,interpretation); 14195 find interpretation(problem,interpretation);
11540 find mustInstanceOfPseudostate_class(problem,interpretation,root); 14196 find mustInstanceOfEntry_class(problem,interpretation,root);
11541 find mustExist(problem, interpretation, root); 14197 find mustExist(problem, interpretation, root);
11542}or{ 14198}or{
11543 find interpretation(problem,interpretation); 14199 find interpretation(problem,interpretation);
11544 find mustInstanceOfVertex_class(problem,interpretation,root); 14200 find mustInstanceOfChoice_class(problem,interpretation,root);
11545 find mustExist(problem, interpretation, root); 14201 find mustExist(problem, interpretation, root);
11546}or{ 14202}or{
11547 find interpretation(problem,interpretation); 14203 find interpretation(problem,interpretation);
11548 find mustInstanceOfCompositeElement_class(problem,interpretation,root); 14204 find mustInstanceOfFinalState_class(problem,interpretation,root);
11549 find mustExist(problem, interpretation, root); 14205 find mustExist(problem, interpretation, root);
11550}or{ 14206}or{
11551 find interpretation(problem,interpretation); 14207 find interpretation(problem,interpretation);
11552 find mustInstanceOfFinalState_class(problem,interpretation,root); 14208 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
11553 find mustExist(problem, interpretation, root); 14209 find mustExist(problem, interpretation, root);
11554}or{ 14210}or{
11555 find interpretation(problem,interpretation); 14211 find interpretation(problem,interpretation);
11556 find mustInstanceOfTransition_class(problem,interpretation,root); 14212 find mustInstanceOfStatechart_class(problem,interpretation,root);
11557 find mustExist(problem, interpretation, root); 14213 find mustExist(problem, interpretation, root);
11558}or{ 14214}or{
11559 find interpretation(problem,interpretation); 14215 find interpretation(problem,interpretation);
11560 find mustInstanceOfRegion_class(problem,interpretation,root); 14216 find mustInstanceOfVertex_class(problem,interpretation,root);
11561 find mustExist(problem, interpretation, root); 14217 find mustExist(problem, interpretation, root);
11562}or{ 14218}or{
11563 find interpretation(problem,interpretation); 14219 find interpretation(problem,interpretation);
11564 find mustInstanceOfStatechart_class(problem,interpretation,root); 14220 find mustInstanceOfState_class(problem,interpretation,root);
11565 find mustExist(problem, interpretation, root); 14221 find mustExist(problem, interpretation, root);
11566}or{ 14222}or{
11567 find interpretation(problem,interpretation); 14223 find interpretation(problem,interpretation);
11568 find mustInstanceOfExit_class(problem,interpretation,root); 14224 find mustInstanceOfPseudostate_class(problem,interpretation,root);
11569 find mustExist(problem, interpretation, root); 14225 find mustExist(problem, interpretation, root);
11570}or{ 14226}or{
11571 find interpretation(problem,interpretation); 14227 find interpretation(problem,interpretation);
11572 find mustInstanceOfChoice_class(problem,interpretation,root); 14228 find mustInstanceOfExit_class(problem,interpretation,root);
11573 find mustExist(problem, interpretation, root); 14229 find mustExist(problem, interpretation, root);
11574}or{ 14230}or{
11575 find interpretation(problem,interpretation); 14231 find interpretation(problem,interpretation);
11576 find mustInstanceOfRegularState_class(problem,interpretation,root); 14232 find mustInstanceOfTransition_class(problem,interpretation,root);
11577 find mustExist(problem, interpretation, root); 14233 find mustExist(problem, interpretation, root);
11578}or{ 14234}or{
11579 find interpretation(problem,interpretation); 14235 find interpretation(problem,interpretation);
11580 find mustInstanceOfSynchronization_class(problem,interpretation,root); 14236 find mustInstanceOfRegularState_class(problem,interpretation,root);
11581 find mustExist(problem, interpretation, root); 14237 find mustExist(problem, interpretation, root);
11582}or{ 14238}or{
11583 find interpretation(problem,interpretation); 14239 find interpretation(problem,interpretation);
11584 find mustInstanceOfEntry_class(problem,interpretation,root); 14240 find mustInstanceOfRegion_class(problem,interpretation,root);
11585 find mustExist(problem, interpretation, root); 14241 find mustExist(problem, interpretation, root);
11586}or{ 14242}or{
11587 find interpretation(problem,interpretation); 14243 find interpretation(problem,interpretation);
11588 find mustInstanceOfState_class(problem,interpretation,root); 14244 find mustInstanceOfSynchronization_class(problem,interpretation,root);
11589 find mustExist(problem, interpretation, root); 14245 find mustExist(problem, interpretation, root);
11590}or{ 14246}or{
11591 find interpretation(problem,interpretation); 14247 find interpretation(problem,interpretation);
@@ -11604,59 +14260,61 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
11604 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root); 14260 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
11605 find mustExist(problem, interpretation, root); 14261 find mustExist(problem, interpretation, root);
11606} 14262}
11607pattern createObject_Entry_class_by_vertices_reference_Region( 14263pattern createObject_State_class_by_vertices_reference_Region(
11608 problem:LogicProblem, interpretation:PartialInterpretation, 14264 problem:LogicProblem, interpretation:PartialInterpretation,
11609 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 14265 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
11610 container:DefinedElement) 14266 container:DefinedElement)
11611{ 14267{
11612 find interpretation(problem,interpretation); 14268 find interpretation(problem,interpretation);
11613 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 14269 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11614 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 14270 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
11615 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 14271 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
11616 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 14272 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
11617 find mustInstanceOfRegion_class(problem,interpretation,container); 14273 find mustInstanceOfRegion_class(problem,interpretation,container);
11618 find mayInstanceOfEntry_class(problem,interpretation,newObject); 14274 find mayInstanceOfState_class(problem,interpretation,newObject);
11619 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 14275 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
11620 find mustExist(problem, interpretation, container); 14276 find mustExist(problem, interpretation, container);
11621 neg find mustExist(problem, interpretation, newObject); 14277 neg find mustExist(problem, interpretation, newObject);
11622} 14278}
11623pattern createObject_Entry_class( 14279pattern createObject_State_class(
11624 problem:LogicProblem, interpretation:PartialInterpretation, 14280 problem:LogicProblem, interpretation:PartialInterpretation,
11625 typeInterpretation:PartialComplexTypeInterpretation) 14281 typeInterpretation:PartialComplexTypeInterpretation)
11626{ 14282{
11627 find interpretation(problem,interpretation); 14283 find interpretation(problem,interpretation);
11628 neg find hasElementInContainment(problem,interpretation); 14284 neg find hasElementInContainment(problem,interpretation);
11629 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 14285 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11630 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 14286 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
11631 find mayInstanceOfEntry_class(problem,interpretation,newObject); 14287 find mayInstanceOfState_class(problem,interpretation,newObject);
11632 find mayExist(problem, interpretation, newObject); 14288 find mayExist(problem, interpretation, newObject);
11633 neg find mustExist(problem, interpretation, newObject); 14289 neg find mustExist(problem, interpretation, newObject);
11634} 14290}
11635pattern createObject_FinalState_class_by_vertices_reference_Region( 14291pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
11636 problem:LogicProblem, interpretation:PartialInterpretation, 14292 problem:LogicProblem, interpretation:PartialInterpretation,
11637 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 14293 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
11638 container:DefinedElement) 14294 container:DefinedElement)
11639{ 14295{
11640 find interpretation(problem,interpretation); 14296 find interpretation(problem,interpretation);
11641 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 14297 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11642 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 14298 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
11643 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 14299 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
11644 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 14300 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
11645 find mustInstanceOfRegion_class(problem,interpretation,container); 14301 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
11646 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 14302 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
11647 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 14303 find mustInstanceOfVertex_class(problem,interpretation,container);
14304 find mayInstanceOfTransition_class(problem,interpretation,newObject);
14305 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
11648 find mustExist(problem, interpretation, container); 14306 find mustExist(problem, interpretation, container);
11649 neg find mustExist(problem, interpretation, newObject); 14307 neg find mustExist(problem, interpretation, newObject);
11650} 14308}
11651pattern createObject_FinalState_class( 14309pattern createObject_Transition_class(
11652 problem:LogicProblem, interpretation:PartialInterpretation, 14310 problem:LogicProblem, interpretation:PartialInterpretation,
11653 typeInterpretation:PartialComplexTypeInterpretation) 14311 typeInterpretation:PartialComplexTypeInterpretation)
11654{ 14312{
11655 find interpretation(problem,interpretation); 14313 find interpretation(problem,interpretation);
11656 neg find hasElementInContainment(problem,interpretation); 14314 neg find hasElementInContainment(problem,interpretation);
11657 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 14315 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11658 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 14316 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
11659 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 14317 find mayInstanceOfTransition_class(problem,interpretation,newObject);
11660 find mayExist(problem, interpretation, newObject); 14318 find mayExist(problem, interpretation, newObject);
11661 neg find mustExist(problem, interpretation, newObject); 14319 neg find mustExist(problem, interpretation, newObject);
11662} 14320}
@@ -11688,33 +14346,31 @@ pattern createObject_Synchronization_class(
11688 find mayExist(problem, interpretation, newObject); 14346 find mayExist(problem, interpretation, newObject);
11689 neg find mustExist(problem, interpretation, newObject); 14347 neg find mustExist(problem, interpretation, newObject);
11690} 14348}
11691pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( 14349pattern createObject_FinalState_class_by_vertices_reference_Region(
11692 problem:LogicProblem, interpretation:PartialInterpretation, 14350 problem:LogicProblem, interpretation:PartialInterpretation,
11693 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 14351 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
11694 container:DefinedElement) 14352 container:DefinedElement)
11695{ 14353{
11696 find interpretation(problem,interpretation); 14354 find interpretation(problem,interpretation);
11697 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 14355 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11698 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 14356 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
11699 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 14357 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
11700 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex"); 14358 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
11701 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 14359 find mustInstanceOfRegion_class(problem,interpretation,container);
11702 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition"); 14360 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
11703 find mustInstanceOfVertex_class(problem,interpretation,container); 14361 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
11704 find mayInstanceOfTransition_class(problem,interpretation,newObject);
11705 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
11706 find mustExist(problem, interpretation, container); 14362 find mustExist(problem, interpretation, container);
11707 neg find mustExist(problem, interpretation, newObject); 14363 neg find mustExist(problem, interpretation, newObject);
11708} 14364}
11709pattern createObject_Transition_class( 14365pattern createObject_FinalState_class(
11710 problem:LogicProblem, interpretation:PartialInterpretation, 14366 problem:LogicProblem, interpretation:PartialInterpretation,
11711 typeInterpretation:PartialComplexTypeInterpretation) 14367 typeInterpretation:PartialComplexTypeInterpretation)
11712{ 14368{
11713 find interpretation(problem,interpretation); 14369 find interpretation(problem,interpretation);
11714 neg find hasElementInContainment(problem,interpretation); 14370 neg find hasElementInContainment(problem,interpretation);
11715 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 14371 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11716 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 14372 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
11717 find mayInstanceOfTransition_class(problem,interpretation,newObject); 14373 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
11718 find mayExist(problem, interpretation, newObject); 14374 find mayExist(problem, interpretation, newObject);
11719 neg find mustExist(problem, interpretation, newObject); 14375 neg find mustExist(problem, interpretation, newObject);
11720} 14376}
@@ -11786,31 +14442,31 @@ pattern createObject_Region_class(
11786 find mayExist(problem, interpretation, newObject); 14442 find mayExist(problem, interpretation, newObject);
11787 neg find mustExist(problem, interpretation, newObject); 14443 neg find mustExist(problem, interpretation, newObject);
11788} 14444}
11789pattern createObject_State_class_by_vertices_reference_Region( 14445pattern createObject_Entry_class_by_vertices_reference_Region(
11790 problem:LogicProblem, interpretation:PartialInterpretation, 14446 problem:LogicProblem, interpretation:PartialInterpretation,
11791 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 14447 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
11792 container:DefinedElement) 14448 container:DefinedElement)
11793{ 14449{
11794 find interpretation(problem,interpretation); 14450 find interpretation(problem,interpretation);
11795 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 14451 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11796 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 14452 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
11797 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 14453 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
11798 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 14454 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
11799 find mustInstanceOfRegion_class(problem,interpretation,container); 14455 find mustInstanceOfRegion_class(problem,interpretation,container);
11800 find mayInstanceOfState_class(problem,interpretation,newObject); 14456 find mayInstanceOfEntry_class(problem,interpretation,newObject);
11801 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 14457 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
11802 find mustExist(problem, interpretation, container); 14458 find mustExist(problem, interpretation, container);
11803 neg find mustExist(problem, interpretation, newObject); 14459 neg find mustExist(problem, interpretation, newObject);
11804} 14460}
11805pattern createObject_State_class( 14461pattern createObject_Entry_class(
11806 problem:LogicProblem, interpretation:PartialInterpretation, 14462 problem:LogicProblem, interpretation:PartialInterpretation,
11807 typeInterpretation:PartialComplexTypeInterpretation) 14463 typeInterpretation:PartialComplexTypeInterpretation)
11808{ 14464{
11809 find interpretation(problem,interpretation); 14465 find interpretation(problem,interpretation);
11810 neg find hasElementInContainment(problem,interpretation); 14466 neg find hasElementInContainment(problem,interpretation);
11811 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 14467 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
11812 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 14468 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
11813 find mayInstanceOfState_class(problem,interpretation,newObject); 14469 find mayInstanceOfEntry_class(problem,interpretation,newObject);
11814 find mayExist(problem, interpretation, newObject); 14470 find mayExist(problem, interpretation, newObject);
11815 neg find mustExist(problem, interpretation, newObject); 14471 neg find mustExist(problem, interpretation, newObject);
11816} 14472}
@@ -11846,103 +14502,103 @@ pattern createObject_Exit_class(
11846////////// 14502//////////
11847// 4.2 Type refinement 14503// 4.2 Type refinement
11848////////// 14504//////////
11849pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14505pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11850 find interpretation(problem,interpretation); 14506 find interpretation(problem,interpretation);
11851 PartialInterpretation.newElements(interpretation,element); 14507 PartialInterpretation.newElements(interpretation,element);
11852 find mayInstanceOfEntry_class(problem,interpretation,element); 14508 find mayInstanceOfState_class(problem,interpretation,element);
11853 neg find mustInstanceOfEntry_class(problem,interpretation,element); 14509 neg find mustInstanceOfState_class(problem,interpretation,element);
11854 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 14510 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
11855 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
11856 neg find mustInstanceOfChoice_class(problem,interpretation,element);
11857 neg find mustInstanceOfTransition_class(problem,interpretation,element); 14511 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14512 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
11858 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14513 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11859 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 14514 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
11860 neg find mustInstanceOfExit_class(problem,interpretation,element);
11861} 14515}
11862pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14516pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11863 find interpretation(problem,interpretation); 14517 find interpretation(problem,interpretation);
11864 PartialInterpretation.newElements(interpretation,element); 14518 PartialInterpretation.newElements(interpretation,element);
11865 find mayInstanceOfFinalState_class(problem,interpretation,element); 14519 find mayInstanceOfTransition_class(problem,interpretation,element);
11866 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
11867 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11868 neg find mustInstanceOfTransition_class(problem,interpretation,element); 14520 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11869 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14521 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11870 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 14522 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14523 neg find mustInstanceOfVertex_class(problem,interpretation,element);
11871} 14524}
11872pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14525pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11873 find interpretation(problem,interpretation); 14526 find interpretation(problem,interpretation);
11874 PartialInterpretation.newElements(interpretation,element); 14527 PartialInterpretation.newElements(interpretation,element);
11875 find mayInstanceOfSynchronization_class(problem,interpretation,element); 14528 find mayInstanceOfSynchronization_class(problem,interpretation,element);
11876 neg find mustInstanceOfEntry_class(problem,interpretation,element); 14529 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11877 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11878 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 14530 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
11879 neg find mustInstanceOfChoice_class(problem,interpretation,element); 14531 neg find mustInstanceOfChoice_class(problem,interpretation,element);
11880 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11881 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14532 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14533 neg find mustInstanceOfEntry_class(problem,interpretation,element);
11882 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 14534 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14535 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11883 neg find mustInstanceOfExit_class(problem,interpretation,element); 14536 neg find mustInstanceOfExit_class(problem,interpretation,element);
11884} 14537}
11885pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14538pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11886 find interpretation(problem,interpretation); 14539 find interpretation(problem,interpretation);
11887 PartialInterpretation.newElements(interpretation,element); 14540 PartialInterpretation.newElements(interpretation,element);
11888 find mayInstanceOfTransition_class(problem,interpretation,element); 14541 find mayInstanceOfFinalState_class(problem,interpretation,element);
11889 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 14542 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
11890 neg find mustInstanceOfVertex_class(problem,interpretation,element);
11891 neg find mustInstanceOfTransition_class(problem,interpretation,element); 14543 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14544 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
11892 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14545 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14546 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11893} 14547}
11894pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14548pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11895 find interpretation(problem,interpretation); 14549 find interpretation(problem,interpretation);
11896 PartialInterpretation.newElements(interpretation,element); 14550 PartialInterpretation.newElements(interpretation,element);
11897 find mayInstanceOfChoice_class(problem,interpretation,element); 14551 find mayInstanceOfChoice_class(problem,interpretation,element);
11898 neg find mustInstanceOfEntry_class(problem,interpretation,element);
11899 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11900 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
11901 neg find mustInstanceOfTransition_class(problem,interpretation,element); 14552 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11902 neg find mustInstanceOfChoice_class(problem,interpretation,element); 14553 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
11903 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14554 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14555 neg find mustInstanceOfChoice_class(problem,interpretation,element);
11904 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 14556 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14557 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14558 neg find mustInstanceOfEntry_class(problem,interpretation,element);
11905 neg find mustInstanceOfExit_class(problem,interpretation,element); 14559 neg find mustInstanceOfExit_class(problem,interpretation,element);
11906} 14560}
11907pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14561pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11908 find interpretation(problem,interpretation); 14562 find interpretation(problem,interpretation);
11909 PartialInterpretation.newElements(interpretation,element); 14563 PartialInterpretation.newElements(interpretation,element);
11910 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 14564 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
11911 neg find mustInstanceOfVertex_class(problem,interpretation,element);
11912 neg find mustInstanceOfTransition_class(problem,interpretation,element); 14565 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11913 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 14566 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
11914 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14567 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14568 neg find mustInstanceOfVertex_class(problem,interpretation,element);
11915} 14569}
11916pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14570pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11917 find interpretation(problem,interpretation); 14571 find interpretation(problem,interpretation);
11918 PartialInterpretation.newElements(interpretation,element); 14572 PartialInterpretation.newElements(interpretation,element);
11919 find mayInstanceOfRegion_class(problem,interpretation,element); 14573 find mayInstanceOfRegion_class(problem,interpretation,element);
11920 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11921 neg find mustInstanceOfVertex_class(problem,interpretation,element);
11922 neg find mustInstanceOfTransition_class(problem,interpretation,element); 14574 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11923 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14575 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14576 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14577 neg find mustInstanceOfVertex_class(problem,interpretation,element);
11924} 14578}
11925pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14579pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11926 find interpretation(problem,interpretation); 14580 find interpretation(problem,interpretation);
11927 PartialInterpretation.newElements(interpretation,element); 14581 PartialInterpretation.newElements(interpretation,element);
11928 find mayInstanceOfState_class(problem,interpretation,element); 14582 find mayInstanceOfEntry_class(problem,interpretation,element);
11929 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
11930 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
11931 neg find mustInstanceOfTransition_class(problem,interpretation,element); 14583 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14584 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
14585 neg find mustInstanceOfChoice_class(problem,interpretation,element);
11932 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14586 neg find mustInstanceOfRegion_class(problem,interpretation,element);
11933 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 14587 neg find mustInstanceOfEntry_class(problem,interpretation,element);
11934 neg find mustInstanceOfState_class(problem,interpretation,element); 14588 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14589 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14590 neg find mustInstanceOfExit_class(problem,interpretation,element);
11935} 14591}
11936pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 14592pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
11937 find interpretation(problem,interpretation); 14593 find interpretation(problem,interpretation);
11938 PartialInterpretation.newElements(interpretation,element); 14594 PartialInterpretation.newElements(interpretation,element);
11939 find mayInstanceOfExit_class(problem,interpretation,element); 14595 find mayInstanceOfExit_class(problem,interpretation,element);
11940 neg find mustInstanceOfEntry_class(problem,interpretation,element);
11941 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11942 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
11943 neg find mustInstanceOfTransition_class(problem,interpretation,element); 14596 neg find mustInstanceOfTransition_class(problem,interpretation,element);
11944 neg find mustInstanceOfChoice_class(problem,interpretation,element); 14597 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
11945 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14598 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14599 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14600 neg find mustInstanceOfEntry_class(problem,interpretation,element);
14601 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
11946 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 14602 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
11947 neg find mustInstanceOfExit_class(problem,interpretation,element); 14603 neg find mustInstanceOfExit_class(problem,interpretation,element);
11948} 14604}
@@ -12073,27 +14729,27 @@ private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretat
12073{ 14729{
12074 find interpretation(problem,interpretation); 14730 find interpretation(problem,interpretation);
12075 PartialInterpretation.newElements(interpretation,element); 14731 PartialInterpretation.newElements(interpretation,element);
12076 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12077 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12078 neg find mustInstanceOfExit_class(problem,interpretation,element); 14732 neg find mustInstanceOfExit_class(problem,interpretation,element);
12079 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12080 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12081 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12082 neg find mustInstanceOfEntry_class(problem,interpretation,element); 14733 neg find mustInstanceOfEntry_class(problem,interpretation,element);
14734 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14735 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12083 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14736 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14737 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14738 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14739 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12084 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 14740 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
12085 neg find isPrimitive(element); 14741 neg find isPrimitive(element);
12086} or { 14742} or {
12087 find interpretation(problem,interpretation); 14743 find interpretation(problem,interpretation);
12088 PartialInterpretation.openWorldElements(interpretation,element); 14744 PartialInterpretation.openWorldElements(interpretation,element);
12089 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12090 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12091 neg find mustInstanceOfExit_class(problem,interpretation,element); 14745 neg find mustInstanceOfExit_class(problem,interpretation,element);
12092 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12093 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12094 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12095 neg find mustInstanceOfEntry_class(problem,interpretation,element); 14746 neg find mustInstanceOfEntry_class(problem,interpretation,element);
14747 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14748 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12096 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14749 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14750 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14751 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14752 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12097 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 14753 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
12098 neg find isPrimitive(element); 14754 neg find isPrimitive(element);
12099} or 14755} or
@@ -12121,21 +14777,21 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
12121{ 14777{
12122 find interpretation(problem,interpretation); 14778 find interpretation(problem,interpretation);
12123 PartialInterpretation.newElements(interpretation,element); 14779 PartialInterpretation.newElements(interpretation,element);
12124 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12125 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
12126 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 14780 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12127 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12128 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14781 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14782 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
14783 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14784 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12129 neg find scopeDisallowsNewVertex_class(problem, interpretation); 14785 neg find scopeDisallowsNewVertex_class(problem, interpretation);
12130 neg find isPrimitive(element); 14786 neg find isPrimitive(element);
12131} or { 14787} or {
12132 find interpretation(problem,interpretation); 14788 find interpretation(problem,interpretation);
12133 PartialInterpretation.openWorldElements(interpretation,element); 14789 PartialInterpretation.openWorldElements(interpretation,element);
12134 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12135 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
12136 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 14790 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12137 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12138 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14791 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14792 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
14793 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14794 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12139 neg find scopeDisallowsNewVertex_class(problem, interpretation); 14795 neg find scopeDisallowsNewVertex_class(problem, interpretation);
12140 neg find isPrimitive(element); 14796 neg find isPrimitive(element);
12141} or 14797} or
@@ -12163,17 +14819,17 @@ private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:P
12163{ 14819{
12164 find interpretation(problem,interpretation); 14820 find interpretation(problem,interpretation);
12165 PartialInterpretation.newElements(interpretation,element); 14821 PartialInterpretation.newElements(interpretation,element);
12166 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12167 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 14822 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12168 neg find mustInstanceOfVertex_class(problem,interpretation,element); 14823 neg find mustInstanceOfVertex_class(problem,interpretation,element);
14824 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12169 neg find scopeDisallowsNewRegion_class(problem, interpretation); 14825 neg find scopeDisallowsNewRegion_class(problem, interpretation);
12170 neg find isPrimitive(element); 14826 neg find isPrimitive(element);
12171} or { 14827} or {
12172 find interpretation(problem,interpretation); 14828 find interpretation(problem,interpretation);
12173 PartialInterpretation.openWorldElements(interpretation,element); 14829 PartialInterpretation.openWorldElements(interpretation,element);
12174 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12175 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 14830 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12176 neg find mustInstanceOfVertex_class(problem,interpretation,element); 14831 neg find mustInstanceOfVertex_class(problem,interpretation,element);
14832 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12177 neg find scopeDisallowsNewRegion_class(problem, interpretation); 14833 neg find scopeDisallowsNewRegion_class(problem, interpretation);
12178 neg find isPrimitive(element); 14834 neg find isPrimitive(element);
12179} or 14835} or
@@ -12201,17 +14857,17 @@ private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretati
12201{ 14857{
12202 find interpretation(problem,interpretation); 14858 find interpretation(problem,interpretation);
12203 PartialInterpretation.newElements(interpretation,element); 14859 PartialInterpretation.newElements(interpretation,element);
14860 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12204 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 14861 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12205 neg find mustInstanceOfVertex_class(problem,interpretation,element); 14862 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12206 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12207 neg find scopeDisallowsNewTransition_class(problem, interpretation); 14863 neg find scopeDisallowsNewTransition_class(problem, interpretation);
12208 neg find isPrimitive(element); 14864 neg find isPrimitive(element);
12209} or { 14865} or {
12210 find interpretation(problem,interpretation); 14866 find interpretation(problem,interpretation);
12211 PartialInterpretation.openWorldElements(interpretation,element); 14867 PartialInterpretation.openWorldElements(interpretation,element);
14868 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12212 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 14869 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12213 neg find mustInstanceOfVertex_class(problem,interpretation,element); 14870 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12214 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12215 neg find scopeDisallowsNewTransition_class(problem, interpretation); 14871 neg find scopeDisallowsNewTransition_class(problem, interpretation);
12216 neg find isPrimitive(element); 14872 neg find isPrimitive(element);
12217} or 14873} or
@@ -12239,19 +14895,19 @@ private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretati
12239{ 14895{
12240 find interpretation(problem,interpretation); 14896 find interpretation(problem,interpretation);
12241 PartialInterpretation.newElements(interpretation,element); 14897 PartialInterpretation.newElements(interpretation,element);
12242 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12243 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 14898 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
12244 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12245 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14899 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14900 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14901 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12246 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 14902 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
12247 neg find isPrimitive(element); 14903 neg find isPrimitive(element);
12248} or { 14904} or {
12249 find interpretation(problem,interpretation); 14905 find interpretation(problem,interpretation);
12250 PartialInterpretation.openWorldElements(interpretation,element); 14906 PartialInterpretation.openWorldElements(interpretation,element);
12251 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12252 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 14907 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
12253 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12254 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14908 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14909 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14910 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12255 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 14911 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
12256 neg find isPrimitive(element); 14912 neg find isPrimitive(element);
12257} or 14913} or
@@ -12279,25 +14935,25 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
12279{ 14935{
12280 find interpretation(problem,interpretation); 14936 find interpretation(problem,interpretation);
12281 PartialInterpretation.newElements(interpretation,element); 14937 PartialInterpretation.newElements(interpretation,element);
12282 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12283 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12284 neg find mustInstanceOfExit_class(problem,interpretation,element); 14938 neg find mustInstanceOfExit_class(problem,interpretation,element);
12285 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12286 neg find mustInstanceOfChoice_class(problem,interpretation,element); 14939 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12287 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 14940 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12288 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14941 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14942 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14943 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14944 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12289 neg find scopeDisallowsNewEntry_class(problem, interpretation); 14945 neg find scopeDisallowsNewEntry_class(problem, interpretation);
12290 neg find isPrimitive(element); 14946 neg find isPrimitive(element);
12291} or { 14947} or {
12292 find interpretation(problem,interpretation); 14948 find interpretation(problem,interpretation);
12293 PartialInterpretation.openWorldElements(interpretation,element); 14949 PartialInterpretation.openWorldElements(interpretation,element);
12294 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12295 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12296 neg find mustInstanceOfExit_class(problem,interpretation,element); 14950 neg find mustInstanceOfExit_class(problem,interpretation,element);
12297 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12298 neg find mustInstanceOfChoice_class(problem,interpretation,element); 14951 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12299 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 14952 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12300 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14953 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14954 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14955 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14956 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12301 neg find scopeDisallowsNewEntry_class(problem, interpretation); 14957 neg find scopeDisallowsNewEntry_class(problem, interpretation);
12302 neg find isPrimitive(element); 14958 neg find isPrimitive(element);
12303} or 14959} or
@@ -12325,25 +14981,25 @@ private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpr
12325{ 14981{
12326 find interpretation(problem,interpretation); 14982 find interpretation(problem,interpretation);
12327 PartialInterpretation.newElements(interpretation,element); 14983 PartialInterpretation.newElements(interpretation,element);
12328 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12329 neg find mustInstanceOfExit_class(problem,interpretation,element); 14984 neg find mustInstanceOfExit_class(problem,interpretation,element);
12330 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12331 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12332 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12333 neg find mustInstanceOfEntry_class(problem,interpretation,element); 14985 neg find mustInstanceOfEntry_class(problem,interpretation,element);
14986 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14987 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12334 neg find mustInstanceOfRegion_class(problem,interpretation,element); 14988 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14989 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14990 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12335 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 14991 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
12336 neg find isPrimitive(element); 14992 neg find isPrimitive(element);
12337} or { 14993} or {
12338 find interpretation(problem,interpretation); 14994 find interpretation(problem,interpretation);
12339 PartialInterpretation.openWorldElements(interpretation,element); 14995 PartialInterpretation.openWorldElements(interpretation,element);
12340 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12341 neg find mustInstanceOfExit_class(problem,interpretation,element); 14996 neg find mustInstanceOfExit_class(problem,interpretation,element);
12342 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12343 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12344 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12345 neg find mustInstanceOfEntry_class(problem,interpretation,element); 14997 neg find mustInstanceOfEntry_class(problem,interpretation,element);
14998 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14999 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12346 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15000 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15001 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15002 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12347 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 15003 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
12348 neg find isPrimitive(element); 15004 neg find isPrimitive(element);
12349} or 15005} or
@@ -12371,21 +15027,21 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
12371{ 15027{
12372 find interpretation(problem,interpretation); 15028 find interpretation(problem,interpretation);
12373 PartialInterpretation.newElements(interpretation,element); 15029 PartialInterpretation.newElements(interpretation,element);
12374 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12375 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12376 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
12377 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 15030 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
15031 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12378 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15032 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15033 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15034 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12379 neg find scopeDisallowsNewState_class(problem, interpretation); 15035 neg find scopeDisallowsNewState_class(problem, interpretation);
12380 neg find isPrimitive(element); 15036 neg find isPrimitive(element);
12381} or { 15037} or {
12382 find interpretation(problem,interpretation); 15038 find interpretation(problem,interpretation);
12383 PartialInterpretation.openWorldElements(interpretation,element); 15039 PartialInterpretation.openWorldElements(interpretation,element);
12384 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12385 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12386 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
12387 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 15040 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
15041 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12388 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15042 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15043 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15044 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12389 neg find scopeDisallowsNewState_class(problem, interpretation); 15045 neg find scopeDisallowsNewState_class(problem, interpretation);
12390 neg find isPrimitive(element); 15046 neg find isPrimitive(element);
12391} or 15047} or
@@ -12413,21 +15069,21 @@ private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpreta
12413{ 15069{
12414 find interpretation(problem,interpretation); 15070 find interpretation(problem,interpretation);
12415 PartialInterpretation.newElements(interpretation,element); 15071 PartialInterpretation.newElements(interpretation,element);
12416 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12417 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
12418 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12419 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 15072 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
12420 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15073 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15074 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15075 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15076 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12421 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 15077 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
12422 neg find isPrimitive(element); 15078 neg find isPrimitive(element);
12423} or { 15079} or {
12424 find interpretation(problem,interpretation); 15080 find interpretation(problem,interpretation);
12425 PartialInterpretation.openWorldElements(interpretation,element); 15081 PartialInterpretation.openWorldElements(interpretation,element);
12426 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12427 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
12428 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12429 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 15082 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
12430 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15083 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15084 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15085 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15086 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12431 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 15087 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
12432 neg find isPrimitive(element); 15088 neg find isPrimitive(element);
12433} or 15089} or
@@ -12455,20 +15111,20 @@ private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interp
12455{ 15111{
12456 find interpretation(problem,interpretation); 15112 find interpretation(problem,interpretation);
12457 PartialInterpretation.newElements(interpretation,element); 15113 PartialInterpretation.newElements(interpretation,element);
12458 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12459 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 15114 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12460 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 15115 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
12461 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15116 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15117 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12462 neg find mustInstanceOfVertex_class(problem,interpretation,element); 15118 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12463 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 15119 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
12464 neg find isPrimitive(element); 15120 neg find isPrimitive(element);
12465} or { 15121} or {
12466 find interpretation(problem,interpretation); 15122 find interpretation(problem,interpretation);
12467 PartialInterpretation.openWorldElements(interpretation,element); 15123 PartialInterpretation.openWorldElements(interpretation,element);
12468 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12469 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 15124 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12470 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 15125 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
12471 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15126 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15127 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12472 neg find mustInstanceOfVertex_class(problem,interpretation,element); 15128 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12473 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 15129 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
12474 neg find isPrimitive(element); 15130 neg find isPrimitive(element);
@@ -12497,25 +15153,25 @@ private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:P
12497{ 15153{
12498 find interpretation(problem,interpretation); 15154 find interpretation(problem,interpretation);
12499 PartialInterpretation.newElements(interpretation,element); 15155 PartialInterpretation.newElements(interpretation,element);
12500 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12501 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12502 neg find mustInstanceOfExit_class(problem,interpretation,element); 15156 neg find mustInstanceOfExit_class(problem,interpretation,element);
15157 neg find mustInstanceOfEntry_class(problem,interpretation,element);
12503 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 15158 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12504 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12505 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15159 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12506 neg find mustInstanceOfEntry_class(problem,interpretation,element); 15160 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15161 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15162 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12507 neg find scopeDisallowsNewChoice_class(problem, interpretation); 15163 neg find scopeDisallowsNewChoice_class(problem, interpretation);
12508 neg find isPrimitive(element); 15164 neg find isPrimitive(element);
12509} or { 15165} or {
12510 find interpretation(problem,interpretation); 15166 find interpretation(problem,interpretation);
12511 PartialInterpretation.openWorldElements(interpretation,element); 15167 PartialInterpretation.openWorldElements(interpretation,element);
12512 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12513 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12514 neg find mustInstanceOfExit_class(problem,interpretation,element); 15168 neg find mustInstanceOfExit_class(problem,interpretation,element);
15169 neg find mustInstanceOfEntry_class(problem,interpretation,element);
12515 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 15170 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12516 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12517 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15171 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12518 neg find mustInstanceOfEntry_class(problem,interpretation,element); 15172 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15173 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15174 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12519 neg find scopeDisallowsNewChoice_class(problem, interpretation); 15175 neg find scopeDisallowsNewChoice_class(problem, interpretation);
12520 neg find isPrimitive(element); 15176 neg find isPrimitive(element);
12521} or 15177} or
@@ -12543,25 +15199,25 @@ private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:Par
12543{ 15199{
12544 find interpretation(problem,interpretation); 15200 find interpretation(problem,interpretation);
12545 PartialInterpretation.newElements(interpretation,element); 15201 PartialInterpretation.newElements(interpretation,element);
12546 neg find mustInstanceOfTransition_class(problem,interpretation,element); 15202 neg find mustInstanceOfEntry_class(problem,interpretation,element);
12547 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12548 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12549 neg find mustInstanceOfChoice_class(problem,interpretation,element); 15203 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12550 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 15204 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12551 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15205 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12552 neg find mustInstanceOfEntry_class(problem,interpretation,element); 15206 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15207 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15208 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12553 neg find scopeDisallowsNewExit_class(problem, interpretation); 15209 neg find scopeDisallowsNewExit_class(problem, interpretation);
12554 neg find isPrimitive(element); 15210 neg find isPrimitive(element);
12555} or { 15211} or {
12556 find interpretation(problem,interpretation); 15212 find interpretation(problem,interpretation);
12557 PartialInterpretation.openWorldElements(interpretation,element); 15213 PartialInterpretation.openWorldElements(interpretation,element);
12558 neg find mustInstanceOfTransition_class(problem,interpretation,element); 15214 neg find mustInstanceOfEntry_class(problem,interpretation,element);
12559 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12560 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12561 neg find mustInstanceOfChoice_class(problem,interpretation,element); 15215 neg find mustInstanceOfChoice_class(problem,interpretation,element);
12562 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 15216 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
12563 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15217 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12564 neg find mustInstanceOfEntry_class(problem,interpretation,element); 15218 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15219 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15220 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
12565 neg find scopeDisallowsNewExit_class(problem, interpretation); 15221 neg find scopeDisallowsNewExit_class(problem, interpretation);
12566 neg find isPrimitive(element); 15222 neg find isPrimitive(element);
12567} or 15223} or
@@ -12589,19 +15245,19 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
12589{ 15245{
12590 find interpretation(problem,interpretation); 15246 find interpretation(problem,interpretation);
12591 PartialInterpretation.newElements(interpretation,element); 15247 PartialInterpretation.newElements(interpretation,element);
12592 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12593 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
12594 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12595 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15248 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15249 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15250 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15251 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12596 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 15252 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
12597 neg find isPrimitive(element); 15253 neg find isPrimitive(element);
12598} or { 15254} or {
12599 find interpretation(problem,interpretation); 15255 find interpretation(problem,interpretation);
12600 PartialInterpretation.openWorldElements(interpretation,element); 15256 PartialInterpretation.openWorldElements(interpretation,element);
12601 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12602 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
12603 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
12604 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15257 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15258 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15259 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15260 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12605 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 15261 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
12606 neg find isPrimitive(element); 15262 neg find isPrimitive(element);
12607} or 15263} or
@@ -12650,17 +15306,17 @@ private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem
12650{ 15306{
12651 find interpretation(problem,interpretation); 15307 find interpretation(problem,interpretation);
12652 PartialInterpretation.newElements(interpretation,element); 15308 PartialInterpretation.newElements(interpretation,element);
15309 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12653 neg find mustInstanceOfTransition_class(problem,interpretation,element); 15310 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12654 neg find mustInstanceOfVertex_class(problem,interpretation,element); 15311 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12655 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12656 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 15312 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
12657 neg find isPrimitive(element); 15313 neg find isPrimitive(element);
12658} or { 15314} or {
12659 find interpretation(problem,interpretation); 15315 find interpretation(problem,interpretation);
12660 PartialInterpretation.openWorldElements(interpretation,element); 15316 PartialInterpretation.openWorldElements(interpretation,element);
15317 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12661 neg find mustInstanceOfTransition_class(problem,interpretation,element); 15318 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12662 neg find mustInstanceOfVertex_class(problem,interpretation,element); 15319 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12663 neg find mustInstanceOfRegion_class(problem,interpretation,element);
12664 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 15320 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
12665 neg find isPrimitive(element); 15321 neg find isPrimitive(element);
12666} or 15322} or
@@ -12709,18 +15365,18 @@ private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicP
12709{ 15365{
12710 find interpretation(problem,interpretation); 15366 find interpretation(problem,interpretation);
12711 PartialInterpretation.newElements(interpretation,element); 15367 PartialInterpretation.newElements(interpretation,element);
12712 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12713 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 15368 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12714 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15369 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15370 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12715 neg find mustInstanceOfVertex_class(problem,interpretation,element); 15371 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12716 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 15372 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
12717 neg find isPrimitive(element); 15373 neg find isPrimitive(element);
12718} or { 15374} or {
12719 find interpretation(problem,interpretation); 15375 find interpretation(problem,interpretation);
12720 PartialInterpretation.openWorldElements(interpretation,element); 15376 PartialInterpretation.openWorldElements(interpretation,element);
12721 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12722 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 15377 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
12723 neg find mustInstanceOfRegion_class(problem,interpretation,element); 15378 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15379 neg find mustInstanceOfTransition_class(problem,interpretation,element);
12724 neg find mustInstanceOfVertex_class(problem,interpretation,element); 15380 neg find mustInstanceOfVertex_class(problem,interpretation,element);
12725 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 15381 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
12726 neg find isPrimitive(element); 15382 neg find isPrimitive(element);
@@ -14462,55 +17118,55 @@ pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_
14462private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 17118private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
14463{ 17119{
14464 find interpretation(problem,interpretation); 17120 find interpretation(problem,interpretation);
14465 find mustInstanceOfPseudostate_class(problem,interpretation,root); 17121 find mustInstanceOfEntry_class(problem,interpretation,root);
14466 find mustExist(problem, interpretation, root); 17122 find mustExist(problem, interpretation, root);
14467}or{ 17123}or{
14468 find interpretation(problem,interpretation); 17124 find interpretation(problem,interpretation);
14469 find mustInstanceOfVertex_class(problem,interpretation,root); 17125 find mustInstanceOfChoice_class(problem,interpretation,root);
14470 find mustExist(problem, interpretation, root); 17126 find mustExist(problem, interpretation, root);
14471}or{ 17127}or{
14472 find interpretation(problem,interpretation); 17128 find interpretation(problem,interpretation);
14473 find mustInstanceOfCompositeElement_class(problem,interpretation,root); 17129 find mustInstanceOfFinalState_class(problem,interpretation,root);
14474 find mustExist(problem, interpretation, root); 17130 find mustExist(problem, interpretation, root);
14475}or{ 17131}or{
14476 find interpretation(problem,interpretation); 17132 find interpretation(problem,interpretation);
14477 find mustInstanceOfFinalState_class(problem,interpretation,root); 17133 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
14478 find mustExist(problem, interpretation, root); 17134 find mustExist(problem, interpretation, root);
14479}or{ 17135}or{
14480 find interpretation(problem,interpretation); 17136 find interpretation(problem,interpretation);
14481 find mustInstanceOfTransition_class(problem,interpretation,root); 17137 find mustInstanceOfStatechart_class(problem,interpretation,root);
14482 find mustExist(problem, interpretation, root); 17138 find mustExist(problem, interpretation, root);
14483}or{ 17139}or{
14484 find interpretation(problem,interpretation); 17140 find interpretation(problem,interpretation);
14485 find mustInstanceOfRegion_class(problem,interpretation,root); 17141 find mustInstanceOfVertex_class(problem,interpretation,root);
14486 find mustExist(problem, interpretation, root); 17142 find mustExist(problem, interpretation, root);
14487}or{ 17143}or{
14488 find interpretation(problem,interpretation); 17144 find interpretation(problem,interpretation);
14489 find mustInstanceOfStatechart_class(problem,interpretation,root); 17145 find mustInstanceOfState_class(problem,interpretation,root);
14490 find mustExist(problem, interpretation, root); 17146 find mustExist(problem, interpretation, root);
14491}or{ 17147}or{
14492 find interpretation(problem,interpretation); 17148 find interpretation(problem,interpretation);
14493 find mustInstanceOfExit_class(problem,interpretation,root); 17149 find mustInstanceOfPseudostate_class(problem,interpretation,root);
14494 find mustExist(problem, interpretation, root); 17150 find mustExist(problem, interpretation, root);
14495}or{ 17151}or{
14496 find interpretation(problem,interpretation); 17152 find interpretation(problem,interpretation);
14497 find mustInstanceOfChoice_class(problem,interpretation,root); 17153 find mustInstanceOfExit_class(problem,interpretation,root);
14498 find mustExist(problem, interpretation, root); 17154 find mustExist(problem, interpretation, root);
14499}or{ 17155}or{
14500 find interpretation(problem,interpretation); 17156 find interpretation(problem,interpretation);
14501 find mustInstanceOfRegularState_class(problem,interpretation,root); 17157 find mustInstanceOfTransition_class(problem,interpretation,root);
14502 find mustExist(problem, interpretation, root); 17158 find mustExist(problem, interpretation, root);
14503}or{ 17159}or{
14504 find interpretation(problem,interpretation); 17160 find interpretation(problem,interpretation);
14505 find mustInstanceOfSynchronization_class(problem,interpretation,root); 17161 find mustInstanceOfRegularState_class(problem,interpretation,root);
14506 find mustExist(problem, interpretation, root); 17162 find mustExist(problem, interpretation, root);
14507}or{ 17163}or{
14508 find interpretation(problem,interpretation); 17164 find interpretation(problem,interpretation);
14509 find mustInstanceOfEntry_class(problem,interpretation,root); 17165 find mustInstanceOfRegion_class(problem,interpretation,root);
14510 find mustExist(problem, interpretation, root); 17166 find mustExist(problem, interpretation, root);
14511}or{ 17167}or{
14512 find interpretation(problem,interpretation); 17168 find interpretation(problem,interpretation);
14513 find mustInstanceOfState_class(problem,interpretation,root); 17169 find mustInstanceOfSynchronization_class(problem,interpretation,root);
14514 find mustExist(problem, interpretation, root); 17170 find mustExist(problem, interpretation, root);
14515}or{ 17171}or{
14516 find interpretation(problem,interpretation); 17172 find interpretation(problem,interpretation);
@@ -14529,117 +17185,87 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
14529 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root); 17185 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
14530 find mustExist(problem, interpretation, root); 17186 find mustExist(problem, interpretation, root);
14531} 17187}
14532pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( 17188pattern createObject_Exit_class_by_vertices_reference_Region(
14533 problem:LogicProblem, interpretation:PartialInterpretation,
14534 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14535 container:DefinedElement)
14536{
14537 find interpretation(problem,interpretation);
14538 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14539 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
14540 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14541 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
14542 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
14543 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
14544 find mustInstanceOfVertex_class(problem,interpretation,container);
14545 find mayInstanceOfTransition_class(problem,interpretation,newObject);
14546 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
14547 find mustExist(problem, interpretation, container);
14548 neg find mustExist(problem, interpretation, newObject);
14549}
14550pattern createObject_Transition_class(
14551 problem:LogicProblem, interpretation:PartialInterpretation,
14552 typeInterpretation:PartialComplexTypeInterpretation)
14553{
14554 find interpretation(problem,interpretation);
14555 neg find hasElementInContainment(problem,interpretation);
14556 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14557 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
14558 find mayInstanceOfTransition_class(problem,interpretation,newObject);
14559 find mayExist(problem, interpretation, newObject);
14560 neg find mustExist(problem, interpretation, newObject);
14561}
14562pattern createObject_Synchronization_class_by_vertices_reference_Region(
14563 problem:LogicProblem, interpretation:PartialInterpretation, 17189 problem:LogicProblem, interpretation:PartialInterpretation,
14564 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 17190 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14565 container:DefinedElement) 17191 container:DefinedElement)
14566{ 17192{
14567 find interpretation(problem,interpretation); 17193 find interpretation(problem,interpretation);
14568 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17194 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14569 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 17195 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
14570 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 17196 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14571 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 17197 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
14572 find mustInstanceOfRegion_class(problem,interpretation,container); 17198 find mustInstanceOfRegion_class(problem,interpretation,container);
14573 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 17199 find mayInstanceOfExit_class(problem,interpretation,newObject);
14574 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 17200 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
14575 find mustExist(problem, interpretation, container); 17201 find mustExist(problem, interpretation, container);
14576 neg find mustExist(problem, interpretation, newObject); 17202 neg find mustExist(problem, interpretation, newObject);
14577} 17203}
14578pattern createObject_Synchronization_class( 17204pattern createObject_Exit_class(
14579 problem:LogicProblem, interpretation:PartialInterpretation, 17205 problem:LogicProblem, interpretation:PartialInterpretation,
14580 typeInterpretation:PartialComplexTypeInterpretation) 17206 typeInterpretation:PartialComplexTypeInterpretation)
14581{ 17207{
14582 find interpretation(problem,interpretation); 17208 find interpretation(problem,interpretation);
14583 neg find hasElementInContainment(problem,interpretation); 17209 neg find hasElementInContainment(problem,interpretation);
14584 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17210 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14585 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 17211 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
14586 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 17212 find mayInstanceOfExit_class(problem,interpretation,newObject);
14587 find mayExist(problem, interpretation, newObject); 17213 find mayExist(problem, interpretation, newObject);
14588 neg find mustExist(problem, interpretation, newObject); 17214 neg find mustExist(problem, interpretation, newObject);
14589} 17215}
14590pattern createObject_State_class_by_vertices_reference_Region( 17216pattern createObject_Entry_class_by_vertices_reference_Region(
14591 problem:LogicProblem, interpretation:PartialInterpretation, 17217 problem:LogicProblem, interpretation:PartialInterpretation,
14592 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 17218 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14593 container:DefinedElement) 17219 container:DefinedElement)
14594{ 17220{
14595 find interpretation(problem,interpretation); 17221 find interpretation(problem,interpretation);
14596 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17222 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14597 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 17223 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
14598 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 17224 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14599 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 17225 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
14600 find mustInstanceOfRegion_class(problem,interpretation,container); 17226 find mustInstanceOfRegion_class(problem,interpretation,container);
14601 find mayInstanceOfState_class(problem,interpretation,newObject); 17227 find mayInstanceOfEntry_class(problem,interpretation,newObject);
14602 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 17228 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
14603 find mustExist(problem, interpretation, container); 17229 find mustExist(problem, interpretation, container);
14604 neg find mustExist(problem, interpretation, newObject); 17230 neg find mustExist(problem, interpretation, newObject);
14605} 17231}
14606pattern createObject_State_class( 17232pattern createObject_Entry_class(
14607 problem:LogicProblem, interpretation:PartialInterpretation, 17233 problem:LogicProblem, interpretation:PartialInterpretation,
14608 typeInterpretation:PartialComplexTypeInterpretation) 17234 typeInterpretation:PartialComplexTypeInterpretation)
14609{ 17235{
14610 find interpretation(problem,interpretation); 17236 find interpretation(problem,interpretation);
14611 neg find hasElementInContainment(problem,interpretation); 17237 neg find hasElementInContainment(problem,interpretation);
14612 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17238 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14613 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 17239 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
14614 find mayInstanceOfState_class(problem,interpretation,newObject); 17240 find mayInstanceOfEntry_class(problem,interpretation,newObject);
14615 find mayExist(problem, interpretation, newObject); 17241 find mayExist(problem, interpretation, newObject);
14616 neg find mustExist(problem, interpretation, newObject); 17242 neg find mustExist(problem, interpretation, newObject);
14617} 17243}
14618pattern createObject_Exit_class_by_vertices_reference_Region( 17244pattern createObject_FinalState_class_by_vertices_reference_Region(
14619 problem:LogicProblem, interpretation:PartialInterpretation, 17245 problem:LogicProblem, interpretation:PartialInterpretation,
14620 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 17246 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14621 container:DefinedElement) 17247 container:DefinedElement)
14622{ 17248{
14623 find interpretation(problem,interpretation); 17249 find interpretation(problem,interpretation);
14624 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17250 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14625 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 17251 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
14626 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 17252 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14627 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 17253 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
14628 find mustInstanceOfRegion_class(problem,interpretation,container); 17254 find mustInstanceOfRegion_class(problem,interpretation,container);
14629 find mayInstanceOfExit_class(problem,interpretation,newObject); 17255 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
14630 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 17256 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
14631 find mustExist(problem, interpretation, container); 17257 find mustExist(problem, interpretation, container);
14632 neg find mustExist(problem, interpretation, newObject); 17258 neg find mustExist(problem, interpretation, newObject);
14633} 17259}
14634pattern createObject_Exit_class( 17260pattern createObject_FinalState_class(
14635 problem:LogicProblem, interpretation:PartialInterpretation, 17261 problem:LogicProblem, interpretation:PartialInterpretation,
14636 typeInterpretation:PartialComplexTypeInterpretation) 17262 typeInterpretation:PartialComplexTypeInterpretation)
14637{ 17263{
14638 find interpretation(problem,interpretation); 17264 find interpretation(problem,interpretation);
14639 neg find hasElementInContainment(problem,interpretation); 17265 neg find hasElementInContainment(problem,interpretation);
14640 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17266 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14641 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 17267 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
14642 find mayInstanceOfExit_class(problem,interpretation,newObject); 17268 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
14643 find mayExist(problem, interpretation, newObject); 17269 find mayExist(problem, interpretation, newObject);
14644 neg find mustExist(problem, interpretation, newObject); 17270 neg find mustExist(problem, interpretation, newObject);
14645} 17271}
@@ -14671,31 +17297,15 @@ pattern createObject_Choice_class(
14671 find mayExist(problem, interpretation, newObject); 17297 find mayExist(problem, interpretation, newObject);
14672 neg find mustExist(problem, interpretation, newObject); 17298 neg find mustExist(problem, interpretation, newObject);
14673} 17299}
14674pattern createObject_FinalState_class_by_vertices_reference_Region( 17300pattern createObject_Statechart_class_UndefinedPart(
14675 problem:LogicProblem, interpretation:PartialInterpretation,
14676 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14677 container:DefinedElement)
14678{
14679 find interpretation(problem,interpretation);
14680 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14681 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
14682 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14683 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
14684 find mustInstanceOfRegion_class(problem,interpretation,container);
14685 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
14686 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
14687 find mustExist(problem, interpretation, container);
14688 neg find mustExist(problem, interpretation, newObject);
14689}
14690pattern createObject_FinalState_class(
14691 problem:LogicProblem, interpretation:PartialInterpretation, 17301 problem:LogicProblem, interpretation:PartialInterpretation,
14692 typeInterpretation:PartialComplexTypeInterpretation) 17302 typeInterpretation:PartialComplexTypeInterpretation)
14693{ 17303{
14694 find interpretation(problem,interpretation); 17304 find interpretation(problem,interpretation);
14695 neg find hasElementInContainment(problem,interpretation); 17305 neg find hasElementInContainment(problem,interpretation);
14696 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17306 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14697 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 17307 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart");
14698 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 17308 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject);
14699 find mayExist(problem, interpretation, newObject); 17309 find mayExist(problem, interpretation, newObject);
14700 neg find mustExist(problem, interpretation, newObject); 17310 neg find mustExist(problem, interpretation, newObject);
14701} 17311}
@@ -14727,43 +17337,89 @@ pattern createObject_Region_class(
14727 find mayExist(problem, interpretation, newObject); 17337 find mayExist(problem, interpretation, newObject);
14728 neg find mustExist(problem, interpretation, newObject); 17338 neg find mustExist(problem, interpretation, newObject);
14729} 17339}
14730pattern createObject_Entry_class_by_vertices_reference_Region( 17340pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
17341 problem:LogicProblem, interpretation:PartialInterpretation,
17342 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17343 container:DefinedElement)
17344{
17345 find interpretation(problem,interpretation);
17346 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17347 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
17348 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17349 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
17350 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
17351 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
17352 find mustInstanceOfVertex_class(problem,interpretation,container);
17353 find mayInstanceOfTransition_class(problem,interpretation,newObject);
17354 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
17355 find mustExist(problem, interpretation, container);
17356 neg find mustExist(problem, interpretation, newObject);
17357}
17358pattern createObject_Transition_class(
17359 problem:LogicProblem, interpretation:PartialInterpretation,
17360 typeInterpretation:PartialComplexTypeInterpretation)
17361{
17362 find interpretation(problem,interpretation);
17363 neg find hasElementInContainment(problem,interpretation);
17364 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17365 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
17366 find mayInstanceOfTransition_class(problem,interpretation,newObject);
17367 find mayExist(problem, interpretation, newObject);
17368 neg find mustExist(problem, interpretation, newObject);
17369}
17370pattern createObject_Synchronization_class_by_vertices_reference_Region(
14731 problem:LogicProblem, interpretation:PartialInterpretation, 17371 problem:LogicProblem, interpretation:PartialInterpretation,
14732 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 17372 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
14733 container:DefinedElement) 17373 container:DefinedElement)
14734{ 17374{
14735 find interpretation(problem,interpretation); 17375 find interpretation(problem,interpretation);
14736 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17376 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14737 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 17377 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
14738 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 17378 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
14739 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 17379 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
14740 find mustInstanceOfRegion_class(problem,interpretation,container); 17380 find mustInstanceOfRegion_class(problem,interpretation,container);
14741 find mayInstanceOfEntry_class(problem,interpretation,newObject); 17381 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
14742 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 17382 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
14743 find mustExist(problem, interpretation, container); 17383 find mustExist(problem, interpretation, container);
14744 neg find mustExist(problem, interpretation, newObject); 17384 neg find mustExist(problem, interpretation, newObject);
14745} 17385}
14746pattern createObject_Entry_class( 17386pattern createObject_Synchronization_class(
14747 problem:LogicProblem, interpretation:PartialInterpretation, 17387 problem:LogicProblem, interpretation:PartialInterpretation,
14748 typeInterpretation:PartialComplexTypeInterpretation) 17388 typeInterpretation:PartialComplexTypeInterpretation)
14749{ 17389{
14750 find interpretation(problem,interpretation); 17390 find interpretation(problem,interpretation);
14751 neg find hasElementInContainment(problem,interpretation); 17391 neg find hasElementInContainment(problem,interpretation);
14752 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17392 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14753 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 17393 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
14754 find mayInstanceOfEntry_class(problem,interpretation,newObject); 17394 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
14755 find mayExist(problem, interpretation, newObject); 17395 find mayExist(problem, interpretation, newObject);
14756 neg find mustExist(problem, interpretation, newObject); 17396 neg find mustExist(problem, interpretation, newObject);
14757} 17397}
14758pattern createObject_Statechart_class_UndefinedPart( 17398pattern createObject_State_class_by_vertices_reference_Region(
17399 problem:LogicProblem, interpretation:PartialInterpretation,
17400 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17401 container:DefinedElement)
17402{
17403 find interpretation(problem,interpretation);
17404 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17405 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
17406 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17407 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
17408 find mustInstanceOfRegion_class(problem,interpretation,container);
17409 find mayInstanceOfState_class(problem,interpretation,newObject);
17410 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
17411 find mustExist(problem, interpretation, container);
17412 neg find mustExist(problem, interpretation, newObject);
17413}
17414pattern createObject_State_class(
14759 problem:LogicProblem, interpretation:PartialInterpretation, 17415 problem:LogicProblem, interpretation:PartialInterpretation,
14760 typeInterpretation:PartialComplexTypeInterpretation) 17416 typeInterpretation:PartialComplexTypeInterpretation)
14761{ 17417{
14762 find interpretation(problem,interpretation); 17418 find interpretation(problem,interpretation);
14763 neg find hasElementInContainment(problem,interpretation); 17419 neg find hasElementInContainment(problem,interpretation);
14764 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 17420 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
14765 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart"); 17421 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
14766 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject); 17422 find mayInstanceOfState_class(problem,interpretation,newObject);
14767 find mayExist(problem, interpretation, newObject); 17423 find mayExist(problem, interpretation, newObject);
14768 neg find mustExist(problem, interpretation, newObject); 17424 neg find mustExist(problem, interpretation, newObject);
14769} 17425}
@@ -14771,105 +17427,105 @@ pattern createObject_Statechart_class_UndefinedPart(
14771////////// 17427//////////
14772// 4.2 Type refinement 17428// 4.2 Type refinement
14773////////// 17429//////////
14774pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 17430pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14775 find interpretation(problem,interpretation); 17431 find interpretation(problem,interpretation);
14776 PartialInterpretation.newElements(interpretation,element); 17432 PartialInterpretation.newElements(interpretation,element);
14777 find mayInstanceOfTransition_class(problem,interpretation,element); 17433 find mayInstanceOfExit_class(problem,interpretation,element);
14778 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17434 neg find mustInstanceOfExit_class(problem,interpretation,element);
14779 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 17435 neg find mustInstanceOfEntry_class(problem,interpretation,element);
14780 neg find mustInstanceOfVertex_class(problem,interpretation,element); 17436 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17437 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14781 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17438 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17439 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17440 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17441 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
14782} 17442}
14783pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 17443pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14784 find interpretation(problem,interpretation); 17444 find interpretation(problem,interpretation);
14785 PartialInterpretation.newElements(interpretation,element); 17445 PartialInterpretation.newElements(interpretation,element);
14786 find mayInstanceOfSynchronization_class(problem,interpretation,element); 17446 find mayInstanceOfEntry_class(problem,interpretation,element);
14787 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14788 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
14789 neg find mustInstanceOfExit_class(problem,interpretation,element); 17447 neg find mustInstanceOfExit_class(problem,interpretation,element);
14790 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14791 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14792 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14793 neg find mustInstanceOfEntry_class(problem,interpretation,element); 17448 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17449 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17450 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14794 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17451 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17452 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17453 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17454 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
14795} 17455}
14796pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 17456pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14797 find interpretation(problem,interpretation); 17457 find interpretation(problem,interpretation);
14798 PartialInterpretation.newElements(interpretation,element); 17458 PartialInterpretation.newElements(interpretation,element);
14799 find mayInstanceOfState_class(problem,interpretation,element); 17459 find mayInstanceOfFinalState_class(problem,interpretation,element);
14800 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14801 neg find mustInstanceOfState_class(problem,interpretation,element);
14802 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
14803 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
14804 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 17460 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
14805 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17461 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14806}
14807pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14808 find interpretation(problem,interpretation);
14809 PartialInterpretation.newElements(interpretation,element);
14810 find mayInstanceOfExit_class(problem,interpretation,element);
14811 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14812 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
14813 neg find mustInstanceOfExit_class(problem,interpretation,element);
14814 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14815 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14816 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 17462 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14817 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17463 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
14818 neg find mustInstanceOfEntry_class(problem,interpretation,element); 17464 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14819} 17465}
14820pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 17466pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14821 find interpretation(problem,interpretation); 17467 find interpretation(problem,interpretation);
14822 PartialInterpretation.newElements(interpretation,element); 17468 PartialInterpretation.newElements(interpretation,element);
14823 find mayInstanceOfChoice_class(problem,interpretation,element); 17469 find mayInstanceOfChoice_class(problem,interpretation,element);
14824 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14825 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
14826 neg find mustInstanceOfExit_class(problem,interpretation,element); 17470 neg find mustInstanceOfExit_class(problem,interpretation,element);
14827 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 17471 neg find mustInstanceOfEntry_class(problem,interpretation,element);
14828 neg find mustInstanceOfChoice_class(problem,interpretation,element); 17472 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14829 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 17473 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14830 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17474 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14831 neg find mustInstanceOfEntry_class(problem,interpretation,element); 17475 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17476 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17477 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
14832} 17478}
14833pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 17479pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14834 find interpretation(problem,interpretation); 17480 find interpretation(problem,interpretation);
14835 PartialInterpretation.newElements(interpretation,element); 17481 PartialInterpretation.newElements(interpretation,element);
14836 find mayInstanceOfFinalState_class(problem,interpretation,element); 17482 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
14837 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14838 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
14839 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14840 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
14841 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17483 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17484 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
17485 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17486 neg find mustInstanceOfVertex_class(problem,interpretation,element);
14842} 17487}
14843pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 17488pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14844 find interpretation(problem,interpretation); 17489 find interpretation(problem,interpretation);
14845 PartialInterpretation.newElements(interpretation,element); 17490 PartialInterpretation.newElements(interpretation,element);
14846 find mayInstanceOfRegion_class(problem,interpretation,element); 17491 find mayInstanceOfRegion_class(problem,interpretation,element);
14847 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17492 neg find mustInstanceOfRegion_class(problem,interpretation,element);
14848 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 17493 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14849 neg find mustInstanceOfVertex_class(problem,interpretation,element); 17494 neg find mustInstanceOfVertex_class(problem,interpretation,element);
14850 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17495 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14851} 17496}
14852pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 17497pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14853 find interpretation(problem,interpretation); 17498 find interpretation(problem,interpretation);
14854 PartialInterpretation.newElements(interpretation,element); 17499 PartialInterpretation.newElements(interpretation,element);
14855 find mayInstanceOfEntry_class(problem,interpretation,element); 17500 find mayInstanceOfTransition_class(problem,interpretation,element);
17501 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17502 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17503 neg find mustInstanceOfVertex_class(problem,interpretation,element);
14856 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17504 neg find mustInstanceOfTransition_class(problem,interpretation,element);
14857 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 17505}
17506pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17507 find interpretation(problem,interpretation);
17508 PartialInterpretation.newElements(interpretation,element);
17509 find mayInstanceOfSynchronization_class(problem,interpretation,element);
14858 neg find mustInstanceOfExit_class(problem,interpretation,element); 17510 neg find mustInstanceOfExit_class(problem,interpretation,element);
14859 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14860 neg find mustInstanceOfChoice_class(problem,interpretation,element);
14861 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
14862 neg find mustInstanceOfEntry_class(problem,interpretation,element); 17511 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17512 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17513 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
14863 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17514 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17515 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17516 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17517 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
14864} 17518}
14865pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 17519pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
14866 find interpretation(problem,interpretation); 17520 find interpretation(problem,interpretation);
14867 PartialInterpretation.newElements(interpretation,element); 17521 PartialInterpretation.newElements(interpretation,element);
14868 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 17522 find mayInstanceOfState_class(problem,interpretation,element);
14869 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17523 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
14870 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 17524 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
14871 neg find mustInstanceOfVertex_class(problem,interpretation,element);
14872 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17525 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17526 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
17527 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17528 neg find mustInstanceOfState_class(problem,interpretation,element);
14873} 17529}
14874 17530
14875////////// 17531//////////
@@ -14998,27 +17654,27 @@ private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretat
14998{ 17654{
14999 find interpretation(problem,interpretation); 17655 find interpretation(problem,interpretation);
15000 PartialInterpretation.newElements(interpretation,element); 17656 PartialInterpretation.newElements(interpretation,element);
15001 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 17657 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15002 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17658 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17659 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15003 neg find mustInstanceOfEntry_class(problem,interpretation,element); 17660 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17661 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
15004 neg find mustInstanceOfExit_class(problem,interpretation,element); 17662 neg find mustInstanceOfExit_class(problem,interpretation,element);
17663 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15005 neg find mustInstanceOfChoice_class(problem,interpretation,element); 17664 neg find mustInstanceOfChoice_class(problem,interpretation,element);
15006 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15007 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15008 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15009 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 17665 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
15010 neg find isPrimitive(element); 17666 neg find isPrimitive(element);
15011} or { 17667} or {
15012 find interpretation(problem,interpretation); 17668 find interpretation(problem,interpretation);
15013 PartialInterpretation.openWorldElements(interpretation,element); 17669 PartialInterpretation.openWorldElements(interpretation,element);
15014 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 17670 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15015 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17671 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17672 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15016 neg find mustInstanceOfEntry_class(problem,interpretation,element); 17673 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17674 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
15017 neg find mustInstanceOfExit_class(problem,interpretation,element); 17675 neg find mustInstanceOfExit_class(problem,interpretation,element);
17676 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15018 neg find mustInstanceOfChoice_class(problem,interpretation,element); 17677 neg find mustInstanceOfChoice_class(problem,interpretation,element);
15019 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15020 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15021 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15022 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 17678 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
15023 neg find isPrimitive(element); 17679 neg find isPrimitive(element);
15024} or 17680} or
@@ -15046,21 +17702,21 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
15046{ 17702{
15047 find interpretation(problem,interpretation); 17703 find interpretation(problem,interpretation);
15048 PartialInterpretation.newElements(interpretation,element); 17704 PartialInterpretation.newElements(interpretation,element);
15049 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15050 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15051 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15052 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15053 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 17705 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17706 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17707 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17708 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17709 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15054 neg find scopeDisallowsNewVertex_class(problem, interpretation); 17710 neg find scopeDisallowsNewVertex_class(problem, interpretation);
15055 neg find isPrimitive(element); 17711 neg find isPrimitive(element);
15056} or { 17712} or {
15057 find interpretation(problem,interpretation); 17713 find interpretation(problem,interpretation);
15058 PartialInterpretation.openWorldElements(interpretation,element); 17714 PartialInterpretation.openWorldElements(interpretation,element);
15059 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15060 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15061 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15062 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15063 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 17715 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17716 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17717 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17718 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17719 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15064 neg find scopeDisallowsNewVertex_class(problem, interpretation); 17720 neg find scopeDisallowsNewVertex_class(problem, interpretation);
15065 neg find isPrimitive(element); 17721 neg find isPrimitive(element);
15066} or 17722} or
@@ -15088,17 +17744,17 @@ private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:P
15088{ 17744{
15089 find interpretation(problem,interpretation); 17745 find interpretation(problem,interpretation);
15090 PartialInterpretation.newElements(interpretation,element); 17746 PartialInterpretation.newElements(interpretation,element);
17747 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15091 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17748 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15092 neg find mustInstanceOfVertex_class(problem,interpretation,element); 17749 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15093 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15094 neg find scopeDisallowsNewRegion_class(problem, interpretation); 17750 neg find scopeDisallowsNewRegion_class(problem, interpretation);
15095 neg find isPrimitive(element); 17751 neg find isPrimitive(element);
15096} or { 17752} or {
15097 find interpretation(problem,interpretation); 17753 find interpretation(problem,interpretation);
15098 PartialInterpretation.openWorldElements(interpretation,element); 17754 PartialInterpretation.openWorldElements(interpretation,element);
17755 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15099 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17756 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15100 neg find mustInstanceOfVertex_class(problem,interpretation,element); 17757 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15101 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15102 neg find scopeDisallowsNewRegion_class(problem, interpretation); 17758 neg find scopeDisallowsNewRegion_class(problem, interpretation);
15103 neg find isPrimitive(element); 17759 neg find isPrimitive(element);
15104} or 17760} or
@@ -15126,17 +17782,17 @@ private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretati
15126{ 17782{
15127 find interpretation(problem,interpretation); 17783 find interpretation(problem,interpretation);
15128 PartialInterpretation.newElements(interpretation,element); 17784 PartialInterpretation.newElements(interpretation,element);
17785 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15129 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17786 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15130 neg find mustInstanceOfVertex_class(problem,interpretation,element); 17787 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15131 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15132 neg find scopeDisallowsNewTransition_class(problem, interpretation); 17788 neg find scopeDisallowsNewTransition_class(problem, interpretation);
15133 neg find isPrimitive(element); 17789 neg find isPrimitive(element);
15134} or { 17790} or {
15135 find interpretation(problem,interpretation); 17791 find interpretation(problem,interpretation);
15136 PartialInterpretation.openWorldElements(interpretation,element); 17792 PartialInterpretation.openWorldElements(interpretation,element);
17793 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15137 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17794 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15138 neg find mustInstanceOfVertex_class(problem,interpretation,element); 17795 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15139 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15140 neg find scopeDisallowsNewTransition_class(problem, interpretation); 17796 neg find scopeDisallowsNewTransition_class(problem, interpretation);
15141 neg find isPrimitive(element); 17797 neg find isPrimitive(element);
15142} or 17798} or
@@ -15164,19 +17820,19 @@ private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretati
15164{ 17820{
15165 find interpretation(problem,interpretation); 17821 find interpretation(problem,interpretation);
15166 PartialInterpretation.newElements(interpretation,element); 17822 PartialInterpretation.newElements(interpretation,element);
15167 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15168 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17823 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15169 neg find mustInstanceOfVertex_class(problem,interpretation,element); 17824 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15170 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 17825 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
17826 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15171 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 17827 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
15172 neg find isPrimitive(element); 17828 neg find isPrimitive(element);
15173} or { 17829} or {
15174 find interpretation(problem,interpretation); 17830 find interpretation(problem,interpretation);
15175 PartialInterpretation.openWorldElements(interpretation,element); 17831 PartialInterpretation.openWorldElements(interpretation,element);
15176 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15177 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17832 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15178 neg find mustInstanceOfVertex_class(problem,interpretation,element); 17833 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15179 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 17834 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
17835 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15180 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 17836 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
15181 neg find isPrimitive(element); 17837 neg find isPrimitive(element);
15182} or 17838} or
@@ -15204,25 +17860,25 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
15204{ 17860{
15205 find interpretation(problem,interpretation); 17861 find interpretation(problem,interpretation);
15206 PartialInterpretation.newElements(interpretation,element); 17862 PartialInterpretation.newElements(interpretation,element);
17863 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17864 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17865 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17866 neg find mustInstanceOfExit_class(problem,interpretation,element);
15207 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 17867 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
15208 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17868 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15209 neg find mustInstanceOfExit_class(problem,interpretation,element);
15210 neg find mustInstanceOfChoice_class(problem,interpretation,element); 17869 neg find mustInstanceOfChoice_class(problem,interpretation,element);
15211 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15212 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15213 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15214 neg find scopeDisallowsNewEntry_class(problem, interpretation); 17870 neg find scopeDisallowsNewEntry_class(problem, interpretation);
15215 neg find isPrimitive(element); 17871 neg find isPrimitive(element);
15216} or { 17872} or {
15217 find interpretation(problem,interpretation); 17873 find interpretation(problem,interpretation);
15218 PartialInterpretation.openWorldElements(interpretation,element); 17874 PartialInterpretation.openWorldElements(interpretation,element);
17875 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17876 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17877 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17878 neg find mustInstanceOfExit_class(problem,interpretation,element);
15219 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 17879 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
15220 neg find mustInstanceOfRegion_class(problem,interpretation,element); 17880 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15221 neg find mustInstanceOfExit_class(problem,interpretation,element);
15222 neg find mustInstanceOfChoice_class(problem,interpretation,element); 17881 neg find mustInstanceOfChoice_class(problem,interpretation,element);
15223 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15224 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15225 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15226 neg find scopeDisallowsNewEntry_class(problem, interpretation); 17882 neg find scopeDisallowsNewEntry_class(problem, interpretation);
15227 neg find isPrimitive(element); 17883 neg find isPrimitive(element);
15228} or 17884} or
@@ -15250,25 +17906,25 @@ private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpr
15250{ 17906{
15251 find interpretation(problem,interpretation); 17907 find interpretation(problem,interpretation);
15252 PartialInterpretation.newElements(interpretation,element); 17908 PartialInterpretation.newElements(interpretation,element);
17909 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17910 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17911 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15253 neg find mustInstanceOfEntry_class(problem,interpretation,element); 17912 neg find mustInstanceOfEntry_class(problem,interpretation,element);
15254 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15255 neg find mustInstanceOfExit_class(problem,interpretation,element); 17913 neg find mustInstanceOfExit_class(problem,interpretation,element);
15256 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 17914 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15257 neg find mustInstanceOfChoice_class(problem,interpretation,element); 17915 neg find mustInstanceOfChoice_class(problem,interpretation,element);
15258 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15259 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15260 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 17916 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
15261 neg find isPrimitive(element); 17917 neg find isPrimitive(element);
15262} or { 17918} or {
15263 find interpretation(problem,interpretation); 17919 find interpretation(problem,interpretation);
15264 PartialInterpretation.openWorldElements(interpretation,element); 17920 PartialInterpretation.openWorldElements(interpretation,element);
17921 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17922 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17923 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15265 neg find mustInstanceOfEntry_class(problem,interpretation,element); 17924 neg find mustInstanceOfEntry_class(problem,interpretation,element);
15266 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15267 neg find mustInstanceOfExit_class(problem,interpretation,element); 17925 neg find mustInstanceOfExit_class(problem,interpretation,element);
15268 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 17926 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15269 neg find mustInstanceOfChoice_class(problem,interpretation,element); 17927 neg find mustInstanceOfChoice_class(problem,interpretation,element);
15270 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15271 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15272 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 17928 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
15273 neg find isPrimitive(element); 17929 neg find isPrimitive(element);
15274} or 17930} or
@@ -15296,21 +17952,21 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
15296{ 17952{
15297 find interpretation(problem,interpretation); 17953 find interpretation(problem,interpretation);
15298 PartialInterpretation.newElements(interpretation,element); 17954 PartialInterpretation.newElements(interpretation,element);
15299 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15300 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
15301 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15302 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17955 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15303 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 17956 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
17957 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
17958 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17959 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15304 neg find scopeDisallowsNewState_class(problem, interpretation); 17960 neg find scopeDisallowsNewState_class(problem, interpretation);
15305 neg find isPrimitive(element); 17961 neg find isPrimitive(element);
15306} or { 17962} or {
15307 find interpretation(problem,interpretation); 17963 find interpretation(problem,interpretation);
15308 PartialInterpretation.openWorldElements(interpretation,element); 17964 PartialInterpretation.openWorldElements(interpretation,element);
15309 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15310 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
15311 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15312 neg find mustInstanceOfTransition_class(problem,interpretation,element); 17965 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15313 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 17966 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
17967 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
17968 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17969 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15314 neg find scopeDisallowsNewState_class(problem, interpretation); 17970 neg find scopeDisallowsNewState_class(problem, interpretation);
15315 neg find isPrimitive(element); 17971 neg find isPrimitive(element);
15316} or 17972} or
@@ -15338,21 +17994,21 @@ private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpreta
15338{ 17994{
15339 find interpretation(problem,interpretation); 17995 find interpretation(problem,interpretation);
15340 PartialInterpretation.newElements(interpretation,element); 17996 PartialInterpretation.newElements(interpretation,element);
15341 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 17997 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17998 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15342 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 17999 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
15343 neg find mustInstanceOfRegion_class(problem,interpretation,element); 18000 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15344 neg find mustInstanceOfTransition_class(problem,interpretation,element); 18001 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15345 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15346 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 18002 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
15347 neg find isPrimitive(element); 18003 neg find isPrimitive(element);
15348} or { 18004} or {
15349 find interpretation(problem,interpretation); 18005 find interpretation(problem,interpretation);
15350 PartialInterpretation.openWorldElements(interpretation,element); 18006 PartialInterpretation.openWorldElements(interpretation,element);
15351 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 18007 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18008 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15352 neg find mustInstanceOfFinalState_class(problem,interpretation,element); 18009 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
15353 neg find mustInstanceOfRegion_class(problem,interpretation,element); 18010 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15354 neg find mustInstanceOfTransition_class(problem,interpretation,element); 18011 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15355 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15356 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 18012 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
15357 neg find isPrimitive(element); 18013 neg find isPrimitive(element);
15358} or 18014} or
@@ -15380,21 +18036,21 @@ private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interp
15380{ 18036{
15381 find interpretation(problem,interpretation); 18037 find interpretation(problem,interpretation);
15382 PartialInterpretation.newElements(interpretation,element); 18038 PartialInterpretation.newElements(interpretation,element);
15383 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15384 neg find mustInstanceOfTransition_class(problem,interpretation,element); 18039 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15385 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 18040 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
15386 neg find mustInstanceOfVertex_class(problem,interpretation,element); 18041 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15387 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 18042 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
18043 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15388 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 18044 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
15389 neg find isPrimitive(element); 18045 neg find isPrimitive(element);
15390} or { 18046} or {
15391 find interpretation(problem,interpretation); 18047 find interpretation(problem,interpretation);
15392 PartialInterpretation.openWorldElements(interpretation,element); 18048 PartialInterpretation.openWorldElements(interpretation,element);
15393 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15394 neg find mustInstanceOfTransition_class(problem,interpretation,element); 18049 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15395 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 18050 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
15396 neg find mustInstanceOfVertex_class(problem,interpretation,element); 18051 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15397 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 18052 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
18053 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15398 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 18054 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
15399 neg find isPrimitive(element); 18055 neg find isPrimitive(element);
15400} or 18056} or
@@ -15422,25 +18078,25 @@ private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:P
15422{ 18078{
15423 find interpretation(problem,interpretation); 18079 find interpretation(problem,interpretation);
15424 PartialInterpretation.newElements(interpretation,element); 18080 PartialInterpretation.newElements(interpretation,element);
15425 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 18081 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18082 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18083 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
18084 neg find mustInstanceOfExit_class(problem,interpretation,element);
15426 neg find mustInstanceOfEntry_class(problem,interpretation,element); 18085 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18086 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
15427 neg find mustInstanceOfRegion_class(problem,interpretation,element); 18087 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15428 neg find mustInstanceOfExit_class(problem,interpretation,element);
15429 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15430 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15431 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15432 neg find scopeDisallowsNewChoice_class(problem, interpretation); 18088 neg find scopeDisallowsNewChoice_class(problem, interpretation);
15433 neg find isPrimitive(element); 18089 neg find isPrimitive(element);
15434} or { 18090} or {
15435 find interpretation(problem,interpretation); 18091 find interpretation(problem,interpretation);
15436 PartialInterpretation.openWorldElements(interpretation,element); 18092 PartialInterpretation.openWorldElements(interpretation,element);
15437 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 18093 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18094 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18095 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
18096 neg find mustInstanceOfExit_class(problem,interpretation,element);
15438 neg find mustInstanceOfEntry_class(problem,interpretation,element); 18097 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18098 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
15439 neg find mustInstanceOfRegion_class(problem,interpretation,element); 18099 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15440 neg find mustInstanceOfExit_class(problem,interpretation,element);
15441 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15442 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15443 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15444 neg find scopeDisallowsNewChoice_class(problem, interpretation); 18100 neg find scopeDisallowsNewChoice_class(problem, interpretation);
15445 neg find isPrimitive(element); 18101 neg find isPrimitive(element);
15446} or 18102} or
@@ -15468,25 +18124,25 @@ private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:Par
15468{ 18124{
15469 find interpretation(problem,interpretation); 18125 find interpretation(problem,interpretation);
15470 PartialInterpretation.newElements(interpretation,element); 18126 PartialInterpretation.newElements(interpretation,element);
18127 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18128 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18129 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15471 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 18130 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
15472 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15473 neg find mustInstanceOfEntry_class(problem,interpretation,element); 18131 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18132 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15474 neg find mustInstanceOfChoice_class(problem,interpretation,element); 18133 neg find mustInstanceOfChoice_class(problem,interpretation,element);
15475 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15476 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15477 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15478 neg find scopeDisallowsNewExit_class(problem, interpretation); 18134 neg find scopeDisallowsNewExit_class(problem, interpretation);
15479 neg find isPrimitive(element); 18135 neg find isPrimitive(element);
15480} or { 18136} or {
15481 find interpretation(problem,interpretation); 18137 find interpretation(problem,interpretation);
15482 PartialInterpretation.openWorldElements(interpretation,element); 18138 PartialInterpretation.openWorldElements(interpretation,element);
18139 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18140 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18141 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15483 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 18142 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
15484 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15485 neg find mustInstanceOfEntry_class(problem,interpretation,element); 18143 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18144 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15486 neg find mustInstanceOfChoice_class(problem,interpretation,element); 18145 neg find mustInstanceOfChoice_class(problem,interpretation,element);
15487 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
15488 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15489 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
15490 neg find scopeDisallowsNewExit_class(problem, interpretation); 18146 neg find scopeDisallowsNewExit_class(problem, interpretation);
15491 neg find isPrimitive(element); 18147 neg find isPrimitive(element);
15492} or 18148} or
@@ -15514,19 +18170,19 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
15514{ 18170{
15515 find interpretation(problem,interpretation); 18171 find interpretation(problem,interpretation);
15516 PartialInterpretation.newElements(interpretation,element); 18172 PartialInterpretation.newElements(interpretation,element);
15517 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15518 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15519 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15520 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 18173 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18174 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18175 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18176 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15521 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 18177 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
15522 neg find isPrimitive(element); 18178 neg find isPrimitive(element);
15523} or { 18179} or {
15524 find interpretation(problem,interpretation); 18180 find interpretation(problem,interpretation);
15525 PartialInterpretation.openWorldElements(interpretation,element); 18181 PartialInterpretation.openWorldElements(interpretation,element);
15526 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15527 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15528 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15529 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 18182 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18183 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18184 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18185 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
15530 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 18186 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
15531 neg find isPrimitive(element); 18187 neg find isPrimitive(element);
15532} or 18188} or
@@ -15575,16 +18231,16 @@ private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem
15575{ 18231{
15576 find interpretation(problem,interpretation); 18232 find interpretation(problem,interpretation);
15577 PartialInterpretation.newElements(interpretation,element); 18233 PartialInterpretation.newElements(interpretation,element);
15578 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15579 neg find mustInstanceOfTransition_class(problem,interpretation,element); 18234 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18235 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15580 neg find mustInstanceOfVertex_class(problem,interpretation,element); 18236 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15581 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 18237 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
15582 neg find isPrimitive(element); 18238 neg find isPrimitive(element);
15583} or { 18239} or {
15584 find interpretation(problem,interpretation); 18240 find interpretation(problem,interpretation);
15585 PartialInterpretation.openWorldElements(interpretation,element); 18241 PartialInterpretation.openWorldElements(interpretation,element);
15586 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15587 neg find mustInstanceOfTransition_class(problem,interpretation,element); 18242 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18243 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15588 neg find mustInstanceOfVertex_class(problem,interpretation,element); 18244 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15589 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 18245 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
15590 neg find isPrimitive(element); 18246 neg find isPrimitive(element);
@@ -15634,18 +18290,18 @@ private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicP
15634{ 18290{
15635 find interpretation(problem,interpretation); 18291 find interpretation(problem,interpretation);
15636 PartialInterpretation.newElements(interpretation,element); 18292 PartialInterpretation.newElements(interpretation,element);
15637 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15638 neg find mustInstanceOfTransition_class(problem,interpretation,element); 18293 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15639 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 18294 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
18295 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15640 neg find mustInstanceOfVertex_class(problem,interpretation,element); 18296 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15641 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 18297 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
15642 neg find isPrimitive(element); 18298 neg find isPrimitive(element);
15643} or { 18299} or {
15644 find interpretation(problem,interpretation); 18300 find interpretation(problem,interpretation);
15645 PartialInterpretation.openWorldElements(interpretation,element); 18301 PartialInterpretation.openWorldElements(interpretation,element);
15646 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15647 neg find mustInstanceOfTransition_class(problem,interpretation,element); 18302 neg find mustInstanceOfTransition_class(problem,interpretation,element);
15648 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 18303 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
18304 neg find mustInstanceOfRegion_class(problem,interpretation,element);
15649 neg find mustInstanceOfVertex_class(problem,interpretation,element); 18305 neg find mustInstanceOfVertex_class(problem,interpretation,element);
15650 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 18306 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
15651 neg find isPrimitive(element); 18307 neg find isPrimitive(element);
@@ -17387,43 +20043,43 @@ pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_
17387private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 20043private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
17388{ 20044{
17389 find interpretation(problem,interpretation); 20045 find interpretation(problem,interpretation);
17390 find mustInstanceOfPseudostate_class(problem,interpretation,root); 20046 find mustInstanceOfSynchronization_class(problem,interpretation,root);
17391 find mustExist(problem, interpretation, root); 20047 find mustExist(problem, interpretation, root);
17392}or{ 20048}or{
17393 find interpretation(problem,interpretation); 20049 find interpretation(problem,interpretation);
17394 find mustInstanceOfEntry_class(problem,interpretation,root); 20050 find mustInstanceOfVertex_class(problem,interpretation,root);
17395 find mustExist(problem, interpretation, root); 20051 find mustExist(problem, interpretation, root);
17396}or{ 20052}or{
17397 find interpretation(problem,interpretation); 20053 find interpretation(problem,interpretation);
17398 find mustInstanceOfTransition_class(problem,interpretation,root); 20054 find mustInstanceOfExit_class(problem,interpretation,root);
17399 find mustExist(problem, interpretation, root); 20055 find mustExist(problem, interpretation, root);
17400}or{ 20056}or{
17401 find interpretation(problem,interpretation); 20057 find interpretation(problem,interpretation);
17402 find mustInstanceOfCompositeElement_class(problem,interpretation,root); 20058 find mustInstanceOfRegion_class(problem,interpretation,root);
17403 find mustExist(problem, interpretation, root); 20059 find mustExist(problem, interpretation, root);
17404}or{ 20060}or{
17405 find interpretation(problem,interpretation); 20061 find interpretation(problem,interpretation);
17406 find mustInstanceOfState_class(problem,interpretation,root); 20062 find mustInstanceOfEntry_class(problem,interpretation,root);
17407 find mustExist(problem, interpretation, root); 20063 find mustExist(problem, interpretation, root);
17408}or{ 20064}or{
17409 find interpretation(problem,interpretation); 20065 find interpretation(problem,interpretation);
17410 find mustInstanceOfChoice_class(problem,interpretation,root); 20066 find mustInstanceOfTransition_class(problem,interpretation,root);
17411 find mustExist(problem, interpretation, root); 20067 find mustExist(problem, interpretation, root);
17412}or{ 20068}or{
17413 find interpretation(problem,interpretation); 20069 find interpretation(problem,interpretation);
17414 find mustInstanceOfRegularState_class(problem,interpretation,root); 20070 find mustInstanceOfPseudostate_class(problem,interpretation,root);
17415 find mustExist(problem, interpretation, root); 20071 find mustExist(problem, interpretation, root);
17416}or{ 20072}or{
17417 find interpretation(problem,interpretation); 20073 find interpretation(problem,interpretation);
17418 find mustInstanceOfRegion_class(problem,interpretation,root); 20074 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
17419 find mustExist(problem, interpretation, root); 20075 find mustExist(problem, interpretation, root);
17420}or{ 20076}or{
17421 find interpretation(problem,interpretation); 20077 find interpretation(problem,interpretation);
17422 find mustInstanceOfVertex_class(problem,interpretation,root); 20078 find mustInstanceOfChoice_class(problem,interpretation,root);
17423 find mustExist(problem, interpretation, root); 20079 find mustExist(problem, interpretation, root);
17424}or{ 20080}or{
17425 find interpretation(problem,interpretation); 20081 find interpretation(problem,interpretation);
17426 find mustInstanceOfExit_class(problem,interpretation,root); 20082 find mustInstanceOfRegularState_class(problem,interpretation,root);
17427 find mustExist(problem, interpretation, root); 20083 find mustExist(problem, interpretation, root);
17428}or{ 20084}or{
17429 find interpretation(problem,interpretation); 20085 find interpretation(problem,interpretation);
@@ -17431,11 +20087,11 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
17431 find mustExist(problem, interpretation, root); 20087 find mustExist(problem, interpretation, root);
17432}or{ 20088}or{
17433 find interpretation(problem,interpretation); 20089 find interpretation(problem,interpretation);
17434 find mustInstanceOfSynchronization_class(problem,interpretation,root); 20090 find mustInstanceOfStatechart_class(problem,interpretation,root);
17435 find mustExist(problem, interpretation, root); 20091 find mustExist(problem, interpretation, root);
17436}or{ 20092}or{
17437 find interpretation(problem,interpretation); 20093 find interpretation(problem,interpretation);
17438 find mustInstanceOfStatechart_class(problem,interpretation,root); 20094 find mustInstanceOfState_class(problem,interpretation,root);
17439 find mustExist(problem, interpretation, root); 20095 find mustExist(problem, interpretation, root);
17440}or{ 20096}or{
17441 find interpretation(problem,interpretation); 20097 find interpretation(problem,interpretation);
@@ -17454,59 +20110,73 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
17454 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root); 20110 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
17455 find mustExist(problem, interpretation, root); 20111 find mustExist(problem, interpretation, root);
17456} 20112}
17457pattern createObject_State_class_by_vertices_reference_Region( 20113pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
17458 problem:LogicProblem, interpretation:PartialInterpretation, 20114 problem:LogicProblem, interpretation:PartialInterpretation,
17459 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 20115 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17460 container:DefinedElement) 20116 container:DefinedElement)
17461{ 20117{
17462 find interpretation(problem,interpretation); 20118 find interpretation(problem,interpretation);
17463 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20119 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17464 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 20120 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
17465 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 20121 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17466 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 20122 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
17467 find mustInstanceOfRegion_class(problem,interpretation,container); 20123 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
17468 find mayInstanceOfState_class(problem,interpretation,newObject); 20124 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
17469 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 20125 find mustInstanceOfVertex_class(problem,interpretation,container);
20126 find mayInstanceOfTransition_class(problem,interpretation,newObject);
20127 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
17470 find mustExist(problem, interpretation, container); 20128 find mustExist(problem, interpretation, container);
17471 neg find mustExist(problem, interpretation, newObject); 20129 neg find mustExist(problem, interpretation, newObject);
17472} 20130}
17473pattern createObject_State_class( 20131pattern createObject_Transition_class(
17474 problem:LogicProblem, interpretation:PartialInterpretation, 20132 problem:LogicProblem, interpretation:PartialInterpretation,
17475 typeInterpretation:PartialComplexTypeInterpretation) 20133 typeInterpretation:PartialComplexTypeInterpretation)
17476{ 20134{
17477 find interpretation(problem,interpretation); 20135 find interpretation(problem,interpretation);
17478 neg find hasElementInContainment(problem,interpretation); 20136 neg find hasElementInContainment(problem,interpretation);
17479 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20137 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17480 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 20138 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
17481 find mayInstanceOfState_class(problem,interpretation,newObject); 20139 find mayInstanceOfTransition_class(problem,interpretation,newObject);
17482 find mayExist(problem, interpretation, newObject); 20140 find mayExist(problem, interpretation, newObject);
17483 neg find mustExist(problem, interpretation, newObject); 20141 neg find mustExist(problem, interpretation, newObject);
17484} 20142}
17485pattern createObject_FinalState_class_by_vertices_reference_Region( 20143pattern createObject_Statechart_class_UndefinedPart(
20144 problem:LogicProblem, interpretation:PartialInterpretation,
20145 typeInterpretation:PartialComplexTypeInterpretation)
20146{
20147 find interpretation(problem,interpretation);
20148 neg find hasElementInContainment(problem,interpretation);
20149 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20150 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart");
20151 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject);
20152 find mayExist(problem, interpretation, newObject);
20153 neg find mustExist(problem, interpretation, newObject);
20154}
20155pattern createObject_Entry_class_by_vertices_reference_Region(
17486 problem:LogicProblem, interpretation:PartialInterpretation, 20156 problem:LogicProblem, interpretation:PartialInterpretation,
17487 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 20157 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17488 container:DefinedElement) 20158 container:DefinedElement)
17489{ 20159{
17490 find interpretation(problem,interpretation); 20160 find interpretation(problem,interpretation);
17491 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20161 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17492 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 20162 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
17493 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 20163 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17494 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 20164 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
17495 find mustInstanceOfRegion_class(problem,interpretation,container); 20165 find mustInstanceOfRegion_class(problem,interpretation,container);
17496 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 20166 find mayInstanceOfEntry_class(problem,interpretation,newObject);
17497 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 20167 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
17498 find mustExist(problem, interpretation, container); 20168 find mustExist(problem, interpretation, container);
17499 neg find mustExist(problem, interpretation, newObject); 20169 neg find mustExist(problem, interpretation, newObject);
17500} 20170}
17501pattern createObject_FinalState_class( 20171pattern createObject_Entry_class(
17502 problem:LogicProblem, interpretation:PartialInterpretation, 20172 problem:LogicProblem, interpretation:PartialInterpretation,
17503 typeInterpretation:PartialComplexTypeInterpretation) 20173 typeInterpretation:PartialComplexTypeInterpretation)
17504{ 20174{
17505 find interpretation(problem,interpretation); 20175 find interpretation(problem,interpretation);
17506 neg find hasElementInContainment(problem,interpretation); 20176 neg find hasElementInContainment(problem,interpretation);
17507 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20177 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17508 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 20178 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
17509 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 20179 find mayInstanceOfEntry_class(problem,interpretation,newObject);
17510 find mayExist(problem, interpretation, newObject); 20180 find mayExist(problem, interpretation, newObject);
17511 neg find mustExist(problem, interpretation, newObject); 20181 neg find mustExist(problem, interpretation, newObject);
17512} 20182}
@@ -17538,157 +20208,143 @@ pattern createObject_Synchronization_class(
17538 find mayExist(problem, interpretation, newObject); 20208 find mayExist(problem, interpretation, newObject);
17539 neg find mustExist(problem, interpretation, newObject); 20209 neg find mustExist(problem, interpretation, newObject);
17540} 20210}
17541pattern createObject_Region_class_by_regions_reference_CompositeElement( 20211pattern createObject_Exit_class_by_vertices_reference_Region(
17542 problem:LogicProblem, interpretation:PartialInterpretation, 20212 problem:LogicProblem, interpretation:PartialInterpretation,
17543 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 20213 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17544 container:DefinedElement) 20214 container:DefinedElement)
17545{ 20215{
17546 find interpretation(problem,interpretation); 20216 find interpretation(problem,interpretation);
17547 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20217 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17548 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class"); 20218 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
17549 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 20219 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17550 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement"); 20220 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
17551 find mustInstanceOfCompositeElement_class(problem,interpretation,container); 20221 find mustInstanceOfRegion_class(problem,interpretation,container);
17552 find mayInstanceOfRegion_class(problem,interpretation,newObject); 20222 find mayInstanceOfExit_class(problem,interpretation,newObject);
17553 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject); 20223 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
17554 find mustExist(problem, interpretation, container); 20224 find mustExist(problem, interpretation, container);
17555 neg find mustExist(problem, interpretation, newObject); 20225 neg find mustExist(problem, interpretation, newObject);
17556} 20226}
17557pattern createObject_Region_class( 20227pattern createObject_Exit_class(
17558 problem:LogicProblem, interpretation:PartialInterpretation, 20228 problem:LogicProblem, interpretation:PartialInterpretation,
17559 typeInterpretation:PartialComplexTypeInterpretation) 20229 typeInterpretation:PartialComplexTypeInterpretation)
17560{ 20230{
17561 find interpretation(problem,interpretation); 20231 find interpretation(problem,interpretation);
17562 neg find hasElementInContainment(problem,interpretation); 20232 neg find hasElementInContainment(problem,interpretation);
17563 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20233 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17564 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class"); 20234 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
17565 find mayInstanceOfRegion_class(problem,interpretation,newObject); 20235 find mayInstanceOfExit_class(problem,interpretation,newObject);
17566 find mayExist(problem, interpretation, newObject); 20236 find mayExist(problem, interpretation, newObject);
17567 neg find mustExist(problem, interpretation, newObject); 20237 neg find mustExist(problem, interpretation, newObject);
17568} 20238}
17569pattern createObject_Entry_class_by_vertices_reference_Region( 20239pattern createObject_State_class_by_vertices_reference_Region(
17570 problem:LogicProblem, interpretation:PartialInterpretation, 20240 problem:LogicProblem, interpretation:PartialInterpretation,
17571 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 20241 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17572 container:DefinedElement) 20242 container:DefinedElement)
17573{ 20243{
17574 find interpretation(problem,interpretation); 20244 find interpretation(problem,interpretation);
17575 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20245 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17576 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 20246 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
17577 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 20247 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17578 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 20248 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
17579 find mustInstanceOfRegion_class(problem,interpretation,container); 20249 find mustInstanceOfRegion_class(problem,interpretation,container);
17580 find mayInstanceOfEntry_class(problem,interpretation,newObject); 20250 find mayInstanceOfState_class(problem,interpretation,newObject);
17581 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 20251 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
17582 find mustExist(problem, interpretation, container); 20252 find mustExist(problem, interpretation, container);
17583 neg find mustExist(problem, interpretation, newObject); 20253 neg find mustExist(problem, interpretation, newObject);
17584} 20254}
17585pattern createObject_Entry_class( 20255pattern createObject_State_class(
17586 problem:LogicProblem, interpretation:PartialInterpretation, 20256 problem:LogicProblem, interpretation:PartialInterpretation,
17587 typeInterpretation:PartialComplexTypeInterpretation) 20257 typeInterpretation:PartialComplexTypeInterpretation)
17588{ 20258{
17589 find interpretation(problem,interpretation); 20259 find interpretation(problem,interpretation);
17590 neg find hasElementInContainment(problem,interpretation); 20260 neg find hasElementInContainment(problem,interpretation);
17591 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20261 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17592 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 20262 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
17593 find mayInstanceOfEntry_class(problem,interpretation,newObject); 20263 find mayInstanceOfState_class(problem,interpretation,newObject);
17594 find mayExist(problem, interpretation, newObject); 20264 find mayExist(problem, interpretation, newObject);
17595 neg find mustExist(problem, interpretation, newObject); 20265 neg find mustExist(problem, interpretation, newObject);
17596} 20266}
17597pattern createObject_Exit_class_by_vertices_reference_Region( 20267pattern createObject_FinalState_class_by_vertices_reference_Region(
17598 problem:LogicProblem, interpretation:PartialInterpretation, 20268 problem:LogicProblem, interpretation:PartialInterpretation,
17599 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 20269 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17600 container:DefinedElement) 20270 container:DefinedElement)
17601{ 20271{
17602 find interpretation(problem,interpretation); 20272 find interpretation(problem,interpretation);
17603 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20273 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17604 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 20274 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
17605 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 20275 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17606 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 20276 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
17607 find mustInstanceOfRegion_class(problem,interpretation,container); 20277 find mustInstanceOfRegion_class(problem,interpretation,container);
17608 find mayInstanceOfExit_class(problem,interpretation,newObject); 20278 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
17609 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 20279 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
17610 find mustExist(problem, interpretation, container); 20280 find mustExist(problem, interpretation, container);
17611 neg find mustExist(problem, interpretation, newObject); 20281 neg find mustExist(problem, interpretation, newObject);
17612} 20282}
17613pattern createObject_Exit_class( 20283pattern createObject_FinalState_class(
17614 problem:LogicProblem, interpretation:PartialInterpretation, 20284 problem:LogicProblem, interpretation:PartialInterpretation,
17615 typeInterpretation:PartialComplexTypeInterpretation) 20285 typeInterpretation:PartialComplexTypeInterpretation)
17616{ 20286{
17617 find interpretation(problem,interpretation); 20287 find interpretation(problem,interpretation);
17618 neg find hasElementInContainment(problem,interpretation); 20288 neg find hasElementInContainment(problem,interpretation);
17619 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20289 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17620 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 20290 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
17621 find mayInstanceOfExit_class(problem,interpretation,newObject); 20291 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
17622 find mayExist(problem, interpretation, newObject); 20292 find mayExist(problem, interpretation, newObject);
17623 neg find mustExist(problem, interpretation, newObject); 20293 neg find mustExist(problem, interpretation, newObject);
17624} 20294}
17625pattern createObject_Choice_class_by_vertices_reference_Region( 20295pattern createObject_Region_class_by_regions_reference_CompositeElement(
17626 problem:LogicProblem, interpretation:PartialInterpretation, 20296 problem:LogicProblem, interpretation:PartialInterpretation,
17627 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 20297 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17628 container:DefinedElement) 20298 container:DefinedElement)
17629{ 20299{
17630 find interpretation(problem,interpretation); 20300 find interpretation(problem,interpretation);
17631 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20301 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17632 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 20302 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
17633 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 20303 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17634 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 20304 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement");
17635 find mustInstanceOfRegion_class(problem,interpretation,container); 20305 find mustInstanceOfCompositeElement_class(problem,interpretation,container);
17636 find mayInstanceOfChoice_class(problem,interpretation,newObject); 20306 find mayInstanceOfRegion_class(problem,interpretation,newObject);
17637 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 20307 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject);
17638 find mustExist(problem, interpretation, container); 20308 find mustExist(problem, interpretation, container);
17639 neg find mustExist(problem, interpretation, newObject); 20309 neg find mustExist(problem, interpretation, newObject);
17640} 20310}
17641pattern createObject_Choice_class( 20311pattern createObject_Region_class(
17642 problem:LogicProblem, interpretation:PartialInterpretation, 20312 problem:LogicProblem, interpretation:PartialInterpretation,
17643 typeInterpretation:PartialComplexTypeInterpretation) 20313 typeInterpretation:PartialComplexTypeInterpretation)
17644{ 20314{
17645 find interpretation(problem,interpretation); 20315 find interpretation(problem,interpretation);
17646 neg find hasElementInContainment(problem,interpretation); 20316 neg find hasElementInContainment(problem,interpretation);
17647 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20317 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17648 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 20318 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
17649 find mayInstanceOfChoice_class(problem,interpretation,newObject); 20319 find mayInstanceOfRegion_class(problem,interpretation,newObject);
17650 find mayExist(problem, interpretation, newObject); 20320 find mayExist(problem, interpretation, newObject);
17651 neg find mustExist(problem, interpretation, newObject); 20321 neg find mustExist(problem, interpretation, newObject);
17652} 20322}
17653pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( 20323pattern createObject_Choice_class_by_vertices_reference_Region(
17654 problem:LogicProblem, interpretation:PartialInterpretation, 20324 problem:LogicProblem, interpretation:PartialInterpretation,
17655 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 20325 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
17656 container:DefinedElement) 20326 container:DefinedElement)
17657{ 20327{
17658 find interpretation(problem,interpretation); 20328 find interpretation(problem,interpretation);
17659 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20329 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17660 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 20330 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
17661 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 20331 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
17662 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex"); 20332 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
17663 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 20333 find mustInstanceOfRegion_class(problem,interpretation,container);
17664 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition"); 20334 find mayInstanceOfChoice_class(problem,interpretation,newObject);
17665 find mustInstanceOfVertex_class(problem,interpretation,container); 20335 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
17666 find mayInstanceOfTransition_class(problem,interpretation,newObject);
17667 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
17668 find mustExist(problem, interpretation, container); 20336 find mustExist(problem, interpretation, container);
17669 neg find mustExist(problem, interpretation, newObject); 20337 neg find mustExist(problem, interpretation, newObject);
17670} 20338}
17671pattern createObject_Transition_class( 20339pattern createObject_Choice_class(
17672 problem:LogicProblem, interpretation:PartialInterpretation,
17673 typeInterpretation:PartialComplexTypeInterpretation)
17674{
17675 find interpretation(problem,interpretation);
17676 neg find hasElementInContainment(problem,interpretation);
17677 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17678 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
17679 find mayInstanceOfTransition_class(problem,interpretation,newObject);
17680 find mayExist(problem, interpretation, newObject);
17681 neg find mustExist(problem, interpretation, newObject);
17682}
17683pattern createObject_Statechart_class_UndefinedPart(
17684 problem:LogicProblem, interpretation:PartialInterpretation, 20340 problem:LogicProblem, interpretation:PartialInterpretation,
17685 typeInterpretation:PartialComplexTypeInterpretation) 20341 typeInterpretation:PartialComplexTypeInterpretation)
17686{ 20342{
17687 find interpretation(problem,interpretation); 20343 find interpretation(problem,interpretation);
17688 neg find hasElementInContainment(problem,interpretation); 20344 neg find hasElementInContainment(problem,interpretation);
17689 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 20345 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
17690 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart"); 20346 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
17691 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject); 20347 find mayInstanceOfChoice_class(problem,interpretation,newObject);
17692 find mayExist(problem, interpretation, newObject); 20348 find mayExist(problem, interpretation, newObject);
17693 neg find mustExist(problem, interpretation, newObject); 20349 neg find mustExist(problem, interpretation, newObject);
17694} 20350}
@@ -17696,105 +20352,105 @@ pattern createObject_Statechart_class_UndefinedPart(
17696////////// 20352//////////
17697// 4.2 Type refinement 20353// 4.2 Type refinement
17698////////// 20354//////////
17699pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 20355pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17700 find interpretation(problem,interpretation); 20356 find interpretation(problem,interpretation);
17701 PartialInterpretation.newElements(interpretation,element); 20357 PartialInterpretation.newElements(interpretation,element);
17702 find mayInstanceOfState_class(problem,interpretation,element); 20358 find mayInstanceOfTransition_class(problem,interpretation,element);
17703 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 20359 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17704 neg find mustInstanceOfState_class(problem,interpretation,element);
17705 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
17706 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17707 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20360 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17708 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
17709}
17710pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17711 find interpretation(problem,interpretation);
17712 PartialInterpretation.newElements(interpretation,element);
17713 find mayInstanceOfFinalState_class(problem,interpretation,element);
17714 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
17715 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
17716 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20361 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17717 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20362 neg find mustInstanceOfVertex_class(problem,interpretation,element);
17718 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17719} 20363}
17720pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 20364pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17721 find interpretation(problem,interpretation); 20365 find interpretation(problem,interpretation);
17722 PartialInterpretation.newElements(interpretation,element); 20366 PartialInterpretation.newElements(interpretation,element);
17723 find mayInstanceOfSynchronization_class(problem,interpretation,element); 20367 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
17724 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
17725 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17726 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17727 neg find mustInstanceOfExit_class(problem,interpretation,element);
17728 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17729 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17730 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20368 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17731 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 20369 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
17732}
17733pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17734 find interpretation(problem,interpretation);
17735 PartialInterpretation.newElements(interpretation,element);
17736 find mayInstanceOfRegion_class(problem,interpretation,element);
17737 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20370 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17738 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17739 neg find mustInstanceOfVertex_class(problem,interpretation,element); 20371 neg find mustInstanceOfVertex_class(problem,interpretation,element);
17740 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17741} 20372}
17742pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 20373pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17743 find interpretation(problem,interpretation); 20374 find interpretation(problem,interpretation);
17744 PartialInterpretation.newElements(interpretation,element); 20375 PartialInterpretation.newElements(interpretation,element);
17745 find mayInstanceOfEntry_class(problem,interpretation,element); 20376 find mayInstanceOfEntry_class(problem,interpretation,element);
17746 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 20377 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17747 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20378 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20379 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17748 neg find mustInstanceOfEntry_class(problem,interpretation,element); 20380 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17749 neg find mustInstanceOfExit_class(problem,interpretation,element); 20381 neg find mustInstanceOfExit_class(problem,interpretation,element);
20382 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20383 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17750 neg find mustInstanceOfChoice_class(problem,interpretation,element); 20384 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17751 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17752 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17753 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17754} 20385}
17755pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 20386pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17756 find interpretation(problem,interpretation); 20387 find interpretation(problem,interpretation);
17757 PartialInterpretation.newElements(interpretation,element); 20388 PartialInterpretation.newElements(interpretation,element);
17758 find mayInstanceOfExit_class(problem,interpretation,element); 20389 find mayInstanceOfSynchronization_class(problem,interpretation,element);
20390 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20391 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20392 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17759 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 20393 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
17760 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17761 neg find mustInstanceOfEntry_class(problem,interpretation,element); 20394 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17762 neg find mustInstanceOfExit_class(problem,interpretation,element); 20395 neg find mustInstanceOfExit_class(problem,interpretation,element);
20396 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17763 neg find mustInstanceOfChoice_class(problem,interpretation,element); 20397 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17764 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17765 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17766 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17767} 20398}
17768pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 20399pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17769 find interpretation(problem,interpretation); 20400 find interpretation(problem,interpretation);
17770 PartialInterpretation.newElements(interpretation,element); 20401 PartialInterpretation.newElements(interpretation,element);
17771 find mayInstanceOfChoice_class(problem,interpretation,element); 20402 find mayInstanceOfExit_class(problem,interpretation,element);
20403 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20404 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20405 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17772 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 20406 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20407 neg find mustInstanceOfExit_class(problem,interpretation,element);
17773 neg find mustInstanceOfEntry_class(problem,interpretation,element); 20408 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17774 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20409 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17775 neg find mustInstanceOfExit_class(problem,interpretation,element);
17776 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17777 neg find mustInstanceOfChoice_class(problem,interpretation,element); 20410 neg find mustInstanceOfChoice_class(problem,interpretation,element);
20411}
20412pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20413 find interpretation(problem,interpretation);
20414 PartialInterpretation.newElements(interpretation,element);
20415 find mayInstanceOfState_class(problem,interpretation,element);
17778 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20416 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17779 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 20417 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
20418 neg find mustInstanceOfState_class(problem,interpretation,element);
20419 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
20420 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20421 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
17780} 20422}
17781pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 20423pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17782 find interpretation(problem,interpretation); 20424 find interpretation(problem,interpretation);
17783 PartialInterpretation.newElements(interpretation,element); 20425 PartialInterpretation.newElements(interpretation,element);
17784 find mayInstanceOfTransition_class(problem,interpretation,element); 20426 find mayInstanceOfFinalState_class(problem,interpretation,element);
20427 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20428 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20429 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
17785 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20430 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20431 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20432}
20433pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20434 find interpretation(problem,interpretation);
20435 PartialInterpretation.newElements(interpretation,element);
20436 find mayInstanceOfRegion_class(problem,interpretation,element);
20437 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17786 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20438 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20439 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17787 neg find mustInstanceOfVertex_class(problem,interpretation,element); 20440 neg find mustInstanceOfVertex_class(problem,interpretation,element);
17788 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17789} 20441}
17790pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 20442pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
17791 find interpretation(problem,interpretation); 20443 find interpretation(problem,interpretation);
17792 PartialInterpretation.newElements(interpretation,element); 20444 PartialInterpretation.newElements(interpretation,element);
17793 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 20445 find mayInstanceOfChoice_class(problem,interpretation,element);
17794 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20446 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17795 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20447 neg find mustInstanceOfTransition_class(problem,interpretation,element);
17796 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); 20448 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17797 neg find mustInstanceOfVertex_class(problem,interpretation,element); 20449 neg find mustInstanceOfExit_class(problem,interpretation,element);
20450 neg find mustInstanceOfEntry_class(problem,interpretation,element);
20451 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20452 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20453 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17798} 20454}
17799 20455
17800////////// 20456//////////
@@ -17923,27 +20579,27 @@ private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretat
17923{ 20579{
17924 find interpretation(problem,interpretation); 20580 find interpretation(problem,interpretation);
17925 PartialInterpretation.newElements(interpretation,element); 20581 PartialInterpretation.newElements(interpretation,element);
17926 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17927 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17928 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17929 neg find mustInstanceOfEntry_class(problem,interpretation,element); 20582 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17930 neg find mustInstanceOfExit_class(problem,interpretation,element);
17931 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20583 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20584 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20585 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17932 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 20586 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17933 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 20587 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20588 neg find mustInstanceOfExit_class(problem,interpretation,element);
20589 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17934 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 20590 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
17935 neg find isPrimitive(element); 20591 neg find isPrimitive(element);
17936} or { 20592} or {
17937 find interpretation(problem,interpretation); 20593 find interpretation(problem,interpretation);
17938 PartialInterpretation.openWorldElements(interpretation,element); 20594 PartialInterpretation.openWorldElements(interpretation,element);
17939 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17940 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17941 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17942 neg find mustInstanceOfEntry_class(problem,interpretation,element); 20595 neg find mustInstanceOfEntry_class(problem,interpretation,element);
17943 neg find mustInstanceOfExit_class(problem,interpretation,element);
17944 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20596 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20597 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20598 neg find mustInstanceOfChoice_class(problem,interpretation,element);
17945 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 20599 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17946 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 20600 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20601 neg find mustInstanceOfExit_class(problem,interpretation,element);
20602 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17947 neg find scopeDisallowsNewPseudostate_class(problem, interpretation); 20603 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
17948 neg find isPrimitive(element); 20604 neg find isPrimitive(element);
17949} or 20605} or
@@ -17971,21 +20627,21 @@ private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:P
17971{ 20627{
17972 find interpretation(problem,interpretation); 20628 find interpretation(problem,interpretation);
17973 PartialInterpretation.newElements(interpretation,element); 20629 PartialInterpretation.newElements(interpretation,element);
17974 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17975 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17976 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20630 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20631 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17977 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 20632 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17978 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 20633 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20634 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17979 neg find scopeDisallowsNewVertex_class(problem, interpretation); 20635 neg find scopeDisallowsNewVertex_class(problem, interpretation);
17980 neg find isPrimitive(element); 20636 neg find isPrimitive(element);
17981} or { 20637} or {
17982 find interpretation(problem,interpretation); 20638 find interpretation(problem,interpretation);
17983 PartialInterpretation.openWorldElements(interpretation,element); 20639 PartialInterpretation.openWorldElements(interpretation,element);
17984 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17985 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17986 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20640 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20641 neg find mustInstanceOfRegion_class(problem,interpretation,element);
17987 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 20642 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
17988 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 20643 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20644 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
17989 neg find scopeDisallowsNewVertex_class(problem, interpretation); 20645 neg find scopeDisallowsNewVertex_class(problem, interpretation);
17990 neg find isPrimitive(element); 20646 neg find isPrimitive(element);
17991} or 20647} or
@@ -18013,17 +20669,17 @@ private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:P
18013{ 20669{
18014 find interpretation(problem,interpretation); 20670 find interpretation(problem,interpretation);
18015 PartialInterpretation.newElements(interpretation,element); 20671 PartialInterpretation.newElements(interpretation,element);
18016 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18017 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18018 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20672 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20673 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20674 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18019 neg find scopeDisallowsNewRegion_class(problem, interpretation); 20675 neg find scopeDisallowsNewRegion_class(problem, interpretation);
18020 neg find isPrimitive(element); 20676 neg find isPrimitive(element);
18021} or { 20677} or {
18022 find interpretation(problem,interpretation); 20678 find interpretation(problem,interpretation);
18023 PartialInterpretation.openWorldElements(interpretation,element); 20679 PartialInterpretation.openWorldElements(interpretation,element);
18024 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18025 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18026 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20680 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20681 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20682 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18027 neg find scopeDisallowsNewRegion_class(problem, interpretation); 20683 neg find scopeDisallowsNewRegion_class(problem, interpretation);
18028 neg find isPrimitive(element); 20684 neg find isPrimitive(element);
18029} or 20685} or
@@ -18051,17 +20707,17 @@ private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretati
18051{ 20707{
18052 find interpretation(problem,interpretation); 20708 find interpretation(problem,interpretation);
18053 PartialInterpretation.newElements(interpretation,element); 20709 PartialInterpretation.newElements(interpretation,element);
18054 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18055 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20710 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18056 neg find mustInstanceOfVertex_class(problem,interpretation,element); 20711 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20712 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18057 neg find scopeDisallowsNewTransition_class(problem, interpretation); 20713 neg find scopeDisallowsNewTransition_class(problem, interpretation);
18058 neg find isPrimitive(element); 20714 neg find isPrimitive(element);
18059} or { 20715} or {
18060 find interpretation(problem,interpretation); 20716 find interpretation(problem,interpretation);
18061 PartialInterpretation.openWorldElements(interpretation,element); 20717 PartialInterpretation.openWorldElements(interpretation,element);
18062 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18063 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20718 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18064 neg find mustInstanceOfVertex_class(problem,interpretation,element); 20719 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20720 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18065 neg find scopeDisallowsNewTransition_class(problem, interpretation); 20721 neg find scopeDisallowsNewTransition_class(problem, interpretation);
18066 neg find isPrimitive(element); 20722 neg find isPrimitive(element);
18067} or 20723} or
@@ -18089,19 +20745,19 @@ private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretati
18089{ 20745{
18090 find interpretation(problem,interpretation); 20746 find interpretation(problem,interpretation);
18091 PartialInterpretation.newElements(interpretation,element); 20747 PartialInterpretation.newElements(interpretation,element);
18092 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18093 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18094 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20748 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20749 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18095 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 20750 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
20751 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18096 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 20752 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
18097 neg find isPrimitive(element); 20753 neg find isPrimitive(element);
18098} or { 20754} or {
18099 find interpretation(problem,interpretation); 20755 find interpretation(problem,interpretation);
18100 PartialInterpretation.openWorldElements(interpretation,element); 20756 PartialInterpretation.openWorldElements(interpretation,element);
18101 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18102 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18103 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20757 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20758 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18104 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); 20759 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
20760 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18105 neg find scopeDisallowsNewStatechart_class(problem, interpretation); 20761 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
18106 neg find isPrimitive(element); 20762 neg find isPrimitive(element);
18107} or 20763} or
@@ -18129,25 +20785,25 @@ private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:Pa
18129{ 20785{
18130 find interpretation(problem,interpretation); 20786 find interpretation(problem,interpretation);
18131 PartialInterpretation.newElements(interpretation,element); 20787 PartialInterpretation.newElements(interpretation,element);
18132 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18133 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18134 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18135 neg find mustInstanceOfExit_class(problem,interpretation,element);
18136 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20788 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18137 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 20789 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20790 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18138 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 20791 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20792 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20793 neg find mustInstanceOfExit_class(problem,interpretation,element);
20794 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18139 neg find scopeDisallowsNewEntry_class(problem, interpretation); 20795 neg find scopeDisallowsNewEntry_class(problem, interpretation);
18140 neg find isPrimitive(element); 20796 neg find isPrimitive(element);
18141} or { 20797} or {
18142 find interpretation(problem,interpretation); 20798 find interpretation(problem,interpretation);
18143 PartialInterpretation.openWorldElements(interpretation,element); 20799 PartialInterpretation.openWorldElements(interpretation,element);
18144 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18145 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18146 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18147 neg find mustInstanceOfExit_class(problem,interpretation,element);
18148 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20800 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18149 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 20801 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20802 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18150 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 20803 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20804 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20805 neg find mustInstanceOfExit_class(problem,interpretation,element);
20806 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18151 neg find scopeDisallowsNewEntry_class(problem, interpretation); 20807 neg find scopeDisallowsNewEntry_class(problem, interpretation);
18152 neg find isPrimitive(element); 20808 neg find isPrimitive(element);
18153} or 20809} or
@@ -18175,25 +20831,25 @@ private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpr
18175{ 20831{
18176 find interpretation(problem,interpretation); 20832 find interpretation(problem,interpretation);
18177 PartialInterpretation.newElements(interpretation,element); 20833 PartialInterpretation.newElements(interpretation,element);
18178 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18179 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18180 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18181 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18182 neg find mustInstanceOfExit_class(problem,interpretation,element);
18183 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20834 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20835 neg find mustInstanceOfEntry_class(problem,interpretation,element);
20836 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20837 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18184 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 20838 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20839 neg find mustInstanceOfExit_class(problem,interpretation,element);
20840 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18185 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 20841 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
18186 neg find isPrimitive(element); 20842 neg find isPrimitive(element);
18187} or { 20843} or {
18188 find interpretation(problem,interpretation); 20844 find interpretation(problem,interpretation);
18189 PartialInterpretation.openWorldElements(interpretation,element); 20845 PartialInterpretation.openWorldElements(interpretation,element);
18190 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18191 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18192 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18193 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18194 neg find mustInstanceOfExit_class(problem,interpretation,element);
18195 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20846 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20847 neg find mustInstanceOfEntry_class(problem,interpretation,element);
20848 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20849 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18196 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 20850 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20851 neg find mustInstanceOfExit_class(problem,interpretation,element);
20852 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18197 neg find scopeDisallowsNewSynchronization_class(problem, interpretation); 20853 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
18198 neg find isPrimitive(element); 20854 neg find isPrimitive(element);
18199} or 20855} or
@@ -18221,9 +20877,9 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
18221{ 20877{
18222 find interpretation(problem,interpretation); 20878 find interpretation(problem,interpretation);
18223 PartialInterpretation.newElements(interpretation,element); 20879 PartialInterpretation.newElements(interpretation,element);
18224 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
18225 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18226 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20880 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20881 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20882 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
18227 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 20883 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
18228 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 20884 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
18229 neg find scopeDisallowsNewState_class(problem, interpretation); 20885 neg find scopeDisallowsNewState_class(problem, interpretation);
@@ -18231,9 +20887,9 @@ private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:Pa
18231} or { 20887} or {
18232 find interpretation(problem,interpretation); 20888 find interpretation(problem,interpretation);
18233 PartialInterpretation.openWorldElements(interpretation,element); 20889 PartialInterpretation.openWorldElements(interpretation,element);
18234 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
18235 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18236 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20890 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20891 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20892 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
18237 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 20893 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
18238 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 20894 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
18239 neg find scopeDisallowsNewState_class(problem, interpretation); 20895 neg find scopeDisallowsNewState_class(problem, interpretation);
@@ -18263,21 +20919,21 @@ private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpreta
18263{ 20919{
18264 find interpretation(problem,interpretation); 20920 find interpretation(problem,interpretation);
18265 PartialInterpretation.newElements(interpretation,element); 20921 PartialInterpretation.newElements(interpretation,element);
18266 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
18267 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18268 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18269 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20922 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20923 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20924 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
18270 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 20925 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20926 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18271 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 20927 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
18272 neg find isPrimitive(element); 20928 neg find isPrimitive(element);
18273} or { 20929} or {
18274 find interpretation(problem,interpretation); 20930 find interpretation(problem,interpretation);
18275 PartialInterpretation.openWorldElements(interpretation,element); 20931 PartialInterpretation.openWorldElements(interpretation,element);
18276 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
18277 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18278 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18279 neg find mustInstanceOfTransition_class(problem,interpretation,element); 20932 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20933 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20934 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
18280 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 20935 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20936 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18281 neg find scopeDisallowsNewRegularState_class(problem, interpretation); 20937 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
18282 neg find isPrimitive(element); 20938 neg find isPrimitive(element);
18283} or 20939} or
@@ -18305,21 +20961,21 @@ private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interp
18305{ 20961{
18306 find interpretation(problem,interpretation); 20962 find interpretation(problem,interpretation);
18307 PartialInterpretation.newElements(interpretation,element); 20963 PartialInterpretation.newElements(interpretation,element);
20964 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20965 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
18308 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20966 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18309 neg find mustInstanceOfVertex_class(problem,interpretation,element); 20967 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18310 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18311 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 20968 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
18312 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
18313 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 20969 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
18314 neg find isPrimitive(element); 20970 neg find isPrimitive(element);
18315} or { 20971} or {
18316 find interpretation(problem,interpretation); 20972 find interpretation(problem,interpretation);
18317 PartialInterpretation.openWorldElements(interpretation,element); 20973 PartialInterpretation.openWorldElements(interpretation,element);
20974 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20975 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
18318 neg find mustInstanceOfRegion_class(problem,interpretation,element); 20976 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18319 neg find mustInstanceOfVertex_class(problem,interpretation,element); 20977 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18320 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18321 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 20978 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
18322 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
18323 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation); 20979 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
18324 neg find isPrimitive(element); 20980 neg find isPrimitive(element);
18325} or 20981} or
@@ -18347,25 +21003,25 @@ private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:P
18347{ 21003{
18348 find interpretation(problem,interpretation); 21004 find interpretation(problem,interpretation);
18349 PartialInterpretation.newElements(interpretation,element); 21005 PartialInterpretation.newElements(interpretation,element);
18350 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18351 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18352 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18353 neg find mustInstanceOfExit_class(problem,interpretation,element);
18354 neg find mustInstanceOfTransition_class(problem,interpretation,element); 21006 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18355 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 21007 neg find mustInstanceOfEntry_class(problem,interpretation,element);
21008 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18356 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 21009 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
21010 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
21011 neg find mustInstanceOfExit_class(problem,interpretation,element);
21012 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18357 neg find scopeDisallowsNewChoice_class(problem, interpretation); 21013 neg find scopeDisallowsNewChoice_class(problem, interpretation);
18358 neg find isPrimitive(element); 21014 neg find isPrimitive(element);
18359} or { 21015} or {
18360 find interpretation(problem,interpretation); 21016 find interpretation(problem,interpretation);
18361 PartialInterpretation.openWorldElements(interpretation,element); 21017 PartialInterpretation.openWorldElements(interpretation,element);
18362 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18363 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18364 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18365 neg find mustInstanceOfExit_class(problem,interpretation,element);
18366 neg find mustInstanceOfTransition_class(problem,interpretation,element); 21018 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18367 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 21019 neg find mustInstanceOfEntry_class(problem,interpretation,element);
21020 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18368 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 21021 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
21022 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
21023 neg find mustInstanceOfExit_class(problem,interpretation,element);
21024 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18369 neg find scopeDisallowsNewChoice_class(problem, interpretation); 21025 neg find scopeDisallowsNewChoice_class(problem, interpretation);
18370 neg find isPrimitive(element); 21026 neg find isPrimitive(element);
18371} or 21027} or
@@ -18393,25 +21049,25 @@ private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:Par
18393{ 21049{
18394 find interpretation(problem,interpretation); 21050 find interpretation(problem,interpretation);
18395 PartialInterpretation.newElements(interpretation,element); 21051 PartialInterpretation.newElements(interpretation,element);
18396 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18397 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18398 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18399 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18400 neg find mustInstanceOfTransition_class(problem,interpretation,element); 21052 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18401 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 21053 neg find mustInstanceOfEntry_class(problem,interpretation,element);
21054 neg find mustInstanceOfRegion_class(problem,interpretation,element);
21055 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18402 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 21056 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
21057 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
21058 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18403 neg find scopeDisallowsNewExit_class(problem, interpretation); 21059 neg find scopeDisallowsNewExit_class(problem, interpretation);
18404 neg find isPrimitive(element); 21060 neg find isPrimitive(element);
18405} or { 21061} or {
18406 find interpretation(problem,interpretation); 21062 find interpretation(problem,interpretation);
18407 PartialInterpretation.openWorldElements(interpretation,element); 21063 PartialInterpretation.openWorldElements(interpretation,element);
18408 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18409 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18410 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18411 neg find mustInstanceOfEntry_class(problem,interpretation,element);
18412 neg find mustInstanceOfTransition_class(problem,interpretation,element); 21064 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18413 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 21065 neg find mustInstanceOfEntry_class(problem,interpretation,element);
21066 neg find mustInstanceOfRegion_class(problem,interpretation,element);
21067 neg find mustInstanceOfChoice_class(problem,interpretation,element);
18414 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 21068 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
21069 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
21070 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18415 neg find scopeDisallowsNewExit_class(problem, interpretation); 21071 neg find scopeDisallowsNewExit_class(problem, interpretation);
18416 neg find isPrimitive(element); 21072 neg find isPrimitive(element);
18417} or 21073} or
@@ -18439,18 +21095,18 @@ private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretati
18439{ 21095{
18440 find interpretation(problem,interpretation); 21096 find interpretation(problem,interpretation);
18441 PartialInterpretation.newElements(interpretation,element); 21097 PartialInterpretation.newElements(interpretation,element);
18442 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18443 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18444 neg find mustInstanceOfTransition_class(problem,interpretation,element); 21098 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21099 neg find mustInstanceOfRegion_class(problem,interpretation,element);
21100 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18445 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 21101 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
18446 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 21102 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
18447 neg find isPrimitive(element); 21103 neg find isPrimitive(element);
18448} or { 21104} or {
18449 find interpretation(problem,interpretation); 21105 find interpretation(problem,interpretation);
18450 PartialInterpretation.openWorldElements(interpretation,element); 21106 PartialInterpretation.openWorldElements(interpretation,element);
18451 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18452 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18453 neg find mustInstanceOfTransition_class(problem,interpretation,element); 21107 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21108 neg find mustInstanceOfRegion_class(problem,interpretation,element);
21109 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
18454 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 21110 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
18455 neg find scopeDisallowsNewFinalState_class(problem, interpretation); 21111 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
18456 neg find isPrimitive(element); 21112 neg find isPrimitive(element);
@@ -18500,17 +21156,17 @@ private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem
18500{ 21156{
18501 find interpretation(problem,interpretation); 21157 find interpretation(problem,interpretation);
18502 PartialInterpretation.newElements(interpretation,element); 21158 PartialInterpretation.newElements(interpretation,element);
21159 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18503 neg find mustInstanceOfRegion_class(problem,interpretation,element); 21160 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18504 neg find mustInstanceOfVertex_class(problem,interpretation,element); 21161 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18505 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18506 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 21162 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
18507 neg find isPrimitive(element); 21163 neg find isPrimitive(element);
18508} or { 21164} or {
18509 find interpretation(problem,interpretation); 21165 find interpretation(problem,interpretation);
18510 PartialInterpretation.openWorldElements(interpretation,element); 21166 PartialInterpretation.openWorldElements(interpretation,element);
21167 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18511 neg find mustInstanceOfRegion_class(problem,interpretation,element); 21168 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18512 neg find mustInstanceOfVertex_class(problem,interpretation,element); 21169 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18513 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18514 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation); 21170 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
18515 neg find isPrimitive(element); 21171 neg find isPrimitive(element);
18516} or 21172} or
@@ -18559,18 +21215,18 @@ private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicP
18559{ 21215{
18560 find interpretation(problem,interpretation); 21216 find interpretation(problem,interpretation);
18561 PartialInterpretation.newElements(interpretation,element); 21217 PartialInterpretation.newElements(interpretation,element);
21218 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18562 neg find mustInstanceOfRegion_class(problem,interpretation,element); 21219 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18563 neg find mustInstanceOfVertex_class(problem,interpretation,element); 21220 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18564 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18565 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 21221 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
18566 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 21222 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
18567 neg find isPrimitive(element); 21223 neg find isPrimitive(element);
18568} or { 21224} or {
18569 find interpretation(problem,interpretation); 21225 find interpretation(problem,interpretation);
18570 PartialInterpretation.openWorldElements(interpretation,element); 21226 PartialInterpretation.openWorldElements(interpretation,element);
21227 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18571 neg find mustInstanceOfRegion_class(problem,interpretation,element); 21228 neg find mustInstanceOfRegion_class(problem,interpretation,element);
18572 neg find mustInstanceOfVertex_class(problem,interpretation,element); 21229 neg find mustInstanceOfVertex_class(problem,interpretation,element);
18573 neg find mustInstanceOfTransition_class(problem,interpretation,element);
18574 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 21230 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
18575 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation); 21231 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
18576 neg find isPrimitive(element); 21232 neg find isPrimitive(element);
@@ -20312,43 +22968,43 @@ pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_
20312private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 22968private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
20313{ 22969{
20314 find interpretation(problem,interpretation); 22970 find interpretation(problem,interpretation);
20315 find mustInstanceOfPseudostate_class(problem,interpretation,root); 22971 find mustInstanceOfSynchronization_class(problem,interpretation,root);
20316 find mustExist(problem, interpretation, root); 22972 find mustExist(problem, interpretation, root);
20317}or{ 22973}or{
20318 find interpretation(problem,interpretation); 22974 find interpretation(problem,interpretation);
20319 find mustInstanceOfEntry_class(problem,interpretation,root); 22975 find mustInstanceOfVertex_class(problem,interpretation,root);
20320 find mustExist(problem, interpretation, root); 22976 find mustExist(problem, interpretation, root);
20321}or{ 22977}or{
20322 find interpretation(problem,interpretation); 22978 find interpretation(problem,interpretation);
20323 find mustInstanceOfTransition_class(problem,interpretation,root); 22979 find mustInstanceOfExit_class(problem,interpretation,root);
20324 find mustExist(problem, interpretation, root); 22980 find mustExist(problem, interpretation, root);
20325}or{ 22981}or{
20326 find interpretation(problem,interpretation); 22982 find interpretation(problem,interpretation);
20327 find mustInstanceOfCompositeElement_class(problem,interpretation,root); 22983 find mustInstanceOfRegion_class(problem,interpretation,root);
20328 find mustExist(problem, interpretation, root); 22984 find mustExist(problem, interpretation, root);
20329}or{ 22985}or{
20330 find interpretation(problem,interpretation); 22986 find interpretation(problem,interpretation);
20331 find mustInstanceOfState_class(problem,interpretation,root); 22987 find mustInstanceOfEntry_class(problem,interpretation,root);
20332 find mustExist(problem, interpretation, root); 22988 find mustExist(problem, interpretation, root);
20333}or{ 22989}or{
20334 find interpretation(problem,interpretation); 22990 find interpretation(problem,interpretation);
20335 find mustInstanceOfChoice_class(problem,interpretation,root); 22991 find mustInstanceOfTransition_class(problem,interpretation,root);
20336 find mustExist(problem, interpretation, root); 22992 find mustExist(problem, interpretation, root);
20337}or{ 22993}or{
20338 find interpretation(problem,interpretation); 22994 find interpretation(problem,interpretation);
20339 find mustInstanceOfRegularState_class(problem,interpretation,root); 22995 find mustInstanceOfPseudostate_class(problem,interpretation,root);
20340 find mustExist(problem, interpretation, root); 22996 find mustExist(problem, interpretation, root);
20341}or{ 22997}or{
20342 find interpretation(problem,interpretation); 22998 find interpretation(problem,interpretation);
20343 find mustInstanceOfRegion_class(problem,interpretation,root); 22999 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
20344 find mustExist(problem, interpretation, root); 23000 find mustExist(problem, interpretation, root);
20345}or{ 23001}or{
20346 find interpretation(problem,interpretation); 23002 find interpretation(problem,interpretation);
20347 find mustInstanceOfVertex_class(problem,interpretation,root); 23003 find mustInstanceOfChoice_class(problem,interpretation,root);
20348 find mustExist(problem, interpretation, root); 23004 find mustExist(problem, interpretation, root);
20349}or{ 23005}or{
20350 find interpretation(problem,interpretation); 23006 find interpretation(problem,interpretation);
20351 find mustInstanceOfExit_class(problem,interpretation,root); 23007 find mustInstanceOfRegularState_class(problem,interpretation,root);
20352 find mustExist(problem, interpretation, root); 23008 find mustExist(problem, interpretation, root);
20353}or{ 23009}or{
20354 find interpretation(problem,interpretation); 23010 find interpretation(problem,interpretation);
@@ -20356,11 +23012,11 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
20356 find mustExist(problem, interpretation, root); 23012 find mustExist(problem, interpretation, root);
20357}or{ 23013}or{
20358 find interpretation(problem,interpretation); 23014 find interpretation(problem,interpretation);
20359 find mustInstanceOfSynchronization_class(problem,interpretation,root); 23015 find mustInstanceOfStatechart_class(problem,interpretation,root);
20360 find mustExist(problem, interpretation, root); 23016 find mustExist(problem, interpretation, root);
20361}or{ 23017}or{
20362 find interpretation(problem,interpretation); 23018 find interpretation(problem,interpretation);
20363 find mustInstanceOfStatechart_class(problem,interpretation,root); 23019 find mustInstanceOfState_class(problem,interpretation,root);
20364 find mustExist(problem, interpretation, root); 23020 find mustExist(problem, interpretation, root);
20365}or{ 23021}or{
20366 find interpretation(problem,interpretation); 23022 find interpretation(problem,interpretation);
@@ -20379,71 +23035,61 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
20379 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root); 23035 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
20380 find mustExist(problem, interpretation, root); 23036 find mustExist(problem, interpretation, root);
20381} 23037}
20382pattern createObject_Choice_class_by_vertices_reference_Region( 23038pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
20383 problem:LogicProblem, interpretation:PartialInterpretation, 23039 problem:LogicProblem, interpretation:PartialInterpretation,
20384 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 23040 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
20385 container:DefinedElement) 23041 container:DefinedElement)
20386{ 23042{
20387 find interpretation(problem,interpretation); 23043 find interpretation(problem,interpretation);
20388 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23044 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20389 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class"); 23045 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
20390 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 23046 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
20391 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 23047 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
20392 find mustInstanceOfRegion_class(problem,interpretation,container); 23048 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
20393 find mayInstanceOfChoice_class(problem,interpretation,newObject); 23049 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
20394 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 23050 find mustInstanceOfVertex_class(problem,interpretation,container);
23051 find mayInstanceOfTransition_class(problem,interpretation,newObject);
23052 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
20395 find mustExist(problem, interpretation, container); 23053 find mustExist(problem, interpretation, container);
20396 neg find mustExist(problem, interpretation, newObject); 23054 neg find mustExist(problem, interpretation, newObject);
20397} 23055}
20398pattern createObject_Choice_class( 23056pattern createObject_Transition_class(
20399 problem:LogicProblem, interpretation:PartialInterpretation,
20400 typeInterpretation:PartialComplexTypeInterpretation)
20401{
20402 find interpretation(problem,interpretation);
20403 neg find hasElementInContainment(problem,interpretation);
20404 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20405 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
20406 find mayInstanceOfChoice_class(problem,interpretation,newObject);
20407 find mayExist(problem, interpretation, newObject);
20408 neg find mustExist(problem, interpretation, newObject);
20409}
20410pattern createObject_Statechart_class_UndefinedPart(
20411 problem:LogicProblem, interpretation:PartialInterpretation, 23057 problem:LogicProblem, interpretation:PartialInterpretation,
20412 typeInterpretation:PartialComplexTypeInterpretation) 23058 typeInterpretation:PartialComplexTypeInterpretation)
20413{ 23059{
20414 find interpretation(problem,interpretation); 23060 find interpretation(problem,interpretation);
20415 neg find hasElementInContainment(problem,interpretation); 23061 neg find hasElementInContainment(problem,interpretation);
20416 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23062 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20417 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart"); 23063 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
20418 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject); 23064 find mayInstanceOfTransition_class(problem,interpretation,newObject);
20419 find mayExist(problem, interpretation, newObject); 23065 find mayExist(problem, interpretation, newObject);
20420 neg find mustExist(problem, interpretation, newObject); 23066 neg find mustExist(problem, interpretation, newObject);
20421} 23067}
20422pattern createObject_FinalState_class_by_vertices_reference_Region( 23068pattern createObject_Entry_class_by_vertices_reference_Region(
20423 problem:LogicProblem, interpretation:PartialInterpretation, 23069 problem:LogicProblem, interpretation:PartialInterpretation,
20424 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 23070 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
20425 container:DefinedElement) 23071 container:DefinedElement)
20426{ 23072{
20427 find interpretation(problem,interpretation); 23073 find interpretation(problem,interpretation);
20428 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23074 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20429 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 23075 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
20430 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 23076 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
20431 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 23077 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
20432 find mustInstanceOfRegion_class(problem,interpretation,container); 23078 find mustInstanceOfRegion_class(problem,interpretation,container);
20433 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 23079 find mayInstanceOfEntry_class(problem,interpretation,newObject);
20434 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 23080 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
20435 find mustExist(problem, interpretation, container); 23081 find mustExist(problem, interpretation, container);
20436 neg find mustExist(problem, interpretation, newObject); 23082 neg find mustExist(problem, interpretation, newObject);
20437} 23083}
20438pattern createObject_FinalState_class( 23084pattern createObject_Entry_class(
20439 problem:LogicProblem, interpretation:PartialInterpretation, 23085 problem:LogicProblem, interpretation:PartialInterpretation,
20440 typeInterpretation:PartialComplexTypeInterpretation) 23086 typeInterpretation:PartialComplexTypeInterpretation)
20441{ 23087{
20442 find interpretation(problem,interpretation); 23088 find interpretation(problem,interpretation);
20443 neg find hasElementInContainment(problem,interpretation); 23089 neg find hasElementInContainment(problem,interpretation);
20444 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23090 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20445 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class"); 23091 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
20446 find mayInstanceOfFinalState_class(problem,interpretation,newObject); 23092 find mayInstanceOfEntry_class(problem,interpretation,newObject);
20447 find mayExist(problem, interpretation, newObject); 23093 find mayExist(problem, interpretation, newObject);
20448 neg find mustExist(problem, interpretation, newObject); 23094 neg find mustExist(problem, interpretation, newObject);
20449} 23095}
@@ -20475,145 +23121,155 @@ pattern createObject_Region_class(
20475 find mayExist(problem, interpretation, newObject); 23121 find mayExist(problem, interpretation, newObject);
20476 neg find mustExist(problem, interpretation, newObject); 23122 neg find mustExist(problem, interpretation, newObject);
20477} 23123}
20478pattern createObject_Entry_class_by_vertices_reference_Region( 23124pattern createObject_FinalState_class_by_vertices_reference_Region(
20479 problem:LogicProblem, interpretation:PartialInterpretation, 23125 problem:LogicProblem, interpretation:PartialInterpretation,
20480 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 23126 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
20481 container:DefinedElement) 23127 container:DefinedElement)
20482{ 23128{
20483 find interpretation(problem,interpretation); 23129 find interpretation(problem,interpretation);
20484 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23130 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20485 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 23131 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
20486 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 23132 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
20487 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 23133 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
20488 find mustInstanceOfRegion_class(problem,interpretation,container); 23134 find mustInstanceOfRegion_class(problem,interpretation,container);
20489 find mayInstanceOfEntry_class(problem,interpretation,newObject); 23135 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
20490 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 23136 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
20491 find mustExist(problem, interpretation, container); 23137 find mustExist(problem, interpretation, container);
20492 neg find mustExist(problem, interpretation, newObject); 23138 neg find mustExist(problem, interpretation, newObject);
20493} 23139}
20494pattern createObject_Entry_class( 23140pattern createObject_FinalState_class(
20495 problem:LogicProblem, interpretation:PartialInterpretation, 23141 problem:LogicProblem, interpretation:PartialInterpretation,
20496 typeInterpretation:PartialComplexTypeInterpretation) 23142 typeInterpretation:PartialComplexTypeInterpretation)
20497{ 23143{
20498 find interpretation(problem,interpretation); 23144 find interpretation(problem,interpretation);
20499 neg find hasElementInContainment(problem,interpretation); 23145 neg find hasElementInContainment(problem,interpretation);
20500 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23146 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20501 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class"); 23147 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
20502 find mayInstanceOfEntry_class(problem,interpretation,newObject); 23148 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
20503 find mayExist(problem, interpretation, newObject); 23149 find mayExist(problem, interpretation, newObject);
20504 neg find mustExist(problem, interpretation, newObject); 23150 neg find mustExist(problem, interpretation, newObject);
20505} 23151}
20506pattern createObject_Exit_class_by_vertices_reference_Region( 23152pattern createObject_State_class_by_vertices_reference_Region(
20507 problem:LogicProblem, interpretation:PartialInterpretation, 23153 problem:LogicProblem, interpretation:PartialInterpretation,
20508 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 23154 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
20509 container:DefinedElement) 23155 container:DefinedElement)
20510{ 23156{
20511 find interpretation(problem,interpretation); 23157 find interpretation(problem,interpretation);
20512 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23158 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20513 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 23159 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
20514 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 23160 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
20515 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 23161 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
20516 find mustInstanceOfRegion_class(problem,interpretation,container); 23162 find mustInstanceOfRegion_class(problem,interpretation,container);
20517 find mayInstanceOfExit_class(problem,interpretation,newObject); 23163 find mayInstanceOfState_class(problem,interpretation,newObject);
20518 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 23164 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
20519 find mustExist(problem, interpretation, container); 23165 find mustExist(problem, interpretation, container);
20520 neg find mustExist(problem, interpretation, newObject); 23166 neg find mustExist(problem, interpretation, newObject);
20521} 23167}
20522pattern createObject_Exit_class( 23168pattern createObject_State_class(
20523 problem:LogicProblem, interpretation:PartialInterpretation, 23169 problem:LogicProblem, interpretation:PartialInterpretation,
20524 typeInterpretation:PartialComplexTypeInterpretation) 23170 typeInterpretation:PartialComplexTypeInterpretation)
20525{ 23171{
20526 find interpretation(problem,interpretation); 23172 find interpretation(problem,interpretation);
20527 neg find hasElementInContainment(problem,interpretation); 23173 neg find hasElementInContainment(problem,interpretation);
20528 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23174 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20529 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class"); 23175 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
20530 find mayInstanceOfExit_class(problem,interpretation,newObject); 23176 find mayInstanceOfState_class(problem,interpretation,newObject);
20531 find mayExist(problem, interpretation, newObject); 23177 find mayExist(problem, interpretation, newObject);
20532 neg find mustExist(problem, interpretation, newObject); 23178 neg find mustExist(problem, interpretation, newObject);
20533} 23179}
20534pattern createObject_State_class_by_vertices_reference_Region( 23180pattern createObject_Choice_class_by_vertices_reference_Region(
20535 problem:LogicProblem, interpretation:PartialInterpretation, 23181 problem:LogicProblem, interpretation:PartialInterpretation,
20536 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 23182 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
20537 container:DefinedElement) 23183 container:DefinedElement)
20538{ 23184{
20539 find interpretation(problem,interpretation); 23185 find interpretation(problem,interpretation);
20540 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23186 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20541 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 23187 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
20542 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 23188 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
20543 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 23189 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
20544 find mustInstanceOfRegion_class(problem,interpretation,container); 23190 find mustInstanceOfRegion_class(problem,interpretation,container);
20545 find mayInstanceOfState_class(problem,interpretation,newObject); 23191 find mayInstanceOfChoice_class(problem,interpretation,newObject);
20546 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 23192 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
20547 find mustExist(problem, interpretation, container); 23193 find mustExist(problem, interpretation, container);
20548 neg find mustExist(problem, interpretation, newObject); 23194 neg find mustExist(problem, interpretation, newObject);
20549} 23195}
20550pattern createObject_State_class( 23196pattern createObject_Choice_class(
20551 problem:LogicProblem, interpretation:PartialInterpretation, 23197 problem:LogicProblem, interpretation:PartialInterpretation,
20552 typeInterpretation:PartialComplexTypeInterpretation) 23198 typeInterpretation:PartialComplexTypeInterpretation)
20553{ 23199{
20554 find interpretation(problem,interpretation); 23200 find interpretation(problem,interpretation);
20555 neg find hasElementInContainment(problem,interpretation); 23201 neg find hasElementInContainment(problem,interpretation);
20556 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23202 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20557 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class"); 23203 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
20558 find mayInstanceOfState_class(problem,interpretation,newObject); 23204 find mayInstanceOfChoice_class(problem,interpretation,newObject);
20559 find mayExist(problem, interpretation, newObject); 23205 find mayExist(problem, interpretation, newObject);
20560 neg find mustExist(problem, interpretation, newObject); 23206 neg find mustExist(problem, interpretation, newObject);
20561} 23207}
20562pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( 23208pattern createObject_Synchronization_class_by_vertices_reference_Region(
20563 problem:LogicProblem, interpretation:PartialInterpretation, 23209 problem:LogicProblem, interpretation:PartialInterpretation,
20564 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 23210 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
20565 container:DefinedElement) 23211 container:DefinedElement)
20566{ 23212{
20567 find interpretation(problem,interpretation); 23213 find interpretation(problem,interpretation);
20568 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23214 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20569 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 23215 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
20570 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 23216 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
20571 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex"); 23217 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
20572 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 23218 find mustInstanceOfRegion_class(problem,interpretation,container);
20573 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition"); 23219 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
20574 find mustInstanceOfVertex_class(problem,interpretation,container); 23220 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
20575 find mayInstanceOfTransition_class(problem,interpretation,newObject);
20576 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
20577 find mustExist(problem, interpretation, container); 23221 find mustExist(problem, interpretation, container);
20578 neg find mustExist(problem, interpretation, newObject); 23222 neg find mustExist(problem, interpretation, newObject);
20579} 23223}
20580pattern createObject_Transition_class( 23224pattern createObject_Synchronization_class(
20581 problem:LogicProblem, interpretation:PartialInterpretation, 23225 problem:LogicProblem, interpretation:PartialInterpretation,
20582 typeInterpretation:PartialComplexTypeInterpretation) 23226 typeInterpretation:PartialComplexTypeInterpretation)
20583{ 23227{
20584 find interpretation(problem,interpretation); 23228 find interpretation(problem,interpretation);
20585 neg find hasElementInContainment(problem,interpretation); 23229 neg find hasElementInContainment(problem,interpretation);
20586 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23230 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20587 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class"); 23231 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
20588 find mayInstanceOfTransition_class(problem,interpretation,newObject); 23232 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
20589 find mayExist(problem, interpretation, newObject); 23233 find mayExist(problem, interpretation, newObject);
20590 neg find mustExist(problem, interpretation, newObject); 23234 neg find mustExist(problem, interpretation, newObject);
20591} 23235}
20592pattern createObject_Synchronization_class_by_vertices_reference_Region( 23236pattern createObject_Exit_class_by_vertices_reference_Region(
20593 problem:LogicProblem, interpretation:PartialInterpretation, 23237 problem:LogicProblem, interpretation:PartialInterpretation,
20594 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 23238 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
20595 container:DefinedElement) 23239 container:DefinedElement)
20596{ 23240{
20597 find interpretation(problem,interpretation); 23241 find interpretation(problem,interpretation);
20598 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23242 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20599 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 23243 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
20600 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 23244 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
20601 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region"); 23245 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
20602 find mustInstanceOfRegion_class(problem,interpretation,container); 23246 find mustInstanceOfRegion_class(problem,interpretation,container);
20603 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 23247 find mayInstanceOfExit_class(problem,interpretation,newObject);
20604 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject); 23248 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
20605 find mustExist(problem, interpretation, container); 23249 find mustExist(problem, interpretation, container);
20606 neg find mustExist(problem, interpretation, newObject); 23250 neg find mustExist(problem, interpretation, newObject);
20607} 23251}
20608pattern createObject_Synchronization_class( 23252pattern createObject_Exit_class(
20609 problem:LogicProblem, interpretation:PartialInterpretation, 23253 problem:LogicProblem, interpretation:PartialInterpretation,
20610 typeInterpretation:PartialComplexTypeInterpretation) 23254 typeInterpretation:PartialComplexTypeInterpretation)
20611{ 23255{
20612 find interpretation(problem,interpretation); 23256 find interpretation(problem,interpretation);
20613 neg find hasElementInContainment(problem,interpretation); 23257 neg find hasElementInContainment(problem,interpretation);
20614 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 23258 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
20615 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class"); 23259 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
20616 find mayInstanceOfSynchronization_class(problem,interpretation,newObject); 23260 find mayInstanceOfExit_class(problem,interpretation,newObject);
23261 find mayExist(problem, interpretation, newObject);
23262 neg find mustExist(problem, interpretation, newObject);
23263}
23264pattern createObject_Statechart_class_UndefinedPart(
23265 problem:LogicProblem, interpretation:PartialInterpretation,
23266 typeInterpretation:PartialComplexTypeInterpretation)
23267{
23268 find interpretation(problem,interpretation);
23269 neg find hasElementInContainment(problem,interpretation);
23270 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
23271 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart");
23272 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject);
20617 find mayExist(problem, interpretation, newObject); 23273 find mayExist(problem, interpretation, newObject);
20618 neg find mustExist(problem, interpretation, newObject); 23274 neg find mustExist(problem, interpretation, newObject);
20619} 23275}
@@ -20621,105 +23277,105 @@ pattern createObject_Synchronization_class(
20621////////// 23277//////////
20622// 4.2 Type refinement 23278// 4.2 Type refinement
20623////////// 23279//////////
20624pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 23280pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20625 find interpretation(problem,interpretation); 23281 find interpretation(problem,interpretation);
20626 PartialInterpretation.newElements(interpretation,element); 23282 PartialInterpretation.newElements(interpretation,element);
20627 find mayInstanceOfChoice_class(problem,interpretation,element); 23283 find mayInstanceOfTransition_class(problem,interpretation,element);
20628 neg find mustInstanceOfChoice_class(problem,interpretation,element);
20629 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20630 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20631 neg find mustInstanceOfEntry_class(problem,interpretation,element);
20632 neg find mustInstanceOfExit_class(problem,interpretation,element);
20633 neg find mustInstanceOfTransition_class(problem,interpretation,element); 23284 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20634 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20635 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20636}
20637pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20638 find interpretation(problem,interpretation);
20639 PartialInterpretation.newElements(interpretation,element);
20640 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
20641 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
20642 neg find mustInstanceOfRegion_class(problem,interpretation,element); 23285 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20643 neg find mustInstanceOfVertex_class(problem,interpretation,element); 23286 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20644 neg find mustInstanceOfTransition_class(problem,interpretation,element); 23287 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20645} 23288}
20646pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 23289pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20647 find interpretation(problem,interpretation); 23290 find interpretation(problem,interpretation);
20648 PartialInterpretation.newElements(interpretation,element); 23291 PartialInterpretation.newElements(interpretation,element);
20649 find mayInstanceOfFinalState_class(problem,interpretation,element); 23292 find mayInstanceOfEntry_class(problem,interpretation,element);
20650 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
20651 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20652 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20653 neg find mustInstanceOfTransition_class(problem,interpretation,element); 23293 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20654 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 23294 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23295 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23296 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23297 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23298 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23299 neg find mustInstanceOfExit_class(problem,interpretation,element);
23300 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20655} 23301}
20656pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 23302pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20657 find interpretation(problem,interpretation); 23303 find interpretation(problem,interpretation);
20658 PartialInterpretation.newElements(interpretation,element); 23304 PartialInterpretation.newElements(interpretation,element);
20659 find mayInstanceOfRegion_class(problem,interpretation,element); 23305 find mayInstanceOfRegion_class(problem,interpretation,element);
20660 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 23306 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20661 neg find mustInstanceOfRegion_class(problem,interpretation,element); 23307 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20662 neg find mustInstanceOfVertex_class(problem,interpretation,element); 23308 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20663 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20664}
20665pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20666 find interpretation(problem,interpretation);
20667 PartialInterpretation.newElements(interpretation,element);
20668 find mayInstanceOfEntry_class(problem,interpretation,element);
20669 neg find mustInstanceOfChoice_class(problem,interpretation,element);
20670 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element); 23309 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20671 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20672 neg find mustInstanceOfEntry_class(problem,interpretation,element);
20673 neg find mustInstanceOfExit_class(problem,interpretation,element);
20674 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20675 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20676 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
20677} 23310}
20678pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 23311pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20679 find interpretation(problem,interpretation); 23312 find interpretation(problem,interpretation);
20680 PartialInterpretation.newElements(interpretation,element); 23313 PartialInterpretation.newElements(interpretation,element);
20681 find mayInstanceOfExit_class(problem,interpretation,element); 23314 find mayInstanceOfFinalState_class(problem,interpretation,element);
20682 neg find mustInstanceOfChoice_class(problem,interpretation,element);
20683 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20684 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20685 neg find mustInstanceOfEntry_class(problem,interpretation,element);
20686 neg find mustInstanceOfExit_class(problem,interpretation,element);
20687 neg find mustInstanceOfTransition_class(problem,interpretation,element); 23315 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20688 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 23316 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20689 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 23317 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
23318 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23319 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20690} 23320}
20691pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 23321pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20692 find interpretation(problem,interpretation); 23322 find interpretation(problem,interpretation);
20693 PartialInterpretation.newElements(interpretation,element); 23323 PartialInterpretation.newElements(interpretation,element);
20694 find mayInstanceOfState_class(problem,interpretation,element); 23324 find mayInstanceOfState_class(problem,interpretation,element);
20695 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
20696 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20697 neg find mustInstanceOfTransition_class(problem,interpretation,element); 23325 neg find mustInstanceOfTransition_class(problem,interpretation,element);
23326 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23327 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
20698 neg find mustInstanceOfState_class(problem,interpretation,element); 23328 neg find mustInstanceOfState_class(problem,interpretation,element);
20699 neg find mustInstanceOfStatechart_class(problem,interpretation,element); 23329 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
20700 neg find mustInstanceOfPseudostate_class(problem,interpretation,element); 23330 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20701} 23331}
20702pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 23332pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20703 find interpretation(problem,interpretation); 23333 find interpretation(problem,interpretation);
20704 PartialInterpretation.newElements(interpretation,element); 23334 PartialInterpretation.newElements(interpretation,element);
20705 find mayInstanceOfTransition_class(problem,interpretation,element); 23335 find mayInstanceOfChoice_class(problem,interpretation,element);
20706 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20707 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20708 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20709 neg find mustInstanceOfTransition_class(problem,interpretation,element); 23336 neg find mustInstanceOfTransition_class(problem,interpretation,element);
23337 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23338 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23339 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23340 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23341 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23342 neg find mustInstanceOfExit_class(problem,interpretation,element);
23343 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20710} 23344}
20711pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 23345pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
20712 find interpretation(problem,interpretation); 23346 find interpretation(problem,interpretation);
20713 PartialInterpretation.newElements(interpretation,element); 23347 PartialInterpretation.newElements(interpretation,element);
20714 find mayInstanceOfSynchronization_class(problem,interpretation,element); 23348 find mayInstanceOfSynchronization_class(problem,interpretation,element);
20715 neg find mustInstanceOfChoice_class(problem,interpretation,element); 23349 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20716 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20717 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20718 neg find mustInstanceOfEntry_class(problem,interpretation,element); 23350 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23351 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23352 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23353 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23354 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20719 neg find mustInstanceOfExit_class(problem,interpretation,element); 23355 neg find mustInstanceOfExit_class(problem,interpretation,element);
23356 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23357}
23358pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
23359 find interpretation(problem,interpretation);
23360 PartialInterpretation.newElements(interpretation,element);
23361 find mayInstanceOfExit_class(problem,interpretation,element);
20720 neg find mustInstanceOfTransition_class(problem,interpretation,element); 23362 neg find mustInstanceOfTransition_class(problem,interpretation,element);
23363 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23364 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23365 neg find mustInstanceOfChoice_class(problem,interpretation,element);
20721 neg find mustInstanceOfRegularState_class(problem,interpretation,element); 23366 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20722 neg find mustInstanceOfSynchronization_class(problem,interpretation,element); 23367 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23368 neg find mustInstanceOfExit_class(problem,interpretation,element);
23369 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23370}
23371pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
23372 find interpretation(problem,interpretation);
23373 PartialInterpretation.newElements(interpretation,element);
23374 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
23375 neg find mustInstanceOfTransition_class(problem,interpretation,element);
23376 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23377 neg find mustInstanceOfVertex_class(problem,interpretation,element);
23378 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
20723} 23379}
20724 23380
20725////////// 23381//////////
@@ -20826,1339 +23482,703 @@ private pattern isPrimitive(element: PrimitiveElement) {
20826// 1.1.2 domain-specific Type Indexers 23482// 1.1.2 domain-specific Type Indexers
20827////////// 23483//////////
20828/** 23484/**
20829 * An element must be an instance of type "FileSystem class". 23485 * An element must be an instance of type "Pseudostate class".
20830 */ 23486 */
20831private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23487private pattern mustInstanceOfPseudostate_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
20832 Type.name(type,"FileSystem class"); 23488 Type.name(type,"Pseudostate class");
20833 find directInstanceOf(problem,interpretation,element,type); 23489 find directInstanceOf(problem,interpretation,element,type);
20834} 23490}
20835private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { 23491private pattern scopeDisallowsNewPseudostate_class(problem:LogicProblem, interpretation:PartialInterpretation) {
20836 find interpretation(problem,interpretation); 23492 find interpretation(problem,interpretation);
20837 PartialInterpretation.scopes(interpretation,scope); 23493 PartialInterpretation.scopes(interpretation,scope);
20838 Scope.targetTypeInterpretation(scope,typeInterpretation); 23494 Scope.targetTypeInterpretation(scope,typeInterpretation);
20839 Scope.maxNewElements(scope,0); 23495 Scope.maxNewElements(scope,0);
20840 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23496 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
20841 Type.name(type,"FileSystem class"); 23497 Type.name(type,"Pseudostate class");
20842} 23498}
20843 23499
20844/** 23500/**
20845 * An element may be an instance of type "FileSystem class". 23501 * An element may be an instance of type "Pseudostate class".
20846 */ 23502 */
20847private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23503private pattern mayInstanceOfPseudostate_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
20848{ 23504{
20849 find interpretation(problem,interpretation); 23505 find interpretation(problem,interpretation);
20850 PartialInterpretation.newElements(interpretation,element); 23506 PartialInterpretation.newElements(interpretation,element);
20851 neg find mustInstanceOfModel_class(problem,interpretation,element); 23507 neg find mustInstanceOfExit_class(problem,interpretation,element);
20852 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 23508 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20853 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 23509 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23510 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23511 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23512 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23513 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23514 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23515 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
20854 neg find isPrimitive(element); 23516 neg find isPrimitive(element);
20855} or { 23517} or {
20856 find interpretation(problem,interpretation); 23518 find interpretation(problem,interpretation);
20857 PartialInterpretation.openWorldElements(interpretation,element); 23519 PartialInterpretation.openWorldElements(interpretation,element);
20858 neg find mustInstanceOfModel_class(problem,interpretation,element); 23520 neg find mustInstanceOfExit_class(problem,interpretation,element);
20859 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 23521 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20860 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 23522 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23523 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23524 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23525 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23526 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23527 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23528 neg find scopeDisallowsNewPseudostate_class(problem, interpretation);
20861 neg find isPrimitive(element); 23529 neg find isPrimitive(element);
20862} or 23530} or
20863{ find mustInstanceOfFileSystem_class(problem,interpretation,element); } 23531{ find mustInstanceOfPseudostate_class(problem,interpretation,element); }
20864/** 23532/**
20865 * An element must be an instance of type "FSObject class". 23533 * An element must be an instance of type "Vertex class".
20866 */ 23534 */
20867private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23535private pattern mustInstanceOfVertex_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
20868 Type.name(type,"FSObject class"); 23536 Type.name(type,"Vertex class");
20869 find directInstanceOf(problem,interpretation,element,type); 23537 find directInstanceOf(problem,interpretation,element,type);
20870} 23538}
20871private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { 23539private pattern scopeDisallowsNewVertex_class(problem:LogicProblem, interpretation:PartialInterpretation) {
20872 find interpretation(problem,interpretation); 23540 find interpretation(problem,interpretation);
20873 PartialInterpretation.scopes(interpretation,scope); 23541 PartialInterpretation.scopes(interpretation,scope);
20874 Scope.targetTypeInterpretation(scope,typeInterpretation); 23542 Scope.targetTypeInterpretation(scope,typeInterpretation);
20875 Scope.maxNewElements(scope,0); 23543 Scope.maxNewElements(scope,0);
20876 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23544 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
20877 Type.name(type,"FSObject class"); 23545 Type.name(type,"Vertex class");
20878} 23546}
20879 23547
20880/** 23548/**
20881 * An element may be an instance of type "FSObject class". 23549 * An element may be an instance of type "Vertex class".
20882 */ 23550 */
20883private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23551private pattern mayInstanceOfVertex_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
20884{ 23552{
20885 find interpretation(problem,interpretation); 23553 find interpretation(problem,interpretation);
20886 PartialInterpretation.newElements(interpretation,element); 23554 PartialInterpretation.newElements(interpretation,element);
20887 neg find mustInstanceOfModel_class(problem,interpretation,element); 23555 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20888 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23556 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20889 neg find mustInstanceOfFile_class(problem,interpretation,element); 23557 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20890 neg find mustInstanceOfDir_class(problem,interpretation,element); 23558 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20891 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 23559 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23560 neg find scopeDisallowsNewVertex_class(problem, interpretation);
20892 neg find isPrimitive(element); 23561 neg find isPrimitive(element);
20893} or { 23562} or {
20894 find interpretation(problem,interpretation); 23563 find interpretation(problem,interpretation);
20895 PartialInterpretation.openWorldElements(interpretation,element); 23564 PartialInterpretation.openWorldElements(interpretation,element);
20896 neg find mustInstanceOfModel_class(problem,interpretation,element); 23565 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
20897 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23566 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20898 neg find mustInstanceOfFile_class(problem,interpretation,element); 23567 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
20899 neg find mustInstanceOfDir_class(problem,interpretation,element); 23568 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20900 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 23569 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23570 neg find scopeDisallowsNewVertex_class(problem, interpretation);
20901 neg find isPrimitive(element); 23571 neg find isPrimitive(element);
20902} or 23572} or
20903{ find mustInstanceOfFSObject_class(problem,interpretation,element); } 23573{ find mustInstanceOfVertex_class(problem,interpretation,element); }
20904/** 23574/**
20905 * An element must be an instance of type "Dir class". 23575 * An element must be an instance of type "Region class".
20906 */ 23576 */
20907private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23577private pattern mustInstanceOfRegion_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
20908 Type.name(type,"Dir class"); 23578 Type.name(type,"Region class");
20909 find directInstanceOf(problem,interpretation,element,type); 23579 find directInstanceOf(problem,interpretation,element,type);
20910} 23580}
20911private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { 23581private pattern scopeDisallowsNewRegion_class(problem:LogicProblem, interpretation:PartialInterpretation) {
20912 find interpretation(problem,interpretation); 23582 find interpretation(problem,interpretation);
20913 PartialInterpretation.scopes(interpretation,scope); 23583 PartialInterpretation.scopes(interpretation,scope);
20914 Scope.targetTypeInterpretation(scope,typeInterpretation); 23584 Scope.targetTypeInterpretation(scope,typeInterpretation);
20915 Scope.maxNewElements(scope,0); 23585 Scope.maxNewElements(scope,0);
20916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23586 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
20917 Type.name(type,"Dir class"); 23587 Type.name(type,"Region class");
20918} 23588}
20919 23589
20920/** 23590/**
20921 * An element may be an instance of type "Dir class". 23591 * An element may be an instance of type "Region class".
20922 */ 23592 */
20923private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23593private pattern mayInstanceOfRegion_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
20924{ 23594{
20925 find interpretation(problem,interpretation); 23595 find interpretation(problem,interpretation);
20926 PartialInterpretation.newElements(interpretation,element); 23596 PartialInterpretation.newElements(interpretation,element);
20927 neg find mustInstanceOfModel_class(problem,interpretation,element); 23597 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20928 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23598 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20929 neg find mustInstanceOfFile_class(problem,interpretation,element); 23599 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20930 neg find scopeDisallowsNewDir_class(problem, interpretation); 23600 neg find scopeDisallowsNewRegion_class(problem, interpretation);
20931 neg find isPrimitive(element); 23601 neg find isPrimitive(element);
20932} or { 23602} or {
20933 find interpretation(problem,interpretation); 23603 find interpretation(problem,interpretation);
20934 PartialInterpretation.openWorldElements(interpretation,element); 23604 PartialInterpretation.openWorldElements(interpretation,element);
20935 neg find mustInstanceOfModel_class(problem,interpretation,element); 23605 neg find mustInstanceOfTransition_class(problem,interpretation,element);
20936 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23606 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20937 neg find mustInstanceOfFile_class(problem,interpretation,element); 23607 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20938 neg find scopeDisallowsNewDir_class(problem, interpretation); 23608 neg find scopeDisallowsNewRegion_class(problem, interpretation);
20939 neg find isPrimitive(element); 23609 neg find isPrimitive(element);
20940} or 23610} or
20941{ find mustInstanceOfDir_class(problem,interpretation,element); } 23611{ find mustInstanceOfRegion_class(problem,interpretation,element); }
20942/** 23612/**
20943 * An element must be an instance of type "File class". 23613 * An element must be an instance of type "Transition class".
20944 */ 23614 */
20945private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23615private pattern mustInstanceOfTransition_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
20946 Type.name(type,"File class"); 23616 Type.name(type,"Transition class");
20947 find directInstanceOf(problem,interpretation,element,type); 23617 find directInstanceOf(problem,interpretation,element,type);
20948} 23618}
20949private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { 23619private pattern scopeDisallowsNewTransition_class(problem:LogicProblem, interpretation:PartialInterpretation) {
20950 find interpretation(problem,interpretation); 23620 find interpretation(problem,interpretation);
20951 PartialInterpretation.scopes(interpretation,scope); 23621 PartialInterpretation.scopes(interpretation,scope);
20952 Scope.targetTypeInterpretation(scope,typeInterpretation); 23622 Scope.targetTypeInterpretation(scope,typeInterpretation);
20953 Scope.maxNewElements(scope,0); 23623 Scope.maxNewElements(scope,0);
20954 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23624 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
20955 Type.name(type,"File class"); 23625 Type.name(type,"Transition class");
20956} 23626}
20957 23627
20958/** 23628/**
20959 * An element may be an instance of type "File class". 23629 * An element may be an instance of type "Transition class".
20960 */ 23630 */
20961private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23631private pattern mayInstanceOfTransition_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
20962{ 23632{
20963 find interpretation(problem,interpretation); 23633 find interpretation(problem,interpretation);
20964 PartialInterpretation.newElements(interpretation,element); 23634 PartialInterpretation.newElements(interpretation,element);
20965 neg find mustInstanceOfModel_class(problem,interpretation,element); 23635 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20966 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23636 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20967 neg find mustInstanceOfDir_class(problem,interpretation,element); 23637 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20968 neg find scopeDisallowsNewFile_class(problem, interpretation); 23638 neg find scopeDisallowsNewTransition_class(problem, interpretation);
20969 neg find isPrimitive(element); 23639 neg find isPrimitive(element);
20970} or { 23640} or {
20971 find interpretation(problem,interpretation); 23641 find interpretation(problem,interpretation);
20972 PartialInterpretation.openWorldElements(interpretation,element); 23642 PartialInterpretation.openWorldElements(interpretation,element);
20973 neg find mustInstanceOfModel_class(problem,interpretation,element); 23643 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
20974 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23644 neg find mustInstanceOfVertex_class(problem,interpretation,element);
20975 neg find mustInstanceOfDir_class(problem,interpretation,element); 23645 neg find mustInstanceOfRegion_class(problem,interpretation,element);
20976 neg find scopeDisallowsNewFile_class(problem, interpretation); 23646 neg find scopeDisallowsNewTransition_class(problem, interpretation);
20977 neg find isPrimitive(element); 23647 neg find isPrimitive(element);
20978} or 23648} or
20979{ find mustInstanceOfFile_class(problem,interpretation,element); } 23649{ find mustInstanceOfTransition_class(problem,interpretation,element); }
20980/** 23650/**
20981 * An element must be an instance of type "Model class". 23651 * An element must be an instance of type "Statechart class".
20982 */ 23652 */
20983private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23653private pattern mustInstanceOfStatechart_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
20984 Type.name(type,"Model class"); 23654 Type.name(type,"Statechart class");
20985 find directInstanceOf(problem,interpretation,element,type); 23655 find directInstanceOf(problem,interpretation,element,type);
20986} 23656}
20987private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { 23657private pattern scopeDisallowsNewStatechart_class(problem:LogicProblem, interpretation:PartialInterpretation) {
20988 find interpretation(problem,interpretation); 23658 find interpretation(problem,interpretation);
20989 PartialInterpretation.scopes(interpretation,scope); 23659 PartialInterpretation.scopes(interpretation,scope);
20990 Scope.targetTypeInterpretation(scope,typeInterpretation); 23660 Scope.targetTypeInterpretation(scope,typeInterpretation);
20991 Scope.maxNewElements(scope,0); 23661 Scope.maxNewElements(scope,0);
20992 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23662 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
20993 Type.name(type,"Model class"); 23663 Type.name(type,"Statechart class");
20994} 23664}
20995 23665
20996/** 23666/**
20997 * An element may be an instance of type "Model class". 23667 * An element may be an instance of type "Statechart class".
20998 */ 23668 */
20999private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23669private pattern mayInstanceOfStatechart_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
21000{ 23670{
21001 find interpretation(problem,interpretation); 23671 find interpretation(problem,interpretation);
21002 PartialInterpretation.newElements(interpretation,element); 23672 PartialInterpretation.newElements(interpretation,element);
21003 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23673 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
21004 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 23674 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21005 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 23675 neg find mustInstanceOfVertex_class(problem,interpretation,element);
21006 neg find scopeDisallowsNewModel_class(problem, interpretation); 23676 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23677 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
21007 neg find isPrimitive(element); 23678 neg find isPrimitive(element);
21008} or { 23679} or {
21009 find interpretation(problem,interpretation); 23680 find interpretation(problem,interpretation);
21010 PartialInterpretation.openWorldElements(interpretation,element); 23681 PartialInterpretation.openWorldElements(interpretation,element);
21011 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23682 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
21012 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 23683 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21013 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 23684 neg find mustInstanceOfVertex_class(problem,interpretation,element);
21014 neg find scopeDisallowsNewModel_class(problem, interpretation); 23685 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23686 neg find scopeDisallowsNewStatechart_class(problem, interpretation);
21015 neg find isPrimitive(element); 23687 neg find isPrimitive(element);
21016} or 23688} or
21017{ find mustInstanceOfModel_class(problem,interpretation,element); } 23689{ find mustInstanceOfStatechart_class(problem,interpretation,element); }
21018/** 23690/**
21019 * An element must be an instance of type "Model class DefinedPart". 23691 * An element must be an instance of type "Entry class".
21020 */ 23692 */
21021private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23693private pattern mustInstanceOfEntry_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21022 Type.name(type,"Model class DefinedPart"); 23694 Type.name(type,"Entry class");
21023 find directInstanceOf(problem,interpretation,element,type); 23695 find directInstanceOf(problem,interpretation,element,type);
21024} 23696}
21025private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 23697private pattern scopeDisallowsNewEntry_class(problem:LogicProblem, interpretation:PartialInterpretation) {
21026 find interpretation(problem,interpretation); 23698 find interpretation(problem,interpretation);
21027 PartialInterpretation.scopes(interpretation,scope); 23699 PartialInterpretation.scopes(interpretation,scope);
21028 Scope.targetTypeInterpretation(scope,typeInterpretation); 23700 Scope.targetTypeInterpretation(scope,typeInterpretation);
21029 Scope.maxNewElements(scope,0); 23701 Scope.maxNewElements(scope,0);
21030 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23702 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
21031 Type.name(type,"Model class DefinedPart"); 23703 Type.name(type,"Entry class");
21032} 23704}
21033 23705
21034/** 23706/**
21035 * An element may be an instance of type "Model class DefinedPart". 23707 * An element may be an instance of type "Entry class".
21036 */ 23708 */
21037private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23709private pattern mayInstanceOfEntry_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
21038{ find mustInstanceOfModel_class_DefinedPart(problem,interpretation,element); } 23710{
23711 find interpretation(problem,interpretation);
23712 PartialInterpretation.newElements(interpretation,element);
23713 neg find mustInstanceOfExit_class(problem,interpretation,element);
23714 neg find mustInstanceOfTransition_class(problem,interpretation,element);
23715 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23716 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23717 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23718 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23719 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23720 neg find scopeDisallowsNewEntry_class(problem, interpretation);
23721 neg find isPrimitive(element);
23722} or {
23723 find interpretation(problem,interpretation);
23724 PartialInterpretation.openWorldElements(interpretation,element);
23725 neg find mustInstanceOfExit_class(problem,interpretation,element);
23726 neg find mustInstanceOfTransition_class(problem,interpretation,element);
23727 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23728 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23729 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23730 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23731 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23732 neg find scopeDisallowsNewEntry_class(problem, interpretation);
23733 neg find isPrimitive(element);
23734} or
23735{ find mustInstanceOfEntry_class(problem,interpretation,element); }
21039/** 23736/**
21040 * An element must be an instance of type "Model class UndefinedPart". 23737 * An element must be an instance of type "Synchronization class".
21041 */ 23738 */
21042private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23739private pattern mustInstanceOfSynchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21043 Type.name(type,"Model class UndefinedPart"); 23740 Type.name(type,"Synchronization class");
21044 find directInstanceOf(problem,interpretation,element,type); 23741 find directInstanceOf(problem,interpretation,element,type);
21045} 23742}
21046private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 23743private pattern scopeDisallowsNewSynchronization_class(problem:LogicProblem, interpretation:PartialInterpretation) {
21047 find interpretation(problem,interpretation); 23744 find interpretation(problem,interpretation);
21048 PartialInterpretation.scopes(interpretation,scope); 23745 PartialInterpretation.scopes(interpretation,scope);
21049 Scope.targetTypeInterpretation(scope,typeInterpretation); 23746 Scope.targetTypeInterpretation(scope,typeInterpretation);
21050 Scope.maxNewElements(scope,0); 23747 Scope.maxNewElements(scope,0);
21051 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23748 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
21052 Type.name(type,"Model class UndefinedPart"); 23749 Type.name(type,"Synchronization class");
21053} 23750}
21054 23751
21055/** 23752/**
21056 * An element may be an instance of type "Model class UndefinedPart". 23753 * An element may be an instance of type "Synchronization class".
21057 */ 23754 */
21058private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23755private pattern mayInstanceOfSynchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
21059{ 23756{
21060 find interpretation(problem,interpretation); 23757 find interpretation(problem,interpretation);
21061 PartialInterpretation.newElements(interpretation,element); 23758 PartialInterpretation.newElements(interpretation,element);
21062 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23759 neg find mustInstanceOfExit_class(problem,interpretation,element);
21063 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 23760 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21064 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 23761 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23762 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23763 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23764 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23765 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23766 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
21065 neg find isPrimitive(element); 23767 neg find isPrimitive(element);
21066} or { 23768} or {
21067 find interpretation(problem,interpretation); 23769 find interpretation(problem,interpretation);
21068 PartialInterpretation.openWorldElements(interpretation,element); 23770 PartialInterpretation.openWorldElements(interpretation,element);
21069 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23771 neg find mustInstanceOfExit_class(problem,interpretation,element);
21070 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 23772 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21071 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 23773 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23774 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23775 neg find mustInstanceOfChoice_class(problem,interpretation,element);
23776 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23777 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23778 neg find scopeDisallowsNewSynchronization_class(problem, interpretation);
21072 neg find isPrimitive(element); 23779 neg find isPrimitive(element);
21073} or 23780} or
21074{ find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); } 23781{ find mustInstanceOfSynchronization_class(problem,interpretation,element); }
21075
21076//////////
21077// 1.2 Relation Declaration Indexers
21078//////////
21079/**
21080 * Matcher for detecting tuples t where []root reference FileSystem(source,target)
21081 */
21082private pattern mustInRelationroot_reference_FileSystem(
21083 problem:LogicProblem, interpretation:PartialInterpretation,
21084 source: DefinedElement, target:DefinedElement)
21085{
21086 find interpretation(problem,interpretation);
21087 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
21088 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem");
21089 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
21090 BinaryElementRelationLink.param1(link,source);
21091 BinaryElementRelationLink.param2(link,target);
21092}
21093/** 23782/**
21094 * Matcher for detecting tuples t where <>root reference FileSystem(source,target) 23783 * An element must be an instance of type "State class".
21095 */ 23784 */
21096private pattern mayInRelationroot_reference_FileSystem( 23785private pattern mustInstanceOfState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21097 problem:LogicProblem, interpretation:PartialInterpretation, 23786 Type.name(type,"State class");
21098 source: DefinedElement, target:DefinedElement) 23787 find directInstanceOf(problem,interpretation,element,type);
21099{
21100 find interpretation(problem,interpretation);
21101 // The two endpoint of the link have to exist
21102 find mayExist(problem, interpretation, source);
21103 find mayExist(problem, interpretation, target);
21104 // Type consistency
21105 find mayInstanceOfFileSystem_class(problem,interpretation,source);
21106 find mayInstanceOfDir_class(problem,interpretation,target);
21107 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
21108 // the upper bound of the multiplicity should be considered.
21109 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,source,_);
21110 check(numberOfExistingReferences < 1);
21111 // The reference is containment, then a new reference cannot be create if:
21112 // 1. Multiple parents
21113 neg find mustContains4(problem,interpretation,_,target);
21114 // 2. Circle in the containment hierarchy
21115 neg find mustTransitiveContains(source,target);
21116} or {
21117 find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target);
21118} 23788}
21119/** 23789private pattern scopeDisallowsNewState_class(problem:LogicProblem, interpretation:PartialInterpretation) {
21120 * Matcher for detecting tuples t where []live reference FileSystem(source,target)
21121 */
21122 private pattern mustInRelationlive_reference_FileSystem(
21123 problem:LogicProblem, interpretation:PartialInterpretation,
21124 source: DefinedElement, target:DefinedElement)
21125 {
21126 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,source,target);
21127 }
21128/**
21129 * Matcher for detecting tuples t where []live reference FileSystem(source,target)
21130 */
21131 private pattern mayInRelationlive_reference_FileSystem(
21132 problem:LogicProblem, interpretation:PartialInterpretation,
21133 source: DefinedElement, target:DefinedElement)
21134 {
21135 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,source,target);
21136 }
21137/**
21138 * Matcher for detecting tuples t where []parent reference FSObject(source,target)
21139 */
21140private pattern mustInRelationparent_reference_FSObject(
21141 problem:LogicProblem, interpretation:PartialInterpretation,
21142 source: DefinedElement, target:DefinedElement)
21143{
21144 find interpretation(problem,interpretation); 23790 find interpretation(problem,interpretation);
21145 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 23791 PartialInterpretation.scopes(interpretation,scope);
21146 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parent reference FSObject"); 23792 Scope.targetTypeInterpretation(scope,typeInterpretation);
21147 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 23793 Scope.maxNewElements(scope,0);
21148 BinaryElementRelationLink.param1(link,source); 23794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
21149 BinaryElementRelationLink.param2(link,target); 23795 Type.name(type,"State class");
21150} 23796}
23797
21151/** 23798/**
21152 * Matcher for detecting tuples t where <>parent reference FSObject(source,target) 23799 * An element may be an instance of type "State class".
21153 */ 23800 */
21154private pattern mayInRelationparent_reference_FSObject( 23801private pattern mayInstanceOfState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
21155 problem:LogicProblem, interpretation:PartialInterpretation,
21156 source: DefinedElement, target:DefinedElement)
21157{ 23802{
21158 find interpretation(problem,interpretation); 23803 find interpretation(problem,interpretation);
21159 // The two endpoint of the link have to exist 23804 PartialInterpretation.newElements(interpretation,element);
21160 find mayExist(problem, interpretation, source); 23805 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
21161 find mayExist(problem, interpretation, target); 23806 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21162 // Type consistency 23807 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
21163 find mayInstanceOfFSObject_class(problem,interpretation,source); 23808 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
21164 find mayInstanceOfDir_class(problem,interpretation,target); 23809 neg find mustInstanceOfRegion_class(problem,interpretation,element);
21165 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 23810 neg find scopeDisallowsNewState_class(problem, interpretation);
21166 // the upper bound of the multiplicity should be considered. 23811 neg find isPrimitive(element);
21167 numberOfExistingReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,source,_);
21168 check(numberOfExistingReferences < 1);
21169 // The eOpposite of the reference is containment, then a referene cannot be created if
21170 // 1. Multiple parents
21171 neg find mustContains4(problem,interpretation,source,_);
21172 // 2. Circle in the containment hierarchy
21173 neg find mustTransitiveContains(source,target);
21174} or { 23812} or {
21175 find mustInRelationparent_reference_FSObject(problem,interpretation,source,target);
21176}
21177/**
21178 * Matcher for detecting tuples t where []contents reference Dir(source,target)
21179 */
21180private pattern mustInRelationcontents_reference_Dir(
21181 problem:LogicProblem, interpretation:PartialInterpretation,
21182 source: DefinedElement, target:DefinedElement)
21183{
21184 find interpretation(problem,interpretation); 23813 find interpretation(problem,interpretation);
21185 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 23814 PartialInterpretation.openWorldElements(interpretation,element);
21186 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"contents reference Dir"); 23815 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
21187 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 23816 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21188 BinaryElementRelationLink.param1(link,source); 23817 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
21189 BinaryElementRelationLink.param2(link,target); 23818 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
21190} 23819 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23820 neg find scopeDisallowsNewState_class(problem, interpretation);
23821 neg find isPrimitive(element);
23822} or
23823{ find mustInstanceOfState_class(problem,interpretation,element); }
21191/** 23824/**
21192 * Matcher for detecting tuples t where <>contents reference Dir(source,target) 23825 * An element must be an instance of type "RegularState class".
21193 */ 23826 */
21194private pattern mayInRelationcontents_reference_Dir( 23827private pattern mustInstanceOfRegularState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21195 problem:LogicProblem, interpretation:PartialInterpretation, 23828 Type.name(type,"RegularState class");
21196 source: DefinedElement, target:DefinedElement) 23829 find directInstanceOf(problem,interpretation,element,type);
21197{
21198 find interpretation(problem,interpretation);
21199 // The two endpoint of the link have to exist
21200 find mayExist(problem, interpretation, source);
21201 find mayExist(problem, interpretation, target);
21202 // Type consistency
21203 find mayInstanceOfDir_class(problem,interpretation,source);
21204 find mayInstanceOfFSObject_class(problem,interpretation,target);
21205 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
21206 // the upper bound of the opposite reference multiplicity should be considered.
21207 numberOfExistingOppositeReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,target,_);
21208 check(numberOfExistingOppositeReferences < 1);
21209 // The reference is containment, then a new reference cannot be create if:
21210 // 1. Multiple parents
21211 neg find mustContains4(problem,interpretation,_,target);
21212 // 2. Circle in the containment hierarchy
21213 neg find mustTransitiveContains(source,target);
21214} or {
21215 find mustInRelationcontents_reference_Dir(problem,interpretation,source,target);
21216} 23830}
21217/** 23831private pattern scopeDisallowsNewRegularState_class(problem:LogicProblem, interpretation:PartialInterpretation) {
21218 * Matcher for detecting tuples t where []filesystems reference Model(source,target)
21219 */
21220private pattern mustInRelationfilesystems_reference_Model(
21221 problem:LogicProblem, interpretation:PartialInterpretation,
21222 source: DefinedElement, target:DefinedElement)
21223{
21224 find interpretation(problem,interpretation); 23832 find interpretation(problem,interpretation);
21225 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 23833 PartialInterpretation.scopes(interpretation,scope);
21226 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 23834 Scope.targetTypeInterpretation(scope,typeInterpretation);
21227 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 23835 Scope.maxNewElements(scope,0);
21228 BinaryElementRelationLink.param1(link,source); 23836 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
21229 BinaryElementRelationLink.param2(link,target); 23837 Type.name(type,"RegularState class");
21230} 23838}
23839
21231/** 23840/**
21232 * Matcher for detecting tuples t where <>filesystems reference Model(source,target) 23841 * An element may be an instance of type "RegularState class".
21233 */ 23842 */
21234private pattern mayInRelationfilesystems_reference_Model( 23843private pattern mayInstanceOfRegularState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
21235 problem:LogicProblem, interpretation:PartialInterpretation,
21236 source: DefinedElement, target:DefinedElement)
21237{ 23844{
21238 find interpretation(problem,interpretation); 23845 find interpretation(problem,interpretation);
21239 // The two endpoint of the link have to exist 23846 PartialInterpretation.newElements(interpretation,element);
21240 find mayExist(problem, interpretation, source); 23847 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
21241 find mayExist(problem, interpretation, target); 23848 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21242 // Type consistency 23849 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
21243 find mayInstanceOfModel_class(problem,interpretation,source); 23850 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
21244 find mayInstanceOfFileSystem_class(problem,interpretation,target); 23851 neg find mustInstanceOfRegion_class(problem,interpretation,element);
21245 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 23852 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
21246 // the upper bound of the multiplicity should be considered. 23853 neg find isPrimitive(element);
21247 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,source,_);
21248 check(numberOfExistingReferences < 1);
21249 // The reference is containment, then a new reference cannot be create if:
21250 // 1. Multiple parents
21251 neg find mustContains4(problem,interpretation,_,target);
21252 // 2. Circle in the containment hierarchy
21253 neg find mustTransitiveContains(source,target);
21254} or { 23854} or {
21255 find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target);
21256}
21257/**
21258 * Matcher for detecting tuples t where []otherFSObjects reference Model(source,target)
21259 */
21260private pattern mustInRelationotherFSObjects_reference_Model(
21261 problem:LogicProblem, interpretation:PartialInterpretation,
21262 source: DefinedElement, target:DefinedElement)
21263{
21264 find interpretation(problem,interpretation); 23855 find interpretation(problem,interpretation);
21265 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 23856 PartialInterpretation.openWorldElements(interpretation,element);
21266 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"otherFSObjects reference Model"); 23857 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
21267 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 23858 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21268 BinaryElementRelationLink.param1(link,source); 23859 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
21269 BinaryElementRelationLink.param2(link,target); 23860 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
21270} 23861 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23862 neg find scopeDisallowsNewRegularState_class(problem, interpretation);
23863 neg find isPrimitive(element);
23864} or
23865{ find mustInstanceOfRegularState_class(problem,interpretation,element); }
21271/** 23866/**
21272 * Matcher for detecting tuples t where <>otherFSObjects reference Model(source,target) 23867 * An element must be an instance of type "CompositeElement class".
21273 */ 23868 */
21274private pattern mayInRelationotherFSObjects_reference_Model( 23869private pattern mustInstanceOfCompositeElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21275 problem:LogicProblem, interpretation:PartialInterpretation, 23870 Type.name(type,"CompositeElement class");
21276 source: DefinedElement, target:DefinedElement) 23871 find directInstanceOf(problem,interpretation,element,type);
21277{
21278 find interpretation(problem,interpretation);
21279 // The two endpoint of the link have to exist
21280 find mayExist(problem, interpretation, source);
21281 find mayExist(problem, interpretation, target);
21282 // Type consistency
21283 find mayInstanceOfModel_class(problem,interpretation,source);
21284 find mayInstanceOfFSObject_class(problem,interpretation,target);
21285 // The reference is containment, then a new reference cannot be create if:
21286 // 1. Multiple parents
21287 neg find mustContains4(problem,interpretation,_,target);
21288 // 2. Circle in the containment hierarchy
21289 neg find mustTransitiveContains(source,target);
21290} or {
21291 find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target);
21292}
21293
21294//////////
21295// 1.3 Relation Definition Indexers
21296//////////
21297// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries patternContent
21298private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(
21299 problem:LogicProblem, interpretation:PartialInterpretation,
21300 var_o1, var_o2)
21301{
21302 find interpretation(problem,interpretation);
21303 find mustInstanceOfFSObject_class(problem,interpretation,var_o1);
21304 find mustInstanceOfFSObject_class(problem,interpretation,var_o2);
21305 // o1 is exported
21306 // o2 is exported
21307 find mustInstanceOfDir_class(problem,interpretation,var_o1);
21308 find mustInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
21309 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21310 var_virtual0 == var_o2;
21311}
21312private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(
21313 problem:LogicProblem, interpretation:PartialInterpretation,
21314 var_o1, var_o2)
21315{
21316 find interpretation(problem,interpretation);
21317 find mayInstanceOfFSObject_class(problem,interpretation,var_o1);
21318 find mayInstanceOfFSObject_class(problem,interpretation,var_o2);
21319 // o1 is exported
21320 // o2 is exported
21321 find mayInstanceOfDir_class(problem,interpretation,var_o1);
21322 find mayInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
21323 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21324 find mayEquivalent(problem, interpretation, var_virtual0, var_o2);
21325}
21326private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(
21327 problem:LogicProblem, interpretation:PartialInterpretation,
21328 var_o1, var_o2)
21329{
21330 find interpretation(problem,interpretation);
21331 find mustInstanceOfFSObject_class(problem,interpretation,var_o1);
21332 find mustInstanceOfFSObject_class(problem,interpretation,var_o2);
21333 // o1 is exported
21334 // o2 is exported
21335 find mustInstanceOfDir_class(problem,interpretation,var_o1);
21336 find mustInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
21337 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21338 var_virtual0 == var_o2;
21339}
21340private pattern twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) {
21341 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2);
21342}
21343private pattern twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) {
21344 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2);
21345}
21346private pattern twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) {
21347 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2);
21348}
21349// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries live
21350private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(
21351 problem:LogicProblem, interpretation:PartialInterpretation,
21352 var_this, var_l)
21353{
21354 find interpretation(problem,interpretation);
21355 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
21356 find mustInstanceOfFSObject_class(problem,interpretation,var_l);
21357 // this is exported
21358 // l is exported
21359 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
21360 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
21361 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
21362 var_virtual0 == var_l;
21363}or{
21364 find interpretation(problem,interpretation);
21365 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
21366 find mustInstanceOfFSObject_class(problem,interpretation,var_l);
21367 // this is exported
21368 // l is exported
21369 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
21370 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
21371 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
21372 var_virtual0 == var_root;
21373 find twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
21374}
21375private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(
21376 problem:LogicProblem, interpretation:PartialInterpretation,
21377 var_this, var_l)
21378{
21379 find interpretation(problem,interpretation);
21380 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
21381 find mayInstanceOfFSObject_class(problem,interpretation,var_l);
21382 // this is exported
21383 // l is exported
21384 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
21385 find mayInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
21386 find mayInstanceOfDir_class(problem,interpretation,var_virtual0);
21387 find mayEquivalent(problem, interpretation, var_virtual0, var_l);
21388}or{
21389 find interpretation(problem,interpretation);
21390 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
21391 find mayInstanceOfFSObject_class(problem,interpretation,var_l);
21392 // this is exported
21393 // l is exported
21394 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
21395 find mayInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
21396 find mayInstanceOfDir_class(problem,interpretation,var_virtual0);
21397 find mayEquivalent(problem, interpretation, var_virtual0, var_root);
21398 find twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
21399}
21400private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(
21401 problem:LogicProblem, interpretation:PartialInterpretation,
21402 var_this, var_l)
21403{
21404 find interpretation(problem,interpretation);
21405 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
21406 find mustInstanceOfFSObject_class(problem,interpretation,var_l);
21407 // this is exported
21408 // l is exported
21409 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
21410 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
21411 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
21412 var_virtual0 == var_l;
21413}or{
21414 find interpretation(problem,interpretation);
21415 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
21416 find mustInstanceOfFSObject_class(problem,interpretation,var_l);
21417 // this is exported
21418 // l is exported
21419 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
21420 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
21421 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
21422 var_virtual0 == var_root;
21423 find twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
21424}
21425// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries contentInNotLive
21426private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(
21427 problem:LogicProblem, interpretation:PartialInterpretation,
21428 var_parent, var_child)
21429{
21430 find interpretation(problem,interpretation);
21431 find mustInstanceOfDir_class(problem,interpretation,var_parent);
21432 find mustInstanceOfFSObject_class(problem,interpretation,var_child);
21433 // parent is exported
21434 // child is exported
21435 find mustInstanceOfDir_class(problem,interpretation,var_parent);
21436 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
21437 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21438 var_virtual0 == var_child;
21439 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
21440}or{
21441 find interpretation(problem,interpretation);
21442 find mustInstanceOfDir_class(problem,interpretation,var_parent);
21443 find mustInstanceOfFSObject_class(problem,interpretation,var_child);
21444 // parent is exported
21445 // child is exported
21446 find mustInstanceOfDir_class(problem,interpretation,var_parent);
21447 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
21448 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21449 var_virtual0 == var_child;
21450 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
21451}
21452private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(
21453 problem:LogicProblem, interpretation:PartialInterpretation,
21454 var_parent, var_child)
21455{
21456 find interpretation(problem,interpretation);
21457 find mayInstanceOfDir_class(problem,interpretation,var_parent);
21458 find mayInstanceOfFSObject_class(problem,interpretation,var_child);
21459 // parent is exported
21460 // child is exported
21461 find mayInstanceOfDir_class(problem,interpretation,var_parent);
21462 find mayInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
21463 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21464 find mayEquivalent(problem, interpretation, var_virtual0, var_child);
21465 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
21466}or{
21467 find interpretation(problem,interpretation);
21468 find mayInstanceOfDir_class(problem,interpretation,var_parent);
21469 find mayInstanceOfFSObject_class(problem,interpretation,var_child);
21470 // parent is exported
21471 // child is exported
21472 find mayInstanceOfDir_class(problem,interpretation,var_parent);
21473 find mayInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
21474 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21475 find mayEquivalent(problem, interpretation, var_virtual0, var_child);
21476 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
21477}
21478private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(
21479 problem:LogicProblem, interpretation:PartialInterpretation,
21480 var_parent, var_child)
21481{
21482 find interpretation(problem,interpretation);
21483 find mustInstanceOfDir_class(problem,interpretation,var_parent);
21484 find mustInstanceOfFSObject_class(problem,interpretation,var_child);
21485 // parent is exported
21486 // child is exported
21487 find mustInstanceOfDir_class(problem,interpretation,var_parent);
21488 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
21489 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21490 var_virtual0 == var_child;
21491 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
21492}or{
21493 find interpretation(problem,interpretation);
21494 find mustInstanceOfDir_class(problem,interpretation,var_parent);
21495 find mustInstanceOfFSObject_class(problem,interpretation,var_child);
21496 // parent is exported
21497 // child is exported
21498 find mustInstanceOfDir_class(problem,interpretation,var_parent);
21499 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
21500 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
21501 var_virtual0 == var_child;
21502 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
21503}
21504
21505//////////
21506// 1.4 Containment Indexer
21507//////////
21508private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
21509 find mustContains4(_,_,source,target);
21510}
21511
21512private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
21513 source: DefinedElement, target: DefinedElement)
21514 { find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target); }or
21515
21516 { find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); }or
21517
21518 { find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target); }or
21519
21520 { find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target); }
21521
21522private pattern mustTransitiveContains(source,target) {
21523 find mustContains2+(source,target);
21524}
21525
21526//////////
21527// 2. Invalidation Indexers
21528//////////
21529// 2.1 Invalidated by WF Queries
21530//////////
21531pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem:LogicProblem, interpretation:PartialInterpretation,
21532 var_parent, var_child)
21533{
21534 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem,interpretation,var_parent,var_child);
21535}
21536
21537//////////
21538// 3. Unfinishedness Indexers
21539//////////
21540// 3.1 Unfinishedness Measured by Multiplicity
21541//////////
21542pattern unfinishedLowerMultiplicity_root_reference_FileSystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
21543 find interpretation(problem,interpretation);
21544 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
21545 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem");
21546 find mustInstanceOfFileSystem_class(problem,interpretation,object);
21547 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,object,_);
21548 check(numberOfExistingReferences < 1);
21549 missingMultiplicity == eval(1-numberOfExistingReferences);
21550}
21551pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
21552 find interpretation(problem,interpretation);
21553 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
21554 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model");
21555 find mustInstanceOfModel_class(problem,interpretation,object);
21556 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,object,_);
21557 check(numberOfExistingReferences < 1);
21558 missingMultiplicity == eval(1-numberOfExistingReferences);
21559}
21560
21561//////////
21562// 3.2 Unfinishedness Measured by WF Queries
21563//////////
21564pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem:LogicProblem, interpretation:PartialInterpretation,
21565 var_parent, var_child)
21566{
21567 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem,interpretation,var_parent,var_child);
21568}
21569
21570//////////
21571// 4. Refinement Indexers
21572//////////
21573// 4.1 Object constructors
21574//////////
21575private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
21576{
21577 find interpretation(problem,interpretation);
21578 find mustInstanceOfModel_class(problem,interpretation,root);
21579 find mustExist(problem, interpretation, root);
21580}or{
21581 find interpretation(problem,interpretation);
21582 find mustInstanceOfFile_class(problem,interpretation,root);
21583 find mustExist(problem, interpretation, root);
21584}or{
21585 find interpretation(problem,interpretation);
21586 find mustInstanceOfFSObject_class(problem,interpretation,root);
21587 find mustExist(problem, interpretation, root);
21588}or{
21589 find interpretation(problem,interpretation);
21590 find mustInstanceOfFileSystem_class(problem,interpretation,root);
21591 find mustExist(problem, interpretation, root);
21592}or{
21593 find interpretation(problem,interpretation);
21594 find mustInstanceOfDir_class(problem,interpretation,root);
21595 find mustExist(problem, interpretation, root);
21596}or{
21597 find interpretation(problem,interpretation);
21598 find mustInstanceOfModel_class_DefinedPart(problem,interpretation,root);
21599 find mustExist(problem, interpretation, root);
21600}or{
21601 find interpretation(problem,interpretation);
21602 find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,root);
21603 find mustExist(problem, interpretation, root);
21604}
21605pattern createObject_FileSystem_class_by_filesystems_reference_Model(
21606 problem:LogicProblem, interpretation:PartialInterpretation,
21607 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
21608 container:DefinedElement)
21609{
21610 find interpretation(problem,interpretation);
21611 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21612 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class");
21613 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
21614 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"filesystems reference Model");
21615 find mustInstanceOfModel_class(problem,interpretation,container);
21616 find mayInstanceOfFileSystem_class(problem,interpretation,newObject);
21617 find mayInRelationfilesystems_reference_Model(problem,interpretation,container,newObject);
21618 find mustExist(problem, interpretation, container);
21619 neg find mustExist(problem, interpretation, newObject);
21620}
21621pattern createObject_FileSystem_class(
21622 problem:LogicProblem, interpretation:PartialInterpretation,
21623 typeInterpretation:PartialComplexTypeInterpretation)
21624{
21625 find interpretation(problem,interpretation);
21626 neg find hasElementInContainment(problem,interpretation);
21627 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21628 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class");
21629 find mayInstanceOfFileSystem_class(problem,interpretation,newObject);
21630 find mayExist(problem, interpretation, newObject);
21631 neg find mustExist(problem, interpretation, newObject);
21632}
21633pattern createObject_File_class_by_contents_reference_Dir_with_parent_reference_FSObject(
21634 problem:LogicProblem, interpretation:PartialInterpretation,
21635 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
21636 container:DefinedElement)
21637{
21638 find interpretation(problem,interpretation);
21639 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21640 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class");
21641 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
21642 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir");
21643 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
21644 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject");
21645 find mustInstanceOfDir_class(problem,interpretation,container);
21646 find mayInstanceOfFile_class(problem,interpretation,newObject);
21647 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject);
21648 find mustExist(problem, interpretation, container);
21649 neg find mustExist(problem, interpretation, newObject);
21650}
21651pattern createObject_File_class_by_otherFSObjects_reference_Model(
21652 problem:LogicProblem, interpretation:PartialInterpretation,
21653 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
21654 container:DefinedElement)
21655{
21656 find interpretation(problem,interpretation);
21657 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21658 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class");
21659 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
21660 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model");
21661 find mustInstanceOfModel_class(problem,interpretation,container);
21662 find mayInstanceOfFile_class(problem,interpretation,newObject);
21663 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject);
21664 find mustExist(problem, interpretation, container);
21665 neg find mustExist(problem, interpretation, newObject);
21666}
21667pattern createObject_File_class(
21668 problem:LogicProblem, interpretation:PartialInterpretation,
21669 typeInterpretation:PartialComplexTypeInterpretation)
21670{
21671 find interpretation(problem,interpretation);
21672 neg find hasElementInContainment(problem,interpretation);
21673 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21674 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class");
21675 find mayInstanceOfFile_class(problem,interpretation,newObject);
21676 find mayExist(problem, interpretation, newObject);
21677 neg find mustExist(problem, interpretation, newObject);
21678}
21679pattern createObject_Model_class_UndefinedPart(
21680 problem:LogicProblem, interpretation:PartialInterpretation,
21681 typeInterpretation:PartialComplexTypeInterpretation)
21682{
21683 find interpretation(problem,interpretation);
21684 neg find hasElementInContainment(problem,interpretation);
21685 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21686 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Model class UndefinedPart");
21687 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,newObject);
21688 find mayExist(problem, interpretation, newObject);
21689 neg find mustExist(problem, interpretation, newObject);
21690}
21691pattern createObject_Dir_class_by_root_reference_FileSystem(
21692 problem:LogicProblem, interpretation:PartialInterpretation,
21693 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
21694 container:DefinedElement)
21695{
21696 find interpretation(problem,interpretation);
21697 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21698 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class");
21699 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
21700 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"root reference FileSystem");
21701 find mustInstanceOfFileSystem_class(problem,interpretation,container);
21702 find mayInstanceOfDir_class(problem,interpretation,newObject);
21703 find mayInRelationroot_reference_FileSystem(problem,interpretation,container,newObject);
21704 find mustExist(problem, interpretation, container);
21705 neg find mustExist(problem, interpretation, newObject);
21706}
21707pattern createObject_Dir_class_by_contents_reference_Dir_with_parent_reference_FSObject(
21708 problem:LogicProblem, interpretation:PartialInterpretation,
21709 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
21710 container:DefinedElement)
21711{
21712 find interpretation(problem,interpretation);
21713 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21714 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class");
21715 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
21716 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir");
21717 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
21718 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject");
21719 find mustInstanceOfDir_class(problem,interpretation,container);
21720 find mayInstanceOfDir_class(problem,interpretation,newObject);
21721 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject);
21722 find mustExist(problem, interpretation, container);
21723 neg find mustExist(problem, interpretation, newObject);
21724}
21725pattern createObject_Dir_class_by_otherFSObjects_reference_Model(
21726 problem:LogicProblem, interpretation:PartialInterpretation,
21727 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
21728 container:DefinedElement)
21729{
21730 find interpretation(problem,interpretation);
21731 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21732 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class");
21733 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
21734 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model");
21735 find mustInstanceOfModel_class(problem,interpretation,container);
21736 find mayInstanceOfDir_class(problem,interpretation,newObject);
21737 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject);
21738 find mustExist(problem, interpretation, container);
21739 neg find mustExist(problem, interpretation, newObject);
21740}
21741pattern createObject_Dir_class(
21742 problem:LogicProblem, interpretation:PartialInterpretation,
21743 typeInterpretation:PartialComplexTypeInterpretation)
21744{
21745 find interpretation(problem,interpretation);
21746 neg find hasElementInContainment(problem,interpretation);
21747 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21748 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class");
21749 find mayInstanceOfDir_class(problem,interpretation,newObject);
21750 find mayExist(problem, interpretation, newObject);
21751 neg find mustExist(problem, interpretation, newObject);
21752}
21753
21754//////////
21755// 4.2 Type refinement
21756//////////
21757pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
21758 find interpretation(problem,interpretation);
21759 PartialInterpretation.newElements(interpretation,element);
21760 find mayInstanceOfFileSystem_class(problem,interpretation,element);
21761 neg find mustInstanceOfModel_class(problem,interpretation,element);
21762 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
21763 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
21764}
21765pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
21766 find interpretation(problem,interpretation);
21767 PartialInterpretation.newElements(interpretation,element);
21768 find mayInstanceOfFile_class(problem,interpretation,element);
21769 neg find mustInstanceOfModel_class(problem,interpretation,element);
21770 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
21771 neg find mustInstanceOfFile_class(problem,interpretation,element);
21772 neg find mustInstanceOfDir_class(problem,interpretation,element);
21773}
21774pattern refineTypeTo_Model_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
21775 find interpretation(problem,interpretation);
21776 PartialInterpretation.newElements(interpretation,element);
21777 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
21778 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
21779 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
21780 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
21781}
21782pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
21783 find interpretation(problem,interpretation);
21784 PartialInterpretation.newElements(interpretation,element);
21785 find mayInstanceOfDir_class(problem,interpretation,element);
21786 neg find mustInstanceOfModel_class(problem,interpretation,element);
21787 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
21788 neg find mustInstanceOfFile_class(problem,interpretation,element);
21789 neg find mustInstanceOfDir_class(problem,interpretation,element);
21790}
21791
21792//////////
21793// 4.3 Relation refinement
21794//////////
21795pattern refineRelation_live_reference_FileSystem(
21796 problem:LogicProblem, interpretation:PartialInterpretation,
21797 relationIterpretation:PartialRelationInterpretation,
21798 from: DefinedElement, to: DefinedElement)
21799{
21800 find interpretation(problem,interpretation);
21801 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
21802 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"live reference FileSystem");
21803 find mustExist(problem, interpretation, from);
21804 find mustExist(problem, interpretation, to);
21805 find mustInstanceOfFileSystem_class(problem,interpretation,from);
21806 find mustInstanceOfFSObject_class(problem,interpretation,to);
21807 find mayInRelationlive_reference_FileSystem(problem,interpretation,from,to);
21808 neg find mustInRelationlive_reference_FileSystem(problem,interpretation,from,to);
21809}
21810import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
21811import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
21812import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
21813
21814//////////
21815// 0. Util
21816//////////
21817private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
21818 PartialInterpretation.problem(interpretation,problem);
21819} 23872}
21820 23873private pattern scopeDisallowsNewCompositeElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
21821/////////////////////////
21822// 0.1 Existence
21823/////////////////////////
21824private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21825 find interpretation(problem,interpretation);
21826 LogicProblem.elements(problem,element);
21827} or {
21828 find interpretation(problem,interpretation); 23874 find interpretation(problem,interpretation);
21829 PartialInterpretation.newElements(interpretation,element); 23875 PartialInterpretation.scopes(interpretation,scope);
21830} 23876 Scope.targetTypeInterpretation(scope,typeInterpretation);
21831
21832private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21833 find mustExist(problem,interpretation,element);
21834} or {
21835 find interpretation(problem,interpretation);
21836 neg find elementCloseWorld(element);
21837 PartialInterpretation.openWorldElements(interpretation,element);
21838}
21839
21840private pattern elementCloseWorld(element:DefinedElement) {
21841 PartialInterpretation.openWorldElements(i,element);
21842 PartialInterpretation.maxNewElements(i,0);
21843} or {
21844 Scope.targetTypeInterpretation(scope,interpretation);
21845 PartialTypeInterpratation.elements(interpretation,element);
21846 Scope.maxNewElements(scope,0); 23877 Scope.maxNewElements(scope,0);
21847}
21848
21849////////////////////////
21850// 0.2 Equivalence
21851////////////////////////
21852pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
21853 find mayExist(problem,interpretation,a);
21854 find mayExist(problem,interpretation,b);
21855 a == b;
21856}
21857
21858////////////////////////
21859// 0.3 Required Patterns by TypeIndexer
21860////////////////////////
21861private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
21862 find interpretation(problem,interpretation);
21863 LogicProblem.types(problem,type);
21864 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
21865 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23878 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
23879 Type.name(type,"CompositeElement class");
21866} 23880}
21867 23881
21868private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { 23882/**
23883 * An element may be an instance of type "CompositeElement class".
23884 */
23885private pattern mayInstanceOfCompositeElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
23886{
21869 find interpretation(problem,interpretation); 23887 find interpretation(problem,interpretation);
21870 LogicProblem.types(problem,type); 23888 PartialInterpretation.newElements(interpretation,element);
21871 TypeDefinition.elements(type,element); 23889 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
23890 neg find mustInstanceOfTransition_class(problem,interpretation,element);
23891 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
23892 neg find mustInstanceOfVertex_class(problem,interpretation,element);
23893 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23894 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
23895 neg find isPrimitive(element);
21872} or { 23896} or {
21873 find interpretation(problem,interpretation); 23897 find interpretation(problem,interpretation);
21874 find typeInterpretation(problem,interpretation,type,typeInterpretation); 23898 PartialInterpretation.openWorldElements(interpretation,element);
21875 PartialComplexTypeInterpretation.elements(typeInterpretation,element); 23899 neg find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element);
21876} 23900 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21877 23901 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
21878private pattern isPrimitive(element: PrimitiveElement) { 23902 neg find mustInstanceOfVertex_class(problem,interpretation,element);
21879 PrimitiveElement(element); 23903 neg find mustInstanceOfRegion_class(problem,interpretation,element);
21880} 23904 neg find scopeDisallowsNewCompositeElement_class(problem, interpretation);
21881 23905 neg find isPrimitive(element);
21882////////// 23906} or
21883// 1. Problem-Specific Base Indexers 23907{ find mustInstanceOfCompositeElement_class(problem,interpretation,element); }
21884//////////
21885// 1.1 Type Indexers
21886//////////
21887// 1.1.1 primitive Type Indexers
21888//////////
21889
21890//////////
21891// 1.1.2 domain-specific Type Indexers
21892//////////
21893/** 23908/**
21894 * An element must be an instance of type "FileSystem class". 23909 * An element must be an instance of type "Choice class".
21895 */ 23910 */
21896private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23911private pattern mustInstanceOfChoice_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21897 Type.name(type,"FileSystem class"); 23912 Type.name(type,"Choice class");
21898 find directInstanceOf(problem,interpretation,element,type); 23913 find directInstanceOf(problem,interpretation,element,type);
21899} 23914}
21900private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { 23915private pattern scopeDisallowsNewChoice_class(problem:LogicProblem, interpretation:PartialInterpretation) {
21901 find interpretation(problem,interpretation); 23916 find interpretation(problem,interpretation);
21902 PartialInterpretation.scopes(interpretation,scope); 23917 PartialInterpretation.scopes(interpretation,scope);
21903 Scope.targetTypeInterpretation(scope,typeInterpretation); 23918 Scope.targetTypeInterpretation(scope,typeInterpretation);
21904 Scope.maxNewElements(scope,0); 23919 Scope.maxNewElements(scope,0);
21905 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23920 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
21906 Type.name(type,"FileSystem class"); 23921 Type.name(type,"Choice class");
21907} 23922}
21908 23923
21909/** 23924/**
21910 * An element may be an instance of type "FileSystem class". 23925 * An element may be an instance of type "Choice class".
21911 */ 23926 */
21912private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23927private pattern mayInstanceOfChoice_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
21913{ 23928{
21914 find interpretation(problem,interpretation); 23929 find interpretation(problem,interpretation);
21915 PartialInterpretation.newElements(interpretation,element); 23930 PartialInterpretation.newElements(interpretation,element);
21916 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 23931 neg find mustInstanceOfExit_class(problem,interpretation,element);
21917 neg find mustInstanceOfModel_class(problem,interpretation,element); 23932 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21918 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 23933 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23934 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23935 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23936 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23937 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23938 neg find scopeDisallowsNewChoice_class(problem, interpretation);
21919 neg find isPrimitive(element); 23939 neg find isPrimitive(element);
21920} or { 23940} or {
21921 find interpretation(problem,interpretation); 23941 find interpretation(problem,interpretation);
21922 PartialInterpretation.openWorldElements(interpretation,element); 23942 PartialInterpretation.openWorldElements(interpretation,element);
21923 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 23943 neg find mustInstanceOfExit_class(problem,interpretation,element);
21924 neg find mustInstanceOfModel_class(problem,interpretation,element); 23944 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21925 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 23945 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
23946 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
23947 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23948 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23949 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23950 neg find scopeDisallowsNewChoice_class(problem, interpretation);
21926 neg find isPrimitive(element); 23951 neg find isPrimitive(element);
21927} or 23952} or
21928{ find mustInstanceOfFileSystem_class(problem,interpretation,element); } 23953{ find mustInstanceOfChoice_class(problem,interpretation,element); }
21929/** 23954/**
21930 * An element must be an instance of type "FSObject class". 23955 * An element must be an instance of type "Exit class".
21931 */ 23956 */
21932private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 23957private pattern mustInstanceOfExit_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21933 Type.name(type,"FSObject class"); 23958 Type.name(type,"Exit class");
21934 find directInstanceOf(problem,interpretation,element,type); 23959 find directInstanceOf(problem,interpretation,element,type);
21935} 23960}
21936private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { 23961private pattern scopeDisallowsNewExit_class(problem:LogicProblem, interpretation:PartialInterpretation) {
21937 find interpretation(problem,interpretation); 23962 find interpretation(problem,interpretation);
21938 PartialInterpretation.scopes(interpretation,scope); 23963 PartialInterpretation.scopes(interpretation,scope);
21939 Scope.targetTypeInterpretation(scope,typeInterpretation); 23964 Scope.targetTypeInterpretation(scope,typeInterpretation);
21940 Scope.maxNewElements(scope,0); 23965 Scope.maxNewElements(scope,0);
21941 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 23966 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
21942 Type.name(type,"FSObject class"); 23967 Type.name(type,"Exit class");
21943} 23968}
21944 23969
21945/** 23970/**
21946 * An element may be an instance of type "FSObject class". 23971 * An element may be an instance of type "Exit class".
21947 */ 23972 */
21948private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 23973private pattern mayInstanceOfExit_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
21949{ 23974{
21950 find interpretation(problem,interpretation); 23975 find interpretation(problem,interpretation);
21951 PartialInterpretation.newElements(interpretation,element); 23976 PartialInterpretation.newElements(interpretation,element);
21952 neg find mustInstanceOfFile_class(problem,interpretation,element); 23977 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21953 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23978 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
21954 neg find mustInstanceOfDir_class(problem,interpretation,element); 23979 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
21955 neg find mustInstanceOfModel_class(problem,interpretation,element); 23980 neg find mustInstanceOfChoice_class(problem,interpretation,element);
21956 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 23981 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23982 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23983 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23984 neg find scopeDisallowsNewExit_class(problem, interpretation);
21957 neg find isPrimitive(element); 23985 neg find isPrimitive(element);
21958} or { 23986} or {
21959 find interpretation(problem,interpretation); 23987 find interpretation(problem,interpretation);
21960 PartialInterpretation.openWorldElements(interpretation,element); 23988 PartialInterpretation.openWorldElements(interpretation,element);
21961 neg find mustInstanceOfFile_class(problem,interpretation,element); 23989 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21962 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 23990 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
21963 neg find mustInstanceOfDir_class(problem,interpretation,element); 23991 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
21964 neg find mustInstanceOfModel_class(problem,interpretation,element); 23992 neg find mustInstanceOfChoice_class(problem,interpretation,element);
21965 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 23993 neg find mustInstanceOfEntry_class(problem,interpretation,element);
23994 neg find mustInstanceOfRegion_class(problem,interpretation,element);
23995 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
23996 neg find scopeDisallowsNewExit_class(problem, interpretation);
21966 neg find isPrimitive(element); 23997 neg find isPrimitive(element);
21967} or 23998} or
21968{ find mustInstanceOfFSObject_class(problem,interpretation,element); } 23999{ find mustInstanceOfExit_class(problem,interpretation,element); }
21969/** 24000/**
21970 * An element must be an instance of type "Dir class". 24001 * An element must be an instance of type "FinalState class".
21971 */ 24002 */
21972private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 24003private pattern mustInstanceOfFinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
21973 Type.name(type,"Dir class"); 24004 Type.name(type,"FinalState class");
21974 find directInstanceOf(problem,interpretation,element,type); 24005 find directInstanceOf(problem,interpretation,element,type);
21975} 24006}
21976private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { 24007private pattern scopeDisallowsNewFinalState_class(problem:LogicProblem, interpretation:PartialInterpretation) {
21977 find interpretation(problem,interpretation); 24008 find interpretation(problem,interpretation);
21978 PartialInterpretation.scopes(interpretation,scope); 24009 PartialInterpretation.scopes(interpretation,scope);
21979 Scope.targetTypeInterpretation(scope,typeInterpretation); 24010 Scope.targetTypeInterpretation(scope,typeInterpretation);
21980 Scope.maxNewElements(scope,0); 24011 Scope.maxNewElements(scope,0);
21981 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 24012 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
21982 Type.name(type,"Dir class"); 24013 Type.name(type,"FinalState class");
21983} 24014}
21984 24015
21985/** 24016/**
21986 * An element may be an instance of type "Dir class". 24017 * An element may be an instance of type "FinalState class".
21987 */ 24018 */
21988private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 24019private pattern mayInstanceOfFinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
21989{ 24020{
21990 find interpretation(problem,interpretation); 24021 find interpretation(problem,interpretation);
21991 PartialInterpretation.newElements(interpretation,element); 24022 PartialInterpretation.newElements(interpretation,element);
21992 neg find mustInstanceOfFile_class(problem,interpretation,element); 24023 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
21993 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24024 neg find mustInstanceOfTransition_class(problem,interpretation,element);
21994 neg find mustInstanceOfModel_class(problem,interpretation,element); 24025 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
21995 neg find scopeDisallowsNewDir_class(problem, interpretation); 24026 neg find mustInstanceOfRegion_class(problem,interpretation,element);
24027 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
21996 neg find isPrimitive(element); 24028 neg find isPrimitive(element);
21997} or { 24029} or {
21998 find interpretation(problem,interpretation); 24030 find interpretation(problem,interpretation);
21999 PartialInterpretation.openWorldElements(interpretation,element); 24031 PartialInterpretation.openWorldElements(interpretation,element);
22000 neg find mustInstanceOfFile_class(problem,interpretation,element); 24032 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
22001 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24033 neg find mustInstanceOfTransition_class(problem,interpretation,element);
22002 neg find mustInstanceOfModel_class(problem,interpretation,element); 24034 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
22003 neg find scopeDisallowsNewDir_class(problem, interpretation); 24035 neg find mustInstanceOfRegion_class(problem,interpretation,element);
24036 neg find scopeDisallowsNewFinalState_class(problem, interpretation);
22004 neg find isPrimitive(element); 24037 neg find isPrimitive(element);
22005} or 24038} or
22006{ find mustInstanceOfDir_class(problem,interpretation,element); } 24039{ find mustInstanceOfFinalState_class(problem,interpretation,element); }
22007/** 24040/**
22008 * An element must be an instance of type "File class". 24041 * An element must be an instance of type "Statechart class DefinedPart".
22009 */ 24042 */
22010private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 24043private pattern mustInstanceOfStatechart_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
22011 Type.name(type,"File class"); 24044 Type.name(type,"Statechart class DefinedPart");
22012 find directInstanceOf(problem,interpretation,element,type); 24045 find directInstanceOf(problem,interpretation,element,type);
22013} 24046}
22014private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { 24047private pattern scopeDisallowsNewStatechart_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
22015 find interpretation(problem,interpretation); 24048 find interpretation(problem,interpretation);
22016 PartialInterpretation.scopes(interpretation,scope); 24049 PartialInterpretation.scopes(interpretation,scope);
22017 Scope.targetTypeInterpretation(scope,typeInterpretation); 24050 Scope.targetTypeInterpretation(scope,typeInterpretation);
22018 Scope.maxNewElements(scope,0); 24051 Scope.maxNewElements(scope,0);
22019 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 24052 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
22020 Type.name(type,"File class"); 24053 Type.name(type,"Statechart class DefinedPart");
22021} 24054}
22022 24055
22023/** 24056/**
22024 * An element may be an instance of type "File class". 24057 * An element may be an instance of type "Statechart class DefinedPart".
22025 */ 24058 */
22026private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 24059private pattern mayInstanceOfStatechart_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
22027{ 24060{ find mustInstanceOfStatechart_class_DefinedPart(problem,interpretation,element); }
22028 find interpretation(problem,interpretation);
22029 PartialInterpretation.newElements(interpretation,element);
22030 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
22031 neg find mustInstanceOfModel_class(problem,interpretation,element);
22032 neg find mustInstanceOfDir_class(problem,interpretation,element);
22033 neg find scopeDisallowsNewFile_class(problem, interpretation);
22034 neg find isPrimitive(element);
22035} or {
22036 find interpretation(problem,interpretation);
22037 PartialInterpretation.openWorldElements(interpretation,element);
22038 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
22039 neg find mustInstanceOfModel_class(problem,interpretation,element);
22040 neg find mustInstanceOfDir_class(problem,interpretation,element);
22041 neg find scopeDisallowsNewFile_class(problem, interpretation);
22042 neg find isPrimitive(element);
22043} or
22044{ find mustInstanceOfFile_class(problem,interpretation,element); }
22045/** 24061/**
22046 * An element must be an instance of type "Model class". 24062 * An element must be an instance of type "Statechart class UndefinedPart".
22047 */ 24063 */
22048private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 24064private pattern mustInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
22049 Type.name(type,"Model class"); 24065 Type.name(type,"Statechart class UndefinedPart");
22050 find directInstanceOf(problem,interpretation,element,type); 24066 find directInstanceOf(problem,interpretation,element,type);
22051} 24067}
22052private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { 24068private pattern scopeDisallowsNewStatechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
22053 find interpretation(problem,interpretation); 24069 find interpretation(problem,interpretation);
22054 PartialInterpretation.scopes(interpretation,scope); 24070 PartialInterpretation.scopes(interpretation,scope);
22055 Scope.targetTypeInterpretation(scope,typeInterpretation); 24071 Scope.targetTypeInterpretation(scope,typeInterpretation);
22056 Scope.maxNewElements(scope,0); 24072 Scope.maxNewElements(scope,0);
22057 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 24073 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
22058 Type.name(type,"Model class"); 24074 Type.name(type,"Statechart class UndefinedPart");
22059} 24075}
22060 24076
22061/** 24077/**
22062 * An element may be an instance of type "Model class". 24078 * An element may be an instance of type "Statechart class UndefinedPart".
22063 */ 24079 */
22064private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 24080private pattern mayInstanceOfStatechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
22065{ 24081{
22066 find interpretation(problem,interpretation); 24082 find interpretation(problem,interpretation);
22067 PartialInterpretation.newElements(interpretation,element); 24083 PartialInterpretation.newElements(interpretation,element);
22068 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 24084 neg find mustInstanceOfTransition_class(problem,interpretation,element);
22069 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24085 neg find mustInstanceOfVertex_class(problem,interpretation,element);
22070 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24086 neg find mustInstanceOfRegion_class(problem,interpretation,element);
22071 neg find scopeDisallowsNewModel_class(problem, interpretation); 24087 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
22072 neg find isPrimitive(element); 24088 neg find isPrimitive(element);
22073} or { 24089} or {
22074 find interpretation(problem,interpretation); 24090 find interpretation(problem,interpretation);
22075 PartialInterpretation.openWorldElements(interpretation,element); 24091 PartialInterpretation.openWorldElements(interpretation,element);
22076 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 24092 neg find mustInstanceOfTransition_class(problem,interpretation,element);
22077 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24093 neg find mustInstanceOfVertex_class(problem,interpretation,element);
22078 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24094 neg find mustInstanceOfRegion_class(problem,interpretation,element);
22079 neg find scopeDisallowsNewModel_class(problem, interpretation); 24095 neg find scopeDisallowsNewStatechart_class_UndefinedPart(problem, interpretation);
22080 neg find isPrimitive(element); 24096 neg find isPrimitive(element);
22081} or 24097} or
22082{ find mustInstanceOfModel_class(problem,interpretation,element); } 24098{ find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element); }
22083/** 24099/**
22084 * An element must be an instance of type "Model class DefinedPart". 24100 * An element must be an instance of type "CompositeElement class DefinedPart".
22085 */ 24101 */
22086private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 24102private pattern mustInstanceOfCompositeElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
22087 Type.name(type,"Model class DefinedPart"); 24103 Type.name(type,"CompositeElement class DefinedPart");
22088 find directInstanceOf(problem,interpretation,element,type); 24104 find directInstanceOf(problem,interpretation,element,type);
22089} 24105}
22090private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 24106private pattern scopeDisallowsNewCompositeElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
22091 find interpretation(problem,interpretation); 24107 find interpretation(problem,interpretation);
22092 PartialInterpretation.scopes(interpretation,scope); 24108 PartialInterpretation.scopes(interpretation,scope);
22093 Scope.targetTypeInterpretation(scope,typeInterpretation); 24109 Scope.targetTypeInterpretation(scope,typeInterpretation);
22094 Scope.maxNewElements(scope,0); 24110 Scope.maxNewElements(scope,0);
22095 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 24111 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
22096 Type.name(type,"Model class DefinedPart"); 24112 Type.name(type,"CompositeElement class DefinedPart");
22097} 24113}
22098 24114
22099/** 24115/**
22100 * An element may be an instance of type "Model class DefinedPart". 24116 * An element may be an instance of type "CompositeElement class DefinedPart".
22101 */ 24117 */
22102private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 24118private pattern mayInstanceOfCompositeElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
22103{ find mustInstanceOfModel_class_DefinedPart(problem,interpretation,element); } 24119{ find mustInstanceOfCompositeElement_class_DefinedPart(problem,interpretation,element); }
22104/** 24120/**
22105 * An element must be an instance of type "Model class UndefinedPart". 24121 * An element must be an instance of type "CompositeElement class UndefinedPart".
22106 */ 24122 */
22107private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 24123private pattern mustInstanceOfCompositeElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
22108 Type.name(type,"Model class UndefinedPart"); 24124 Type.name(type,"CompositeElement class UndefinedPart");
22109 find directInstanceOf(problem,interpretation,element,type); 24125 find directInstanceOf(problem,interpretation,element,type);
22110} 24126}
22111private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 24127private pattern scopeDisallowsNewCompositeElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
22112 find interpretation(problem,interpretation); 24128 find interpretation(problem,interpretation);
22113 PartialInterpretation.scopes(interpretation,scope); 24129 PartialInterpretation.scopes(interpretation,scope);
22114 Scope.targetTypeInterpretation(scope,typeInterpretation); 24130 Scope.targetTypeInterpretation(scope,typeInterpretation);
22115 Scope.maxNewElements(scope,0); 24131 Scope.maxNewElements(scope,0);
22116 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 24132 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
22117 Type.name(type,"Model class UndefinedPart"); 24133 Type.name(type,"CompositeElement class UndefinedPart");
22118} 24134}
22119 24135
22120/** 24136/**
22121 * An element may be an instance of type "Model class UndefinedPart". 24137 * An element may be an instance of type "CompositeElement class UndefinedPart".
22122 */ 24138 */
22123private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 24139private pattern mayInstanceOfCompositeElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
22124{ 24140{
22125 find interpretation(problem,interpretation); 24141 find interpretation(problem,interpretation);
22126 PartialInterpretation.newElements(interpretation,element); 24142 PartialInterpretation.newElements(interpretation,element);
22127 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24143 neg find mustInstanceOfTransition_class(problem,interpretation,element);
22128 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24144 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
22129 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 24145 neg find mustInstanceOfVertex_class(problem,interpretation,element);
24146 neg find mustInstanceOfRegion_class(problem,interpretation,element);
24147 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
22130 neg find isPrimitive(element); 24148 neg find isPrimitive(element);
22131} or { 24149} or {
22132 find interpretation(problem,interpretation); 24150 find interpretation(problem,interpretation);
22133 PartialInterpretation.openWorldElements(interpretation,element); 24151 PartialInterpretation.openWorldElements(interpretation,element);
22134 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24152 neg find mustInstanceOfTransition_class(problem,interpretation,element);
22135 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24153 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
22136 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 24154 neg find mustInstanceOfVertex_class(problem,interpretation,element);
24155 neg find mustInstanceOfRegion_class(problem,interpretation,element);
24156 neg find scopeDisallowsNewCompositeElement_class_UndefinedPart(problem, interpretation);
22137 neg find isPrimitive(element); 24157 neg find isPrimitive(element);
22138} or 24158} or
22139{ find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); } 24159{ find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,element); }
22140 24160
22141////////// 24161//////////
22142// 1.2 Relation Declaration Indexers 24162// 1.2 Relation Declaration Indexers
22143////////// 24163//////////
22144/** 24164/**
22145 * Matcher for detecting tuples t where []root reference FileSystem(source,target) 24165 * Matcher for detecting tuples t where []incomingTransitions reference Vertex(source,target)
22146 */ 24166 */
22147private pattern mustInRelationroot_reference_FileSystem( 24167private pattern mustInRelationincomingTransitions_reference_Vertex(
22148 problem:LogicProblem, interpretation:PartialInterpretation, 24168 problem:LogicProblem, interpretation:PartialInterpretation,
22149 source: DefinedElement, target:DefinedElement) 24169 source: DefinedElement, target:DefinedElement)
22150{ 24170{
22151 find interpretation(problem,interpretation); 24171 find interpretation(problem,interpretation);
22152 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24172 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
22153 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem"); 24173 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"incomingTransitions reference Vertex");
22154 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 24174 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
22155 BinaryElementRelationLink.param1(link,source); 24175 BinaryElementRelationLink.param1(link,source);
22156 BinaryElementRelationLink.param2(link,target); 24176 BinaryElementRelationLink.param2(link,target);
22157} 24177}
22158/** 24178/**
22159 * Matcher for detecting tuples t where <>root reference FileSystem(source,target) 24179 * Matcher for detecting tuples t where <>incomingTransitions reference Vertex(source,target)
22160 */ 24180 */
22161private pattern mayInRelationroot_reference_FileSystem( 24181private pattern mayInRelationincomingTransitions_reference_Vertex(
22162 problem:LogicProblem, interpretation:PartialInterpretation, 24182 problem:LogicProblem, interpretation:PartialInterpretation,
22163 source: DefinedElement, target:DefinedElement) 24183 source: DefinedElement, target:DefinedElement)
22164{ 24184{
@@ -22167,56 +24187,33 @@ private pattern mayInRelationroot_reference_FileSystem(
22167 find mayExist(problem, interpretation, source); 24187 find mayExist(problem, interpretation, source);
22168 find mayExist(problem, interpretation, target); 24188 find mayExist(problem, interpretation, target);
22169 // Type consistency 24189 // Type consistency
22170 find mayInstanceOfFileSystem_class(problem,interpretation,source); 24190 find mayInstanceOfVertex_class(problem,interpretation,source);
22171 find mayInstanceOfDir_class(problem,interpretation,target); 24191 find mayInstanceOfTransition_class(problem,interpretation,target);
22172 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 24192 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
22173 // the upper bound of the multiplicity should be considered. 24193 // the upper bound of the opposite reference multiplicity should be considered.
22174 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,source,_); 24194 numberOfExistingOppositeReferences == count find mustInRelationtarget_reference_Transition(problem,interpretation,target,_);
22175 check(numberOfExistingReferences < 1); 24195 check(numberOfExistingOppositeReferences < 1);
22176 // The reference is containment, then a new reference cannot be create if:
22177 // 1. Multiple parents
22178 neg find mustContains4(problem,interpretation,_,target);
22179 // 2. Circle in the containment hierarchy
22180 neg find mustTransitiveContains(source,target);
22181} or { 24196} or {
22182 find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target); 24197 find mustInRelationincomingTransitions_reference_Vertex(problem,interpretation,source,target);
22183} 24198}
22184/** 24199/**
22185 * Matcher for detecting tuples t where []live reference FileSystem(source,target) 24200 * Matcher for detecting tuples t where []outgoingTransitions reference Vertex(source,target)
22186 */
22187 private pattern mustInRelationlive_reference_FileSystem(
22188 problem:LogicProblem, interpretation:PartialInterpretation,
22189 source: DefinedElement, target:DefinedElement)
22190 {
22191 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,source,target);
22192 }
22193/**
22194 * Matcher for detecting tuples t where []live reference FileSystem(source,target)
22195 */
22196 private pattern mayInRelationlive_reference_FileSystem(
22197 problem:LogicProblem, interpretation:PartialInterpretation,
22198 source: DefinedElement, target:DefinedElement)
22199 {
22200 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,source,target);
22201 }
22202/**
22203 * Matcher for detecting tuples t where []parent reference FSObject(source,target)
22204 */ 24201 */
22205private pattern mustInRelationparent_reference_FSObject( 24202private pattern mustInRelationoutgoingTransitions_reference_Vertex(
22206 problem:LogicProblem, interpretation:PartialInterpretation, 24203 problem:LogicProblem, interpretation:PartialInterpretation,
22207 source: DefinedElement, target:DefinedElement) 24204 source: DefinedElement, target:DefinedElement)
22208{ 24205{
22209 find interpretation(problem,interpretation); 24206 find interpretation(problem,interpretation);
22210 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24207 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
22211 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parent reference FSObject"); 24208 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"outgoingTransitions reference Vertex");
22212 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 24209 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
22213 BinaryElementRelationLink.param1(link,source); 24210 BinaryElementRelationLink.param1(link,source);
22214 BinaryElementRelationLink.param2(link,target); 24211 BinaryElementRelationLink.param2(link,target);
22215} 24212}
22216/** 24213/**
22217 * Matcher for detecting tuples t where <>parent reference FSObject(source,target) 24214 * Matcher for detecting tuples t where <>outgoingTransitions reference Vertex(source,target)
22218 */ 24215 */
22219private pattern mayInRelationparent_reference_FSObject( 24216private pattern mayInRelationoutgoingTransitions_reference_Vertex(
22220 problem:LogicProblem, interpretation:PartialInterpretation, 24217 problem:LogicProblem, interpretation:PartialInterpretation,
22221 source: DefinedElement, target:DefinedElement) 24218 source: DefinedElement, target:DefinedElement)
22222{ 24219{
@@ -22225,38 +24222,38 @@ private pattern mayInRelationparent_reference_FSObject(
22225 find mayExist(problem, interpretation, source); 24222 find mayExist(problem, interpretation, source);
22226 find mayExist(problem, interpretation, target); 24223 find mayExist(problem, interpretation, target);
22227 // Type consistency 24224 // Type consistency
22228 find mayInstanceOfFSObject_class(problem,interpretation,source); 24225 find mayInstanceOfVertex_class(problem,interpretation,source);
22229 find mayInstanceOfDir_class(problem,interpretation,target); 24226 find mayInstanceOfTransition_class(problem,interpretation,target);
22230 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 24227 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
22231 // the upper bound of the multiplicity should be considered. 24228 // the upper bound of the opposite reference multiplicity should be considered.
22232 numberOfExistingReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,source,_); 24229 numberOfExistingOppositeReferences == count find mustInRelationsource_reference_Transition(problem,interpretation,target,_);
22233 check(numberOfExistingReferences < 1); 24230 check(numberOfExistingOppositeReferences < 1);
22234 // The eOpposite of the reference is containment, then a referene cannot be created if 24231 // The reference is containment, then a new reference cannot be create if:
22235 // 1. Multiple parents 24232 // 1. Multiple parents
22236 neg find mustContains4(problem,interpretation,source,_); 24233 neg find mustContains4(problem,interpretation,_,target);
22237 // 2. Circle in the containment hierarchy 24234 // 2. Circle in the containment hierarchy
22238 neg find mustTransitiveContains(source,target); 24235 neg find mustTransitiveContains(source,target);
22239} or { 24236} or {
22240 find mustInRelationparent_reference_FSObject(problem,interpretation,source,target); 24237 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,source,target);
22241} 24238}
22242/** 24239/**
22243 * Matcher for detecting tuples t where []contents reference Dir(source,target) 24240 * Matcher for detecting tuples t where []vertices reference Region(source,target)
22244 */ 24241 */
22245private pattern mustInRelationcontents_reference_Dir( 24242private pattern mustInRelationvertices_reference_Region(
22246 problem:LogicProblem, interpretation:PartialInterpretation, 24243 problem:LogicProblem, interpretation:PartialInterpretation,
22247 source: DefinedElement, target:DefinedElement) 24244 source: DefinedElement, target:DefinedElement)
22248{ 24245{
22249 find interpretation(problem,interpretation); 24246 find interpretation(problem,interpretation);
22250 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24247 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
22251 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"contents reference Dir"); 24248 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"vertices reference Region");
22252 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 24249 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
22253 BinaryElementRelationLink.param1(link,source); 24250 BinaryElementRelationLink.param1(link,source);
22254 BinaryElementRelationLink.param2(link,target); 24251 BinaryElementRelationLink.param2(link,target);
22255} 24252}
22256/** 24253/**
22257 * Matcher for detecting tuples t where <>contents reference Dir(source,target) 24254 * Matcher for detecting tuples t where <>vertices reference Region(source,target)
22258 */ 24255 */
22259private pattern mayInRelationcontents_reference_Dir( 24256private pattern mayInRelationvertices_reference_Region(
22260 problem:LogicProblem, interpretation:PartialInterpretation, 24257 problem:LogicProblem, interpretation:PartialInterpretation,
22261 source: DefinedElement, target:DefinedElement) 24258 source: DefinedElement, target:DefinedElement)
22262{ 24259{
@@ -22265,38 +24262,34 @@ private pattern mayInRelationcontents_reference_Dir(
22265 find mayExist(problem, interpretation, source); 24262 find mayExist(problem, interpretation, source);
22266 find mayExist(problem, interpretation, target); 24263 find mayExist(problem, interpretation, target);
22267 // Type consistency 24264 // Type consistency
22268 find mayInstanceOfDir_class(problem,interpretation,source); 24265 find mayInstanceOfRegion_class(problem,interpretation,source);
22269 find mayInstanceOfFSObject_class(problem,interpretation,target); 24266 find mayInstanceOfVertex_class(problem,interpretation,target);
22270 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
22271 // the upper bound of the opposite reference multiplicity should be considered.
22272 numberOfExistingOppositeReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,target,_);
22273 check(numberOfExistingOppositeReferences < 1);
22274 // The reference is containment, then a new reference cannot be create if: 24267 // The reference is containment, then a new reference cannot be create if:
22275 // 1. Multiple parents 24268 // 1. Multiple parents
22276 neg find mustContains4(problem,interpretation,_,target); 24269 neg find mustContains4(problem,interpretation,_,target);
22277 // 2. Circle in the containment hierarchy 24270 // 2. Circle in the containment hierarchy
22278 neg find mustTransitiveContains(source,target); 24271 neg find mustTransitiveContains(source,target);
22279} or { 24272} or {
22280 find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); 24273 find mustInRelationvertices_reference_Region(problem,interpretation,source,target);
22281} 24274}
22282/** 24275/**
22283 * Matcher for detecting tuples t where []filesystems reference Model(source,target) 24276 * Matcher for detecting tuples t where []target reference Transition(source,target)
22284 */ 24277 */
22285private pattern mustInRelationfilesystems_reference_Model( 24278private pattern mustInRelationtarget_reference_Transition(
22286 problem:LogicProblem, interpretation:PartialInterpretation, 24279 problem:LogicProblem, interpretation:PartialInterpretation,
22287 source: DefinedElement, target:DefinedElement) 24280 source: DefinedElement, target:DefinedElement)
22288{ 24281{
22289 find interpretation(problem,interpretation); 24282 find interpretation(problem,interpretation);
22290 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24283 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
22291 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 24284 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference Transition");
22292 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 24285 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
22293 BinaryElementRelationLink.param1(link,source); 24286 BinaryElementRelationLink.param1(link,source);
22294 BinaryElementRelationLink.param2(link,target); 24287 BinaryElementRelationLink.param2(link,target);
22295} 24288}
22296/** 24289/**
22297 * Matcher for detecting tuples t where <>filesystems reference Model(source,target) 24290 * Matcher for detecting tuples t where <>target reference Transition(source,target)
22298 */ 24291 */
22299private pattern mayInRelationfilesystems_reference_Model( 24292private pattern mayInRelationtarget_reference_Transition(
22300 problem:LogicProblem, interpretation:PartialInterpretation, 24293 problem:LogicProblem, interpretation:PartialInterpretation,
22301 source: DefinedElement, target:DefinedElement) 24294 source: DefinedElement, target:DefinedElement)
22302{ 24295{
@@ -22305,38 +24298,73 @@ private pattern mayInRelationfilesystems_reference_Model(
22305 find mayExist(problem, interpretation, source); 24298 find mayExist(problem, interpretation, source);
22306 find mayExist(problem, interpretation, target); 24299 find mayExist(problem, interpretation, target);
22307 // Type consistency 24300 // Type consistency
22308 find mayInstanceOfModel_class(problem,interpretation,source); 24301 find mayInstanceOfTransition_class(problem,interpretation,source);
22309 find mayInstanceOfFileSystem_class(problem,interpretation,target); 24302 find mayInstanceOfVertex_class(problem,interpretation,target);
22310 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 24303 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
22311 // the upper bound of the multiplicity should be considered. 24304 // the upper bound of the multiplicity should be considered.
22312 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,source,_); 24305 numberOfExistingReferences == count find mustInRelationtarget_reference_Transition(problem,interpretation,source,_);
22313 check(numberOfExistingReferences < 1); 24306 check(numberOfExistingReferences < 1);
22314 // The reference is containment, then a new reference cannot be create if: 24307} or {
24308 find mustInRelationtarget_reference_Transition(problem,interpretation,source,target);
24309}
24310/**
24311 * Matcher for detecting tuples t where []source reference Transition(source,target)
24312 */
24313private pattern mustInRelationsource_reference_Transition(
24314 problem:LogicProblem, interpretation:PartialInterpretation,
24315 source: DefinedElement, target:DefinedElement)
24316{
24317 find interpretation(problem,interpretation);
24318 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
24319 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"source reference Transition");
24320 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
24321 BinaryElementRelationLink.param1(link,source);
24322 BinaryElementRelationLink.param2(link,target);
24323}
24324/**
24325 * Matcher for detecting tuples t where <>source reference Transition(source,target)
24326 */
24327private pattern mayInRelationsource_reference_Transition(
24328 problem:LogicProblem, interpretation:PartialInterpretation,
24329 source: DefinedElement, target:DefinedElement)
24330{
24331 find interpretation(problem,interpretation);
24332 // The two endpoint of the link have to exist
24333 find mayExist(problem, interpretation, source);
24334 find mayExist(problem, interpretation, target);
24335 // Type consistency
24336 find mayInstanceOfTransition_class(problem,interpretation,source);
24337 find mayInstanceOfVertex_class(problem,interpretation,target);
24338 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
24339 // the upper bound of the multiplicity should be considered.
24340 numberOfExistingReferences == count find mustInRelationsource_reference_Transition(problem,interpretation,source,_);
24341 check(numberOfExistingReferences < 1);
24342 // The eOpposite of the reference is containment, then a referene cannot be created if
22315 // 1. Multiple parents 24343 // 1. Multiple parents
22316 neg find mustContains4(problem,interpretation,_,target); 24344 neg find mustContains4(problem,interpretation,source,_);
22317 // 2. Circle in the containment hierarchy 24345 // 2. Circle in the containment hierarchy
22318 neg find mustTransitiveContains(source,target); 24346 neg find mustTransitiveContains(source,target);
22319} or { 24347} or {
22320 find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target); 24348 find mustInRelationsource_reference_Transition(problem,interpretation,source,target);
22321} 24349}
22322/** 24350/**
22323 * Matcher for detecting tuples t where []otherFSObjects reference Model(source,target) 24351 * Matcher for detecting tuples t where []regions reference CompositeElement(source,target)
22324 */ 24352 */
22325private pattern mustInRelationotherFSObjects_reference_Model( 24353private pattern mustInRelationregions_reference_CompositeElement(
22326 problem:LogicProblem, interpretation:PartialInterpretation, 24354 problem:LogicProblem, interpretation:PartialInterpretation,
22327 source: DefinedElement, target:DefinedElement) 24355 source: DefinedElement, target:DefinedElement)
22328{ 24356{
22329 find interpretation(problem,interpretation); 24357 find interpretation(problem,interpretation);
22330 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24358 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
22331 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"otherFSObjects reference Model"); 24359 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"regions reference CompositeElement");
22332 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 24360 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
22333 BinaryElementRelationLink.param1(link,source); 24361 BinaryElementRelationLink.param1(link,source);
22334 BinaryElementRelationLink.param2(link,target); 24362 BinaryElementRelationLink.param2(link,target);
22335} 24363}
22336/** 24364/**
22337 * Matcher for detecting tuples t where <>otherFSObjects reference Model(source,target) 24365 * Matcher for detecting tuples t where <>regions reference CompositeElement(source,target)
22338 */ 24366 */
22339private pattern mayInRelationotherFSObjects_reference_Model( 24367private pattern mayInRelationregions_reference_CompositeElement(
22340 problem:LogicProblem, interpretation:PartialInterpretation, 24368 problem:LogicProblem, interpretation:PartialInterpretation,
22341 source: DefinedElement, target:DefinedElement) 24369 source: DefinedElement, target:DefinedElement)
22342{ 24370{
@@ -22345,2603 +24373,1828 @@ private pattern mayInRelationotherFSObjects_reference_Model(
22345 find mayExist(problem, interpretation, source); 24373 find mayExist(problem, interpretation, source);
22346 find mayExist(problem, interpretation, target); 24374 find mayExist(problem, interpretation, target);
22347 // Type consistency 24375 // Type consistency
22348 find mayInstanceOfModel_class(problem,interpretation,source); 24376 find mayInstanceOfCompositeElement_class(problem,interpretation,source);
22349 find mayInstanceOfFSObject_class(problem,interpretation,target); 24377 find mayInstanceOfRegion_class(problem,interpretation,target);
22350 // The reference is containment, then a new reference cannot be create if: 24378 // The reference is containment, then a new reference cannot be create if:
22351 // 1. Multiple parents 24379 // 1. Multiple parents
22352 neg find mustContains4(problem,interpretation,_,target); 24380 neg find mustContains4(problem,interpretation,_,target);
22353 // 2. Circle in the containment hierarchy 24381 // 2. Circle in the containment hierarchy
22354 neg find mustTransitiveContains(source,target); 24382 neg find mustTransitiveContains(source,target);
22355} or { 24383} or {
22356 find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target); 24384 find mustInRelationregions_reference_CompositeElement(problem,interpretation,source,target);
22357} 24385}
22358 24386
22359////////// 24387//////////
22360// 1.3 Relation Definition Indexers 24388// 1.3 Relation Definition Indexers
22361////////// 24389//////////
22362// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries patternContent 24390// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries entryInRegion
22363private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( 24391private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
22364 problem:LogicProblem, interpretation:PartialInterpretation, 24392 problem:LogicProblem, interpretation:PartialInterpretation,
22365 var_o1, var_o2) 24393 var_r1, var_e1)
22366{ 24394{
22367 find interpretation(problem,interpretation); 24395 find interpretation(problem,interpretation);
22368 find mustInstanceOfFSObject_class(problem,interpretation,var_o1); 24396 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
22369 find mustInstanceOfFSObject_class(problem,interpretation,var_o2); 24397 find mustInstanceOfEntry_class(problem,interpretation,var_e1);
22370 // o1 is exported 24398 // r1 is exported
22371 // o2 is exported 24399 // e1 is exported
22372 find mustInstanceOfDir_class(problem,interpretation,var_o1); 24400 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
22373 find mustInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0); 24401 find mustInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
22374 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0); 24402 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
22375 var_virtual0 == var_o2; 24403 var_virtual0 == var_e1;
22376} 24404}
22377private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( 24405private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
22378 problem:LogicProblem, interpretation:PartialInterpretation, 24406 problem:LogicProblem, interpretation:PartialInterpretation,
22379 var_o1, var_o2) 24407 var_r1, var_e1)
22380{ 24408{
22381 find interpretation(problem,interpretation); 24409 find interpretation(problem,interpretation);
22382 find mayInstanceOfFSObject_class(problem,interpretation,var_o1); 24410 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
22383 find mayInstanceOfFSObject_class(problem,interpretation,var_o2); 24411 find mayInstanceOfEntry_class(problem,interpretation,var_e1);
22384 // o1 is exported 24412 // r1 is exported
22385 // o2 is exported 24413 // e1 is exported
22386 find mayInstanceOfDir_class(problem,interpretation,var_o1); 24414 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
22387 find mayInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0); 24415 find mayInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
22388 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0); 24416 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
22389 find mayEquivalent(problem, interpretation, var_virtual0, var_o2); 24417 find mayEquivalent(problem, interpretation, var_virtual0, var_e1);
22390} 24418}
22391private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( 24419private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(
22392 problem:LogicProblem, interpretation:PartialInterpretation, 24420 problem:LogicProblem, interpretation:PartialInterpretation,
22393 var_o1, var_o2) 24421 var_r1, var_e1)
22394{ 24422{
22395 find interpretation(problem,interpretation); 24423 find interpretation(problem,interpretation);
22396 find mustInstanceOfFSObject_class(problem,interpretation,var_o1); 24424 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
22397 find mustInstanceOfFSObject_class(problem,interpretation,var_o2); 24425 find mustInstanceOfEntry_class(problem,interpretation,var_e1);
22398 // o1 is exported 24426 // r1 is exported
22399 // o2 is exported 24427 // e1 is exported
22400 find mustInstanceOfDir_class(problem,interpretation,var_o1); 24428 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
22401 find mustInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0); 24429 find mustInRelationvertices_reference_Region(problem,interpretation,var_r1,var_virtual0);
22402 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0); 24430 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
22403 var_virtual0 == var_o2; 24431 var_virtual0 == var_e1;
22404}
22405private pattern twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) {
22406 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2);
22407}
22408private pattern twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) {
22409 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2);
22410}
22411private pattern twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) {
22412 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2);
22413} 24432}
22414// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries live 24433// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noEntryInRegion
22415private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live( 24434private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
22416 problem:LogicProblem, interpretation:PartialInterpretation, 24435 problem:LogicProblem, interpretation:PartialInterpretation,
22417 var_this, var_l) 24436 var_r1)
22418{ 24437{
22419 find interpretation(problem,interpretation); 24438 find interpretation(problem,interpretation);
22420 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 24439 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
22421 find mustInstanceOfFSObject_class(problem,interpretation,var_l); 24440 // r1 is exported
22422 // this is exported 24441 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
22423 // l is exported
22424 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
22425 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
22426 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
22427 var_virtual0 == var_l;
22428}or{
22429 find interpretation(problem,interpretation);
22430 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
22431 find mustInstanceOfFSObject_class(problem,interpretation,var_l);
22432 // this is exported
22433 // l is exported
22434 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
22435 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
22436 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
22437 var_virtual0 == var_root;
22438 find twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
22439}
22440private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(
22441 problem:LogicProblem, interpretation:PartialInterpretation,
22442 var_this, var_l)
22443{
22444 find interpretation(problem,interpretation);
22445 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
22446 find mayInstanceOfFSObject_class(problem,interpretation,var_l);
22447 // this is exported
22448 // l is exported
22449 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
22450 find mayInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
22451 find mayInstanceOfDir_class(problem,interpretation,var_virtual0);
22452 find mayEquivalent(problem, interpretation, var_virtual0, var_l);
22453}or{
22454 find interpretation(problem,interpretation);
22455 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
22456 find mayInstanceOfFSObject_class(problem,interpretation,var_l);
22457 // this is exported
22458 // l is exported
22459 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
22460 find mayInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
22461 find mayInstanceOfDir_class(problem,interpretation,var_virtual0);
22462 find mayEquivalent(problem, interpretation, var_virtual0, var_root);
22463 find twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
22464}
22465private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(
22466 problem:LogicProblem, interpretation:PartialInterpretation,
22467 var_this, var_l)
22468{
22469 find interpretation(problem,interpretation);
22470 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
22471 find mustInstanceOfFSObject_class(problem,interpretation,var_l);
22472 // this is exported
22473 // l is exported
22474 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
22475 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
22476 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
22477 var_virtual0 == var_l;
22478}or{
22479 find interpretation(problem,interpretation);
22480 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
22481 find mustInstanceOfFSObject_class(problem,interpretation,var_l);
22482 // this is exported
22483 // l is exported
22484 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
22485 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
22486 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
22487 var_virtual0 == var_root;
22488 find twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
22489} 24442}
22490// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries contentInNotLive 24443private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
22491private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(
22492 problem:LogicProblem, interpretation:PartialInterpretation, 24444 problem:LogicProblem, interpretation:PartialInterpretation,
22493 var_parent, var_child) 24445 var_r1)
22494{ 24446{
22495 find interpretation(problem,interpretation); 24447 find interpretation(problem,interpretation);
22496 find mustInstanceOfDir_class(problem,interpretation,var_parent); 24448 find mayInstanceOfRegion_class(problem,interpretation,var_r1);
22497 find mustInstanceOfFSObject_class(problem,interpretation,var_child); 24449 // r1 is exported
22498 // parent is exported 24450 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
22499 // child is exported
22500 find mustInstanceOfDir_class(problem,interpretation,var_parent);
22501 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
22502 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
22503 var_virtual0 == var_child;
22504 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
22505}or{
22506 find interpretation(problem,interpretation);
22507 find mustInstanceOfDir_class(problem,interpretation,var_parent);
22508 find mustInstanceOfFSObject_class(problem,interpretation,var_child);
22509 // parent is exported
22510 // child is exported
22511 find mustInstanceOfDir_class(problem,interpretation,var_parent);
22512 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
22513 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
22514 var_virtual0 == var_child;
22515 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
22516} 24451}
22517private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive( 24452private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(
22518 problem:LogicProblem, interpretation:PartialInterpretation, 24453 problem:LogicProblem, interpretation:PartialInterpretation,
22519 var_parent, var_child) 24454 var_r1)
22520{ 24455{
22521 find interpretation(problem,interpretation); 24456 find interpretation(problem,interpretation);
22522 find mayInstanceOfDir_class(problem,interpretation,var_parent); 24457 find mustInstanceOfRegion_class(problem,interpretation,var_r1);
22523 find mayInstanceOfFSObject_class(problem,interpretation,var_child); 24458 // r1 is exported
22524 // parent is exported 24459 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r1,_var__0);
22525 // child is exported
22526 find mayInstanceOfDir_class(problem,interpretation,var_parent);
22527 find mayInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
22528 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
22529 find mayEquivalent(problem, interpretation, var_virtual0, var_child);
22530 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
22531}or{
22532 find interpretation(problem,interpretation);
22533 find mayInstanceOfDir_class(problem,interpretation,var_parent);
22534 find mayInstanceOfFSObject_class(problem,interpretation,var_child);
22535 // parent is exported
22536 // child is exported
22537 find mayInstanceOfDir_class(problem,interpretation,var_parent);
22538 find mayInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
22539 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
22540 find mayEquivalent(problem, interpretation, var_virtual0, var_child);
22541 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
22542} 24460}
22543private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive( 24461// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleEntryInRegion
24462private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
22544 problem:LogicProblem, interpretation:PartialInterpretation, 24463 problem:LogicProblem, interpretation:PartialInterpretation,
22545 var_parent, var_child) 24464 var_r)
22546{ 24465{
22547 find interpretation(problem,interpretation); 24466 find interpretation(problem,interpretation);
22548 find mustInstanceOfDir_class(problem,interpretation,var_parent); 24467 find mustInstanceOfRegion_class(problem,interpretation,var_r);
22549 find mustInstanceOfFSObject_class(problem,interpretation,var_child); 24468 // r is exported
22550 // parent is exported 24469 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
22551 // child is exported 24470 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
22552 find mustInstanceOfDir_class(problem,interpretation,var_parent); 24471 neg find mayEquivalent(problem, interpretation, var_e1, var_e2);
22553 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
22554 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
22555 var_virtual0 == var_child;
22556 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
22557}or{
22558 find interpretation(problem,interpretation);
22559 find mustInstanceOfDir_class(problem,interpretation,var_parent);
22560 find mustInstanceOfFSObject_class(problem,interpretation,var_child);
22561 // parent is exported
22562 // child is exported
22563 find mustInstanceOfDir_class(problem,interpretation,var_parent);
22564 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
22565 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
22566 var_virtual0 == var_child;
22567 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
22568}
22569
22570//////////
22571// 1.4 Containment Indexer
22572//////////
22573private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
22574 find mustContains4(_,_,source,target);
22575}
22576
22577private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
22578 source: DefinedElement, target: DefinedElement)
22579 { find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target); }or
22580
22581 { find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); }or
22582
22583 { find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target); }or
22584
22585 { find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target); }
22586
22587private pattern mustTransitiveContains(source,target) {
22588 find mustContains2+(source,target);
22589} 24472}
22590 24473private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
22591////////// 24474 problem:LogicProblem, interpretation:PartialInterpretation,
22592// 2. Invalidation Indexers 24475 var_r)
22593//////////
22594// 2.1 Invalidated by WF Queries
22595//////////
22596pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem:LogicProblem, interpretation:PartialInterpretation,
22597 var_parent, var_child)
22598{ 24476{
22599 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem,interpretation,var_parent,var_child);
22600}
22601
22602//////////
22603// 3. Unfinishedness Indexers
22604//////////
22605// 3.1 Unfinishedness Measured by Multiplicity
22606//////////
22607pattern unfinishedLowerMultiplicity_root_reference_FileSystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
22608 find interpretation(problem,interpretation); 24477 find interpretation(problem,interpretation);
22609 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24478 find mayInstanceOfRegion_class(problem,interpretation,var_r);
22610 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem"); 24479 // r is exported
22611 find mustInstanceOfFileSystem_class(problem,interpretation,object); 24480 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
22612 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,object,_); 24481 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
22613 check(numberOfExistingReferences < 1); 24482 var_e1 != var_e2;
22614 missingMultiplicity == eval(1-numberOfExistingReferences);
22615} 24483}
22616pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { 24484private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(
24485 problem:LogicProblem, interpretation:PartialInterpretation,
24486 var_r)
24487{
22617 find interpretation(problem,interpretation); 24488 find interpretation(problem,interpretation);
22618 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24489 find mustInstanceOfRegion_class(problem,interpretation,var_r);
22619 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 24490 // r is exported
22620 find mustInstanceOfModel_class(problem,interpretation,object); 24491 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e1);
22621 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,object,_); 24492 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_entryInRegion(problem,interpretation,var_r,var_e2);
22622 check(numberOfExistingReferences < 1); 24493 var_e1 != var_e2;
22623 missingMultiplicity == eval(1-numberOfExistingReferences);
22624} 24494}
22625 24495// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries transition
22626////////// 24496private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
22627// 3.2 Unfinishedness Measured by WF Queries 24497 problem:LogicProblem, interpretation:PartialInterpretation,
22628////////// 24498 var_t, var_src, var_trg)
22629pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem:LogicProblem, interpretation:PartialInterpretation,
22630 var_parent, var_child)
22631{ 24499{
22632 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem,interpretation,var_parent,var_child); 24500 find interpretation(problem,interpretation);
24501 find mustInstanceOfTransition_class(problem,interpretation,var_t);
24502 find mustInstanceOfVertex_class(problem,interpretation,var_src);
24503 find mustInstanceOfVertex_class(problem,interpretation,var_trg);
24504 // t is exported
24505 // src is exported
24506 // trg is exported
24507 find mustInstanceOfTransition_class(problem,interpretation,var_t);
24508 find mustInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
24509 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
24510 var_virtual0 == var_src;
24511 find mustInstanceOfTransition_class(problem,interpretation,var_t);
24512 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
24513 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
24514 var_virtual1 == var_trg;
22633} 24515}
22634 24516private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
22635////////// 24517 problem:LogicProblem, interpretation:PartialInterpretation,
22636// 4. Refinement Indexers 24518 var_t, var_src, var_trg)
22637//////////
22638// 4.1 Object constructors
22639//////////
22640private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
22641{ 24519{
22642 find interpretation(problem,interpretation); 24520 find interpretation(problem,interpretation);
22643 find mustInstanceOfModel_class(problem,interpretation,root); 24521 find mayInstanceOfTransition_class(problem,interpretation,var_t);
22644 find mustExist(problem, interpretation, root); 24522 find mayInstanceOfVertex_class(problem,interpretation,var_src);
22645}or{ 24523 find mayInstanceOfVertex_class(problem,interpretation,var_trg);
22646 find interpretation(problem,interpretation); 24524 // t is exported
22647 find mustInstanceOfFile_class(problem,interpretation,root); 24525 // src is exported
22648 find mustExist(problem, interpretation, root); 24526 // trg is exported
22649}or{ 24527 find mayInstanceOfTransition_class(problem,interpretation,var_t);
22650 find interpretation(problem,interpretation); 24528 find mayInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
22651 find mustInstanceOfFSObject_class(problem,interpretation,root); 24529 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
22652 find mustExist(problem, interpretation, root); 24530 find mayEquivalent(problem, interpretation, var_virtual0, var_src);
22653}or{ 24531 find mayInstanceOfTransition_class(problem,interpretation,var_t);
22654 find interpretation(problem,interpretation); 24532 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
22655 find mustInstanceOfFileSystem_class(problem,interpretation,root); 24533 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
22656 find mustExist(problem, interpretation, root); 24534 find mayEquivalent(problem, interpretation, var_virtual1, var_trg);
22657}or{
22658 find interpretation(problem,interpretation);
22659 find mustInstanceOfDir_class(problem,interpretation,root);
22660 find mustExist(problem, interpretation, root);
22661}or{
22662 find interpretation(problem,interpretation);
22663 find mustInstanceOfModel_class_DefinedPart(problem,interpretation,root);
22664 find mustExist(problem, interpretation, root);
22665}or{
22666 find interpretation(problem,interpretation);
22667 find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,root);
22668 find mustExist(problem, interpretation, root);
22669} 24535}
22670pattern createObject_Model_class_UndefinedPart( 24536private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(
22671 problem:LogicProblem, interpretation:PartialInterpretation, 24537 problem:LogicProblem, interpretation:PartialInterpretation,
22672 typeInterpretation:PartialComplexTypeInterpretation) 24538 var_t, var_src, var_trg)
22673{ 24539{
22674 find interpretation(problem,interpretation); 24540 find interpretation(problem,interpretation);
22675 neg find hasElementInContainment(problem,interpretation); 24541 find mustInstanceOfTransition_class(problem,interpretation,var_t);
22676 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24542 find mustInstanceOfVertex_class(problem,interpretation,var_src);
22677 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Model class UndefinedPart"); 24543 find mustInstanceOfVertex_class(problem,interpretation,var_trg);
22678 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,newObject); 24544 // t is exported
22679 find mayExist(problem, interpretation, newObject); 24545 // src is exported
22680 neg find mustExist(problem, interpretation, newObject); 24546 // trg is exported
24547 find mustInstanceOfTransition_class(problem,interpretation,var_t);
24548 find mustInRelationsource_reference_Transition(problem,interpretation,var_t,var_virtual0);
24549 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
24550 var_virtual0 == var_src;
24551 find mustInstanceOfTransition_class(problem,interpretation,var_t);
24552 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t,var_virtual1);
24553 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
24554 var_virtual1 == var_trg;
22681} 24555}
22682pattern createObject_File_class_by_contents_reference_Dir_with_parent_reference_FSObject( 24556// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries incomingToEntry
24557private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
22683 problem:LogicProblem, interpretation:PartialInterpretation, 24558 problem:LogicProblem, interpretation:PartialInterpretation,
22684 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 24559 var_t, var_e)
22685 container:DefinedElement)
22686{ 24560{
22687 find interpretation(problem,interpretation); 24561 find interpretation(problem,interpretation);
22688 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24562 find mustInstanceOfTransition_class(problem,interpretation,var_t);
22689 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 24563 find mustInstanceOfEntry_class(problem,interpretation,var_e);
22690 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 24564 // t is exported
22691 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir"); 24565 // e is exported
22692 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 24566 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
22693 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject");
22694 find mustInstanceOfDir_class(problem,interpretation,container);
22695 find mayInstanceOfFile_class(problem,interpretation,newObject);
22696 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject);
22697 find mustExist(problem, interpretation, container);
22698 neg find mustExist(problem, interpretation, newObject);
22699} 24567}
22700pattern createObject_File_class_by_otherFSObjects_reference_Model( 24568private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
22701 problem:LogicProblem, interpretation:PartialInterpretation, 24569 problem:LogicProblem, interpretation:PartialInterpretation,
22702 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 24570 var_t, var_e)
22703 container:DefinedElement)
22704{ 24571{
22705 find interpretation(problem,interpretation); 24572 find interpretation(problem,interpretation);
22706 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24573 find mayInstanceOfTransition_class(problem,interpretation,var_t);
22707 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 24574 find mayInstanceOfEntry_class(problem,interpretation,var_e);
22708 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 24575 // t is exported
22709 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model"); 24576 // e is exported
22710 find mustInstanceOfModel_class(problem,interpretation,container); 24577 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
22711 find mayInstanceOfFile_class(problem,interpretation,newObject);
22712 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject);
22713 find mustExist(problem, interpretation, container);
22714 neg find mustExist(problem, interpretation, newObject);
22715} 24578}
22716pattern createObject_File_class( 24579private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(
22717 problem:LogicProblem, interpretation:PartialInterpretation, 24580 problem:LogicProblem, interpretation:PartialInterpretation,
22718 typeInterpretation:PartialComplexTypeInterpretation) 24581 var_t, var_e)
22719{ 24582{
22720 find interpretation(problem,interpretation); 24583 find interpretation(problem,interpretation);
22721 neg find hasElementInContainment(problem,interpretation); 24584 find mustInstanceOfTransition_class(problem,interpretation,var_t);
22722 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24585 find mustInstanceOfEntry_class(problem,interpretation,var_e);
22723 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 24586 // t is exported
22724 find mayInstanceOfFile_class(problem,interpretation,newObject); 24587 // e is exported
22725 find mayExist(problem, interpretation, newObject); 24588 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t,_var__0,var_e);
22726 neg find mustExist(problem, interpretation, newObject);
22727} 24589}
22728pattern createObject_FileSystem_class_by_filesystems_reference_Model( 24590// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noOutgoingTransitionFromEntry
24591private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
22729 problem:LogicProblem, interpretation:PartialInterpretation, 24592 problem:LogicProblem, interpretation:PartialInterpretation,
22730 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 24593 var_e)
22731 container:DefinedElement)
22732{ 24594{
22733 find interpretation(problem,interpretation); 24595 find interpretation(problem,interpretation);
22734 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24596 find mustInstanceOfEntry_class(problem,interpretation,var_e);
22735 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class"); 24597 // e is exported
22736 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 24598 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
22737 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"filesystems reference Model");
22738 find mustInstanceOfModel_class(problem,interpretation,container);
22739 find mayInstanceOfFileSystem_class(problem,interpretation,newObject);
22740 find mayInRelationfilesystems_reference_Model(problem,interpretation,container,newObject);
22741 find mustExist(problem, interpretation, container);
22742 neg find mustExist(problem, interpretation, newObject);
22743} 24599}
22744pattern createObject_FileSystem_class( 24600private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
22745 problem:LogicProblem, interpretation:PartialInterpretation, 24601 problem:LogicProblem, interpretation:PartialInterpretation,
22746 typeInterpretation:PartialComplexTypeInterpretation) 24602 var_e)
22747{ 24603{
22748 find interpretation(problem,interpretation); 24604 find interpretation(problem,interpretation);
22749 neg find hasElementInContainment(problem,interpretation); 24605 find mayInstanceOfEntry_class(problem,interpretation,var_e);
22750 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24606 // e is exported
22751 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class"); 24607 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
22752 find mayInstanceOfFileSystem_class(problem,interpretation,newObject);
22753 find mayExist(problem, interpretation, newObject);
22754 neg find mustExist(problem, interpretation, newObject);
22755} 24608}
22756pattern createObject_Dir_class_by_root_reference_FileSystem( 24609private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(
22757 problem:LogicProblem, interpretation:PartialInterpretation, 24610 problem:LogicProblem, interpretation:PartialInterpretation,
22758 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 24611 var_e)
22759 container:DefinedElement)
22760{ 24612{
22761 find interpretation(problem,interpretation); 24613 find interpretation(problem,interpretation);
22762 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24614 find mustInstanceOfEntry_class(problem,interpretation,var_e);
22763 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 24615 // e is exported
22764 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 24616 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_e,_var__1);
22765 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"root reference FileSystem");
22766 find mustInstanceOfFileSystem_class(problem,interpretation,container);
22767 find mayInstanceOfDir_class(problem,interpretation,newObject);
22768 find mayInRelationroot_reference_FileSystem(problem,interpretation,container,newObject);
22769 find mustExist(problem, interpretation, container);
22770 neg find mustExist(problem, interpretation, newObject);
22771} 24617}
22772pattern createObject_Dir_class_by_contents_reference_Dir_with_parent_reference_FSObject( 24618// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleTransitionFromEntry
24619private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
22773 problem:LogicProblem, interpretation:PartialInterpretation, 24620 problem:LogicProblem, interpretation:PartialInterpretation,
22774 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 24621 var_e, var_t1, var_t2)
22775 container:DefinedElement)
22776{ 24622{
22777 find interpretation(problem,interpretation); 24623 find interpretation(problem,interpretation);
22778 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24624 find mustInstanceOfEntry_class(problem,interpretation,var_e);
22779 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 24625 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
22780 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 24626 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
22781 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir"); 24627 // e is exported
22782 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 24628 // t1 is exported
22783 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject"); 24629 // t2 is exported
22784 find mustInstanceOfDir_class(problem,interpretation,container); 24630 find mustInstanceOfEntry_class(problem,interpretation,var_e);
22785 find mayInstanceOfDir_class(problem,interpretation,newObject); 24631 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
22786 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject); 24632 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
22787 find mustExist(problem, interpretation, container); 24633 var_virtual0 == var_t1;
22788 neg find mustExist(problem, interpretation, newObject); 24634 find mustInstanceOfEntry_class(problem,interpretation,var_e);
24635 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
24636 find mustInstanceOfTransition_class(problem,interpretation,var_virtual1);
24637 var_virtual1 == var_t2;
24638 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
22789} 24639}
22790pattern createObject_Dir_class_by_otherFSObjects_reference_Model( 24640private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
22791 problem:LogicProblem, interpretation:PartialInterpretation, 24641 problem:LogicProblem, interpretation:PartialInterpretation,
22792 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 24642 var_e, var_t1, var_t2)
22793 container:DefinedElement)
22794{ 24643{
22795 find interpretation(problem,interpretation); 24644 find interpretation(problem,interpretation);
22796 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24645 find mayInstanceOfEntry_class(problem,interpretation,var_e);
22797 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 24646 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
22798 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 24647 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
22799 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model"); 24648 // e is exported
22800 find mustInstanceOfModel_class(problem,interpretation,container); 24649 // t1 is exported
22801 find mayInstanceOfDir_class(problem,interpretation,newObject); 24650 // t2 is exported
22802 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject); 24651 find mayInstanceOfEntry_class(problem,interpretation,var_e);
22803 find mustExist(problem, interpretation, container); 24652 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
22804 neg find mustExist(problem, interpretation, newObject); 24653 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
24654 find mayEquivalent(problem, interpretation, var_virtual0, var_t1);
24655 find mayInstanceOfEntry_class(problem,interpretation,var_e);
24656 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
24657 find mayInstanceOfTransition_class(problem,interpretation,var_virtual1);
24658 find mayEquivalent(problem, interpretation, var_virtual1, var_t2);
24659 var_t1 != var_t2;
22805} 24660}
22806pattern createObject_Dir_class( 24661private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(
22807 problem:LogicProblem, interpretation:PartialInterpretation, 24662 problem:LogicProblem, interpretation:PartialInterpretation,
22808 typeInterpretation:PartialComplexTypeInterpretation) 24663 var_e, var_t1, var_t2)
22809{ 24664{
22810 find interpretation(problem,interpretation); 24665 find interpretation(problem,interpretation);
22811 neg find hasElementInContainment(problem,interpretation); 24666 find mustInstanceOfEntry_class(problem,interpretation,var_e);
22812 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24667 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
22813 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 24668 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
22814 find mayInstanceOfDir_class(problem,interpretation,newObject); 24669 // e is exported
22815 find mayExist(problem, interpretation, newObject); 24670 // t1 is exported
22816 neg find mustExist(problem, interpretation, newObject); 24671 // t2 is exported
24672 find mustInstanceOfEntry_class(problem,interpretation,var_e);
24673 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
24674 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
24675 var_virtual0 == var_t1;
24676 find mustInstanceOfEntry_class(problem,interpretation,var_e);
24677 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual1);
24678 find mustInstanceOfTransition_class(problem,interpretation,var_virtual1);
24679 var_virtual1 == var_t2;
24680 var_t1 != var_t2;
22817} 24681}
22818 24682// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromExit
22819////////// 24683private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
22820// 4.2 Type refinement 24684 problem:LogicProblem, interpretation:PartialInterpretation,
22821////////// 24685 var_t, var_e)
22822pattern refineTypeTo_Model_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 24686{
22823 find interpretation(problem,interpretation); 24687 find interpretation(problem,interpretation);
22824 PartialInterpretation.newElements(interpretation,element); 24688 find mustInstanceOfTransition_class(problem,interpretation,var_t);
22825 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 24689 find mustInstanceOfExit_class(problem,interpretation,var_e);
22826 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 24690 // t is exported
22827 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24691 // e is exported
22828 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24692 find mustInstanceOfExit_class(problem,interpretation,var_e);
24693 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
24694 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
24695 var_virtual0 == var_t;
22829} 24696}
22830pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 24697private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
24698 problem:LogicProblem, interpretation:PartialInterpretation,
24699 var_t, var_e)
24700{
22831 find interpretation(problem,interpretation); 24701 find interpretation(problem,interpretation);
22832 PartialInterpretation.newElements(interpretation,element); 24702 find mayInstanceOfTransition_class(problem,interpretation,var_t);
22833 find mayInstanceOfFile_class(problem,interpretation,element); 24703 find mayInstanceOfExit_class(problem,interpretation,var_e);
22834 neg find mustInstanceOfFile_class(problem,interpretation,element); 24704 // t is exported
22835 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24705 // e is exported
22836 neg find mustInstanceOfModel_class(problem,interpretation,element); 24706 find mayInstanceOfExit_class(problem,interpretation,var_e);
22837 neg find mustInstanceOfDir_class(problem,interpretation,element); 24707 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
24708 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
24709 find mayEquivalent(problem, interpretation, var_virtual0, var_t);
22838} 24710}
22839pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 24711private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(
24712 problem:LogicProblem, interpretation:PartialInterpretation,
24713 var_t, var_e)
24714{
22840 find interpretation(problem,interpretation); 24715 find interpretation(problem,interpretation);
22841 PartialInterpretation.newElements(interpretation,element); 24716 find mustInstanceOfTransition_class(problem,interpretation,var_t);
22842 find mayInstanceOfFileSystem_class(problem,interpretation,element); 24717 find mustInstanceOfExit_class(problem,interpretation,var_e);
22843 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24718 // t is exported
22844 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24719 // e is exported
22845 neg find mustInstanceOfModel_class(problem,interpretation,element); 24720 find mustInstanceOfExit_class(problem,interpretation,var_e);
24721 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_e,var_virtual0);
24722 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
24723 var_virtual0 == var_t;
22846} 24724}
22847pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 24725// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromFinal
24726private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
24727 problem:LogicProblem, interpretation:PartialInterpretation,
24728 var_t, var_f)
24729{
22848 find interpretation(problem,interpretation); 24730 find interpretation(problem,interpretation);
22849 PartialInterpretation.newElements(interpretation,element); 24731 find mustInstanceOfTransition_class(problem,interpretation,var_t);
22850 find mayInstanceOfDir_class(problem,interpretation,element); 24732 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
22851 neg find mustInstanceOfFile_class(problem,interpretation,element); 24733 // t is exported
22852 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24734 // f is exported
22853 neg find mustInstanceOfDir_class(problem,interpretation,element); 24735 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
22854 neg find mustInstanceOfModel_class(problem,interpretation,element); 24736 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
24737 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
24738 var_virtual0 == var_t;
22855} 24739}
22856 24740private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
22857//////////
22858// 4.3 Relation refinement
22859//////////
22860pattern refineRelation_live_reference_FileSystem(
22861 problem:LogicProblem, interpretation:PartialInterpretation, 24741 problem:LogicProblem, interpretation:PartialInterpretation,
22862 relationIterpretation:PartialRelationInterpretation, 24742 var_t, var_f)
22863 from: DefinedElement, to: DefinedElement)
22864{ 24743{
22865 find interpretation(problem,interpretation); 24744 find interpretation(problem,interpretation);
22866 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24745 find mayInstanceOfTransition_class(problem,interpretation,var_t);
22867 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"live reference FileSystem"); 24746 find mayInstanceOfFinalState_class(problem,interpretation,var_f);
22868 find mustExist(problem, interpretation, from); 24747 // t is exported
22869 find mustExist(problem, interpretation, to); 24748 // f is exported
22870 find mustInstanceOfFileSystem_class(problem,interpretation,from); 24749 find mayInstanceOfFinalState_class(problem,interpretation,var_f);
22871 find mustInstanceOfFSObject_class(problem,interpretation,to); 24750 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
22872 find mayInRelationlive_reference_FileSystem(problem,interpretation,from,to); 24751 find mayInstanceOfTransition_class(problem,interpretation,var_virtual0);
22873 neg find mustInRelationlive_reference_FileSystem(problem,interpretation,from,to); 24752 find mayEquivalent(problem, interpretation, var_virtual0, var_t);
22874}
22875import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
22876import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
22877import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
22878
22879//////////
22880// 0. Util
22881//////////
22882private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
22883 PartialInterpretation.problem(interpretation,problem);
22884} 24753}
22885 24754private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(
22886///////////////////////// 24755 problem:LogicProblem, interpretation:PartialInterpretation,
22887// 0.1 Existence 24756 var_t, var_f)
22888///////////////////////// 24757{
22889private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
22890 find interpretation(problem,interpretation);
22891 LogicProblem.elements(problem,element);
22892} or {
22893 find interpretation(problem,interpretation); 24758 find interpretation(problem,interpretation);
22894 PartialInterpretation.newElements(interpretation,element); 24759 find mustInstanceOfTransition_class(problem,interpretation,var_t);
22895} 24760 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
22896 24761 // t is exported
22897private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 24762 // f is exported
22898 find mustExist(problem,interpretation,element); 24763 find mustInstanceOfFinalState_class(problem,interpretation,var_f);
22899} or { 24764 find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,var_f,var_virtual0);
22900 find interpretation(problem,interpretation); 24765 find mustInstanceOfTransition_class(problem,interpretation,var_virtual0);
22901 neg find elementCloseWorld(element); 24766 var_virtual0 == var_t;
22902 PartialInterpretation.openWorldElements(interpretation,element);
22903}
22904
22905private pattern elementCloseWorld(element:DefinedElement) {
22906 PartialInterpretation.openWorldElements(i,element);
22907 PartialInterpretation.maxNewElements(i,0);
22908} or {
22909 Scope.targetTypeInterpretation(scope,interpretation);
22910 PartialTypeInterpratation.elements(interpretation,element);
22911 Scope.maxNewElements(scope,0);
22912}
22913
22914////////////////////////
22915// 0.2 Equivalence
22916////////////////////////
22917pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
22918 find mayExist(problem,interpretation,a);
22919 find mayExist(problem,interpretation,b);
22920 a == b;
22921} 24767}
22922 24768// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noStateInRegion
22923//////////////////////// 24769private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
22924// 0.3 Required Patterns by TypeIndexer 24770 problem:LogicProblem, interpretation:PartialInterpretation,
22925//////////////////////// 24771 var_region)
22926private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) { 24772{
22927 find interpretation(problem,interpretation); 24773 find interpretation(problem,interpretation);
22928 LogicProblem.types(problem,type); 24774 find mustInstanceOfRegion_class(problem,interpretation,var_region);
22929 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 24775 // region is exported
22930 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 24776 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
22931} 24777}
22932 24778private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
22933private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { 24779 problem:LogicProblem, interpretation:PartialInterpretation,
22934 find interpretation(problem,interpretation); 24780 var_region)
22935 LogicProblem.types(problem,type); 24781{
22936 TypeDefinition.elements(type,element);
22937} or {
22938 find interpretation(problem,interpretation); 24782 find interpretation(problem,interpretation);
22939 find typeInterpretation(problem,interpretation,type,typeInterpretation); 24783 find mayInstanceOfRegion_class(problem,interpretation,var_region);
22940 PartialComplexTypeInterpretation.elements(typeInterpretation,element); 24784 // region is exported
22941} 24785 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
22942
22943private pattern isPrimitive(element: PrimitiveElement) {
22944 PrimitiveElement(element);
22945}
22946
22947//////////
22948// 1. Problem-Specific Base Indexers
22949//////////
22950// 1.1 Type Indexers
22951//////////
22952// 1.1.1 primitive Type Indexers
22953//////////
22954
22955//////////
22956// 1.1.2 domain-specific Type Indexers
22957//////////
22958/**
22959 * An element must be an instance of type "FileSystem class".
22960 */
22961private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
22962 Type.name(type,"FileSystem class");
22963 find directInstanceOf(problem,interpretation,element,type);
22964} 24786}
22965private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { 24787private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(
24788 problem:LogicProblem, interpretation:PartialInterpretation,
24789 var_region)
24790{
22966 find interpretation(problem,interpretation); 24791 find interpretation(problem,interpretation);
22967 PartialInterpretation.scopes(interpretation,scope); 24792 find mustInstanceOfRegion_class(problem,interpretation,var_region);
22968 Scope.targetTypeInterpretation(scope,typeInterpretation); 24793 // region is exported
22969 Scope.maxNewElements(scope,0); 24794 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(problem,interpretation,var_region,_var__0);
22970 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
22971 Type.name(type,"FileSystem class");
22972} 24795}
22973 24796// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries StateInRegion
22974/** 24797private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
22975 * An element may be an instance of type "FileSystem class". 24798 problem:LogicProblem, interpretation:PartialInterpretation,
22976 */ 24799 var_region, var_state)
22977private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
22978{ 24800{
22979 find interpretation(problem,interpretation); 24801 find interpretation(problem,interpretation);
22980 PartialInterpretation.newElements(interpretation,element); 24802 find mustInstanceOfRegion_class(problem,interpretation,var_region);
22981 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24803 find mustInstanceOfState_class(problem,interpretation,var_state);
22982 neg find mustInstanceOfModel_class(problem,interpretation,element); 24804 // region is exported
22983 neg find scopeDisallowsNewFileSystem_class(problem, interpretation); 24805 // state is exported
22984 neg find isPrimitive(element); 24806 find mustInstanceOfRegion_class(problem,interpretation,var_region);
22985} or { 24807 find mustInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
22986 find interpretation(problem,interpretation); 24808 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
22987 PartialInterpretation.openWorldElements(interpretation,element); 24809 var_virtual0 == var_state;
22988 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
22989 neg find mustInstanceOfModel_class(problem,interpretation,element);
22990 neg find scopeDisallowsNewFileSystem_class(problem, interpretation);
22991 neg find isPrimitive(element);
22992} or
22993{ find mustInstanceOfFileSystem_class(problem,interpretation,element); }
22994/**
22995 * An element must be an instance of type "FSObject class".
22996 */
22997private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
22998 Type.name(type,"FSObject class");
22999 find directInstanceOf(problem,interpretation,element,type);
23000} 24810}
23001private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { 24811private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
24812 problem:LogicProblem, interpretation:PartialInterpretation,
24813 var_region, var_state)
24814{
23002 find interpretation(problem,interpretation); 24815 find interpretation(problem,interpretation);
23003 PartialInterpretation.scopes(interpretation,scope); 24816 find mayInstanceOfRegion_class(problem,interpretation,var_region);
23004 Scope.targetTypeInterpretation(scope,typeInterpretation); 24817 find mayInstanceOfState_class(problem,interpretation,var_state);
23005 Scope.maxNewElements(scope,0); 24818 // region is exported
23006 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 24819 // state is exported
23007 Type.name(type,"FSObject class"); 24820 find mayInstanceOfRegion_class(problem,interpretation,var_region);
24821 find mayInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
24822 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
24823 find mayEquivalent(problem, interpretation, var_virtual0, var_state);
23008} 24824}
23009 24825private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_StateInRegion(
23010/** 24826 problem:LogicProblem, interpretation:PartialInterpretation,
23011 * An element may be an instance of type "FSObject class". 24827 var_region, var_state)
23012 */
23013private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
23014{ 24828{
23015 find interpretation(problem,interpretation); 24829 find interpretation(problem,interpretation);
23016 PartialInterpretation.newElements(interpretation,element); 24830 find mustInstanceOfRegion_class(problem,interpretation,var_region);
23017 neg find mustInstanceOfDir_class(problem,interpretation,element); 24831 find mustInstanceOfState_class(problem,interpretation,var_state);
23018 neg find mustInstanceOfFile_class(problem,interpretation,element); 24832 // region is exported
23019 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24833 // state is exported
23020 neg find mustInstanceOfModel_class(problem,interpretation,element); 24834 find mustInstanceOfRegion_class(problem,interpretation,var_region);
23021 neg find scopeDisallowsNewFSObject_class(problem, interpretation); 24835 find mustInRelationvertices_reference_Region(problem,interpretation,var_region,var_virtual0);
23022 neg find isPrimitive(element); 24836 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
23023} or { 24837 var_virtual0 == var_state;
23024 find interpretation(problem,interpretation);
23025 PartialInterpretation.openWorldElements(interpretation,element);
23026 neg find mustInstanceOfDir_class(problem,interpretation,element);
23027 neg find mustInstanceOfFile_class(problem,interpretation,element);
23028 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23029 neg find mustInstanceOfModel_class(problem,interpretation,element);
23030 neg find scopeDisallowsNewFSObject_class(problem, interpretation);
23031 neg find isPrimitive(element);
23032} or
23033{ find mustInstanceOfFSObject_class(problem,interpretation,element); }
23034/**
23035 * An element must be an instance of type "Dir class".
23036 */
23037private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
23038 Type.name(type,"Dir class");
23039 find directInstanceOf(problem,interpretation,element,type);
23040} 24838}
23041private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { 24839// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoOutgoing
24840private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
24841 problem:LogicProblem, interpretation:PartialInterpretation,
24842 var_c)
24843{
23042 find interpretation(problem,interpretation); 24844 find interpretation(problem,interpretation);
23043 PartialInterpretation.scopes(interpretation,scope); 24845 find mustInstanceOfChoice_class(problem,interpretation,var_c);
23044 Scope.targetTypeInterpretation(scope,typeInterpretation); 24846 // c is exported
23045 Scope.maxNewElements(scope,0); 24847 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
23046 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
23047 Type.name(type,"Dir class");
23048} 24848}
23049 24849private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
23050/** 24850 problem:LogicProblem, interpretation:PartialInterpretation,
23051 * An element may be an instance of type "Dir class". 24851 var_c)
23052 */
23053private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
23054{ 24852{
23055 find interpretation(problem,interpretation); 24853 find interpretation(problem,interpretation);
23056 PartialInterpretation.newElements(interpretation,element); 24854 find mayInstanceOfChoice_class(problem,interpretation,var_c);
23057 neg find mustInstanceOfFile_class(problem,interpretation,element); 24855 // c is exported
23058 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24856 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
23059 neg find mustInstanceOfModel_class(problem,interpretation,element);
23060 neg find scopeDisallowsNewDir_class(problem, interpretation);
23061 neg find isPrimitive(element);
23062} or {
23063 find interpretation(problem,interpretation);
23064 PartialInterpretation.openWorldElements(interpretation,element);
23065 neg find mustInstanceOfFile_class(problem,interpretation,element);
23066 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23067 neg find mustInstanceOfModel_class(problem,interpretation,element);
23068 neg find scopeDisallowsNewDir_class(problem, interpretation);
23069 neg find isPrimitive(element);
23070} or
23071{ find mustInstanceOfDir_class(problem,interpretation,element); }
23072/**
23073 * An element must be an instance of type "File class".
23074 */
23075private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
23076 Type.name(type,"File class");
23077 find directInstanceOf(problem,interpretation,element,type);
23078} 24857}
23079private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { 24858private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(
24859 problem:LogicProblem, interpretation:PartialInterpretation,
24860 var_c)
24861{
23080 find interpretation(problem,interpretation); 24862 find interpretation(problem,interpretation);
23081 PartialInterpretation.scopes(interpretation,scope); 24863 find mustInstanceOfChoice_class(problem,interpretation,var_c);
23082 Scope.targetTypeInterpretation(scope,typeInterpretation); 24864 // c is exported
23083 Scope.maxNewElements(scope,0); 24865 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_c,_var__1);
23084 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
23085 Type.name(type,"File class");
23086} 24866}
23087 24867// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoIncoming
23088/** 24868private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
23089 * An element may be an instance of type "File class". 24869 problem:LogicProblem, interpretation:PartialInterpretation,
23090 */ 24870 var_c)
23091private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
23092{ 24871{
23093 find interpretation(problem,interpretation); 24872 find interpretation(problem,interpretation);
23094 PartialInterpretation.newElements(interpretation,element); 24873 find mustInstanceOfChoice_class(problem,interpretation,var_c);
23095 neg find mustInstanceOfDir_class(problem,interpretation,element); 24874 // c is exported
23096 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24875 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
23097 neg find mustInstanceOfModel_class(problem,interpretation,element);
23098 neg find scopeDisallowsNewFile_class(problem, interpretation);
23099 neg find isPrimitive(element);
23100} or {
23101 find interpretation(problem,interpretation);
23102 PartialInterpretation.openWorldElements(interpretation,element);
23103 neg find mustInstanceOfDir_class(problem,interpretation,element);
23104 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23105 neg find mustInstanceOfModel_class(problem,interpretation,element);
23106 neg find scopeDisallowsNewFile_class(problem, interpretation);
23107 neg find isPrimitive(element);
23108} or
23109{ find mustInstanceOfFile_class(problem,interpretation,element); }
23110/**
23111 * An element must be an instance of type "Model class".
23112 */
23113private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
23114 Type.name(type,"Model class");
23115 find directInstanceOf(problem,interpretation,element,type);
23116} 24876}
23117private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { 24877private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
24878 problem:LogicProblem, interpretation:PartialInterpretation,
24879 var_c)
24880{
23118 find interpretation(problem,interpretation); 24881 find interpretation(problem,interpretation);
23119 PartialInterpretation.scopes(interpretation,scope); 24882 find mayInstanceOfChoice_class(problem,interpretation,var_c);
23120 Scope.targetTypeInterpretation(scope,typeInterpretation); 24883 // c is exported
23121 Scope.maxNewElements(scope,0); 24884 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
23122 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
23123 Type.name(type,"Model class");
23124} 24885}
23125 24886private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(
23126/** 24887 problem:LogicProblem, interpretation:PartialInterpretation,
23127 * An element may be an instance of type "Model class". 24888 var_c)
23128 */
23129private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
23130{ 24889{
23131 find interpretation(problem,interpretation); 24890 find interpretation(problem,interpretation);
23132 PartialInterpretation.newElements(interpretation,element); 24891 find mustInstanceOfChoice_class(problem,interpretation,var_c);
23133 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24892 // c is exported
23134 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 24893 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_c);
23135 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23136 neg find scopeDisallowsNewModel_class(problem, interpretation);
23137 neg find isPrimitive(element);
23138} or {
23139 find interpretation(problem,interpretation);
23140 PartialInterpretation.openWorldElements(interpretation,element);
23141 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
23142 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
23143 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23144 neg find scopeDisallowsNewModel_class(problem, interpretation);
23145 neg find isPrimitive(element);
23146} or
23147{ find mustInstanceOfModel_class(problem,interpretation,element); }
23148/**
23149 * An element must be an instance of type "Model class DefinedPart".
23150 */
23151private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
23152 Type.name(type,"Model class DefinedPart");
23153 find directInstanceOf(problem,interpretation,element,type);
23154} 24894}
23155private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 24895// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoOutgoing
24896private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
24897 problem:LogicProblem, interpretation:PartialInterpretation,
24898 var_s)
24899{
23156 find interpretation(problem,interpretation); 24900 find interpretation(problem,interpretation);
23157 PartialInterpretation.scopes(interpretation,scope); 24901 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23158 Scope.targetTypeInterpretation(scope,typeInterpretation); 24902 // s is exported
23159 Scope.maxNewElements(scope,0); 24903 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
23160 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
23161 Type.name(type,"Model class DefinedPart");
23162}
23163
23164/**
23165 * An element may be an instance of type "Model class DefinedPart".
23166 */
23167private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
23168{ find mustInstanceOfModel_class_DefinedPart(problem,interpretation,element); }
23169/**
23170 * An element must be an instance of type "Model class UndefinedPart".
23171 */
23172private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
23173 Type.name(type,"Model class UndefinedPart");
23174 find directInstanceOf(problem,interpretation,element,type);
23175} 24904}
23176private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 24905private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
24906 problem:LogicProblem, interpretation:PartialInterpretation,
24907 var_s)
24908{
23177 find interpretation(problem,interpretation); 24909 find interpretation(problem,interpretation);
23178 PartialInterpretation.scopes(interpretation,scope); 24910 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23179 Scope.targetTypeInterpretation(scope,typeInterpretation); 24911 // s is exported
23180 Scope.maxNewElements(scope,0); 24912 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
23181 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
23182 Type.name(type,"Model class UndefinedPart");
23183} 24913}
23184 24914private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(
23185/** 24915 problem:LogicProblem, interpretation:PartialInterpretation,
23186 * An element may be an instance of type "Model class UndefinedPart". 24916 var_s)
23187 */
23188private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
23189{ 24917{
23190 find interpretation(problem,interpretation); 24918 find interpretation(problem,interpretation);
23191 PartialInterpretation.newElements(interpretation,element); 24919 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23192 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 24920 // s is exported
23193 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 24921 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,_var__1);
23194 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation); 24922}
23195 neg find isPrimitive(element); 24923// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoIncoming
23196} or { 24924private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
23197 find interpretation(problem,interpretation);
23198 PartialInterpretation.openWorldElements(interpretation,element);
23199 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
23200 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23201 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation);
23202 neg find isPrimitive(element);
23203} or
23204{ find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); }
23205
23206//////////
23207// 1.2 Relation Declaration Indexers
23208//////////
23209/**
23210 * Matcher for detecting tuples t where []root reference FileSystem(source,target)
23211 */
23212private pattern mustInRelationroot_reference_FileSystem(
23213 problem:LogicProblem, interpretation:PartialInterpretation, 24925 problem:LogicProblem, interpretation:PartialInterpretation,
23214 source: DefinedElement, target:DefinedElement) 24926 var_s)
23215{ 24927{
23216 find interpretation(problem,interpretation); 24928 find interpretation(problem,interpretation);
23217 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24929 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23218 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem"); 24930 // s is exported
23219 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 24931 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
23220 BinaryElementRelationLink.param1(link,source);
23221 BinaryElementRelationLink.param2(link,target);
23222} 24932}
23223/** 24933private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
23224 * Matcher for detecting tuples t where <>root reference FileSystem(source,target)
23225 */
23226private pattern mayInRelationroot_reference_FileSystem(
23227 problem:LogicProblem, interpretation:PartialInterpretation, 24934 problem:LogicProblem, interpretation:PartialInterpretation,
23228 source: DefinedElement, target:DefinedElement) 24935 var_s)
23229{ 24936{
23230 find interpretation(problem,interpretation); 24937 find interpretation(problem,interpretation);
23231 // The two endpoint of the link have to exist 24938 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23232 find mayExist(problem, interpretation, source); 24939 // s is exported
23233 find mayExist(problem, interpretation, target); 24940 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
23234 // Type consistency
23235 find mayInstanceOfFileSystem_class(problem,interpretation,source);
23236 find mayInstanceOfDir_class(problem,interpretation,target);
23237 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
23238 // the upper bound of the multiplicity should be considered.
23239 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,source,_);
23240 check(numberOfExistingReferences < 1);
23241 // The reference is containment, then a new reference cannot be create if:
23242 // 1. Multiple parents
23243 neg find mustContains4(problem,interpretation,_,target);
23244 // 2. Circle in the containment hierarchy
23245 neg find mustTransitiveContains(source,target);
23246} or {
23247 find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target);
23248} 24941}
23249/** 24942private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(
23250 * Matcher for detecting tuples t where []live reference FileSystem(source,target)
23251 */
23252 private pattern mustInRelationlive_reference_FileSystem(
23253 problem:LogicProblem, interpretation:PartialInterpretation,
23254 source: DefinedElement, target:DefinedElement)
23255 {
23256 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,source,target);
23257 }
23258/**
23259 * Matcher for detecting tuples t where []live reference FileSystem(source,target)
23260 */
23261 private pattern mayInRelationlive_reference_FileSystem(
23262 problem:LogicProblem, interpretation:PartialInterpretation,
23263 source: DefinedElement, target:DefinedElement)
23264 {
23265 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,source,target);
23266 }
23267/**
23268 * Matcher for detecting tuples t where []parent reference FSObject(source,target)
23269 */
23270private pattern mustInRelationparent_reference_FSObject(
23271 problem:LogicProblem, interpretation:PartialInterpretation, 24943 problem:LogicProblem, interpretation:PartialInterpretation,
23272 source: DefinedElement, target:DefinedElement) 24944 var_s)
23273{ 24945{
23274 find interpretation(problem,interpretation); 24946 find interpretation(problem,interpretation);
23275 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24947 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23276 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parent reference FSObject"); 24948 // s is exported
23277 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 24949 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,_var__1,var_s);
23278 BinaryElementRelationLink.param1(link,source);
23279 BinaryElementRelationLink.param2(link,target);
23280} 24950}
23281/** 24951// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedIncomingInSameRegion
23282 * Matcher for detecting tuples t where <>parent reference FSObject(source,target) 24952private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
23283 */
23284private pattern mayInRelationparent_reference_FSObject(
23285 problem:LogicProblem, interpretation:PartialInterpretation, 24953 problem:LogicProblem, interpretation:PartialInterpretation,
23286 source: DefinedElement, target:DefinedElement) 24954 var_s, var_v1, var_v2)
23287{ 24955{
23288 find interpretation(problem,interpretation); 24956 find interpretation(problem,interpretation);
23289 // The two endpoint of the link have to exist 24957 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23290 find mayExist(problem, interpretation, source); 24958 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
23291 find mayExist(problem, interpretation, target); 24959 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
23292 // Type consistency 24960 // s is exported
23293 find mayInstanceOfFSObject_class(problem,interpretation,source); 24961 // v1 is exported
23294 find mayInstanceOfDir_class(problem,interpretation,target); 24962 // v2 is exported
23295 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 24963 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
23296 // the upper bound of the multiplicity should be considered. 24964 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
23297 numberOfExistingReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,source,_); 24965 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
23298 check(numberOfExistingReferences < 1); 24966 find mustInstanceOfRegion_class(problem,interpretation,var_r);
23299 // The eOpposite of the reference is containment, then a referene cannot be created if 24967 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
23300 // 1. Multiple parents 24968 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
23301 neg find mustContains4(problem,interpretation,source,_); 24969 var_virtual0 == var_v1;
23302 // 2. Circle in the containment hierarchy 24970 find mustInstanceOfRegion_class(problem,interpretation,var_r);
23303 neg find mustTransitiveContains(source,target); 24971 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
23304} or { 24972 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
23305 find mustInRelationparent_reference_FSObject(problem,interpretation,source,target); 24973 var_virtual1 == var_v2;
24974}or{
24975 find interpretation(problem,interpretation);
24976 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
24977 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
24978 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
24979 // s is exported
24980 // v1 is exported
24981 // v2 is exported
24982 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
24983 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
24984 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
24985 find mustInstanceOfRegion_class(problem,interpretation,var_r);
24986 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
24987 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
24988 var_virtual0 == var_v1;
24989 find mustInstanceOfRegion_class(problem,interpretation,var_r);
24990 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
24991 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
24992 var_virtual1 == var_v2;
23306} 24993}
23307/** 24994private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
23308 * Matcher for detecting tuples t where []contents reference Dir(source,target)
23309 */
23310private pattern mustInRelationcontents_reference_Dir(
23311 problem:LogicProblem, interpretation:PartialInterpretation, 24995 problem:LogicProblem, interpretation:PartialInterpretation,
23312 source: DefinedElement, target:DefinedElement) 24996 var_s, var_v1, var_v2)
23313{ 24997{
23314 find interpretation(problem,interpretation); 24998 find interpretation(problem,interpretation);
23315 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 24999 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23316 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"contents reference Dir"); 25000 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
23317 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 25001 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
23318 BinaryElementRelationLink.param1(link,source); 25002 // s is exported
23319 BinaryElementRelationLink.param2(link,target); 25003 // v1 is exported
25004 // v2 is exported
25005 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
25006 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
25007 var_t1 != var_t2;
25008 find mayInstanceOfRegion_class(problem,interpretation,var_r);
25009 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
25010 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
25011 find mayEquivalent(problem, interpretation, var_virtual0, var_v1);
25012 find mayInstanceOfRegion_class(problem,interpretation,var_r);
25013 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
25014 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
25015 find mayEquivalent(problem, interpretation, var_virtual1, var_v2);
25016}or{
25017 find interpretation(problem,interpretation);
25018 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
25019 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
25020 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
25021 // s is exported
25022 // v1 is exported
25023 // v2 is exported
25024 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
25025 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
25026 var_t1 != var_t2;
25027 find mayInstanceOfRegion_class(problem,interpretation,var_r);
25028 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
25029 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
25030 find mayEquivalent(problem, interpretation, var_virtual0, var_v1);
25031 find mayInstanceOfRegion_class(problem,interpretation,var_r);
25032 find mayInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
25033 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
25034 find mayEquivalent(problem, interpretation, var_virtual1, var_v2);
23320} 25035}
23321/** 25036private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(
23322 * Matcher for detecting tuples t where <>contents reference Dir(source,target)
23323 */
23324private pattern mayInRelationcontents_reference_Dir(
23325 problem:LogicProblem, interpretation:PartialInterpretation, 25037 problem:LogicProblem, interpretation:PartialInterpretation,
23326 source: DefinedElement, target:DefinedElement) 25038 var_s, var_v1, var_v2)
23327{ 25039{
23328 find interpretation(problem,interpretation); 25040 find interpretation(problem,interpretation);
23329 // The two endpoint of the link have to exist 25041 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23330 find mayExist(problem, interpretation, source); 25042 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
23331 find mayExist(problem, interpretation, target); 25043 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
23332 // Type consistency 25044 // s is exported
23333 find mayInstanceOfDir_class(problem,interpretation,source); 25045 // v1 is exported
23334 find mayInstanceOfFSObject_class(problem,interpretation,target); 25046 // v2 is exported
23335 // There are "numberOfExistingReferences" currently existing instances of the reference to the target, 25047 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_v1,var_s);
23336 // the upper bound of the opposite reference multiplicity should be considered. 25048 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_v2,var_s);
23337 numberOfExistingOppositeReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,target,_); 25049 var_t1 != var_t2;
23338 check(numberOfExistingOppositeReferences < 1); 25050 find mustInstanceOfRegion_class(problem,interpretation,var_r);
23339 // The reference is containment, then a new reference cannot be create if: 25051 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
23340 // 1. Multiple parents 25052 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
23341 neg find mustContains4(problem,interpretation,_,target); 25053 var_virtual0 == var_v1;
23342 // 2. Circle in the containment hierarchy 25054 find mustInstanceOfRegion_class(problem,interpretation,var_r);
23343 neg find mustTransitiveContains(source,target); 25055 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
23344} or { 25056 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
23345 find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); 25057 var_virtual1 == var_v2;
25058}or{
25059 find interpretation(problem,interpretation);
25060 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
25061 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
25062 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
25063 // s is exported
25064 // v1 is exported
25065 // v2 is exported
25066 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t1,var_s,var_v1);
25067 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,var_t2,var_s,var_v2);
25068 var_t1 != var_t2;
25069 find mustInstanceOfRegion_class(problem,interpretation,var_r);
25070 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual0);
25071 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
25072 var_virtual0 == var_v1;
25073 find mustInstanceOfRegion_class(problem,interpretation,var_r);
25074 find mustInRelationvertices_reference_Region(problem,interpretation,var_r,var_virtual1);
25075 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
25076 var_virtual1 == var_v2;
23346} 25077}
23347/** 25078// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries notSynchronizingStates
23348 * Matcher for detecting tuples t where []filesystems reference Model(source,target) 25079private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
23349 */
23350private pattern mustInRelationfilesystems_reference_Model(
23351 problem:LogicProblem, interpretation:PartialInterpretation, 25080 problem:LogicProblem, interpretation:PartialInterpretation,
23352 source: DefinedElement, target:DefinedElement) 25081 var_s)
23353{ 25082{
23354 find interpretation(problem,interpretation); 25083 find interpretation(problem,interpretation);
23355 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 25084 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23356 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 25085 // s is exported
23357 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 25086 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
23358 BinaryElementRelationLink.param1(link,source); 25087 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
23359 BinaryElementRelationLink.param2(link,target);
23360} 25088}
23361/** 25089private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
23362 * Matcher for detecting tuples t where <>filesystems reference Model(source,target)
23363 */
23364private pattern mayInRelationfilesystems_reference_Model(
23365 problem:LogicProblem, interpretation:PartialInterpretation, 25090 problem:LogicProblem, interpretation:PartialInterpretation,
23366 source: DefinedElement, target:DefinedElement) 25091 var_s)
23367{ 25092{
23368 find interpretation(problem,interpretation); 25093 find interpretation(problem,interpretation);
23369 // The two endpoint of the link have to exist 25094 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23370 find mayExist(problem, interpretation, source); 25095 // s is exported
23371 find mayExist(problem, interpretation, target); 25096 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
23372 // Type consistency 25097 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
23373 find mayInstanceOfModel_class(problem,interpretation,source);
23374 find mayInstanceOfFileSystem_class(problem,interpretation,target);
23375 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
23376 // the upper bound of the multiplicity should be considered.
23377 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,source,_);
23378 check(numberOfExistingReferences < 1);
23379 // The reference is containment, then a new reference cannot be create if:
23380 // 1. Multiple parents
23381 neg find mustContains4(problem,interpretation,_,target);
23382 // 2. Circle in the containment hierarchy
23383 neg find mustTransitiveContains(source,target);
23384} or {
23385 find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target);
23386} 25098}
23387/** 25099private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(
23388 * Matcher for detecting tuples t where []otherFSObjects reference Model(source,target)
23389 */
23390private pattern mustInRelationotherFSObjects_reference_Model(
23391 problem:LogicProblem, interpretation:PartialInterpretation, 25100 problem:LogicProblem, interpretation:PartialInterpretation,
23392 source: DefinedElement, target:DefinedElement) 25101 var_s)
23393{ 25102{
23394 find interpretation(problem,interpretation); 25103 find interpretation(problem,interpretation);
23395 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 25104 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23396 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"otherFSObjects reference Model"); 25105 // s is exported
23397 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 25106 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(problem,interpretation,var_s);
23398 BinaryElementRelationLink.param1(link,source); 25107 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(problem,interpretation,var_s);
23399 BinaryElementRelationLink.param2(link,target);
23400} 25108}
23401/** 25109// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleOutgoingTrainsition
23402 * Matcher for detecting tuples t where <>otherFSObjects reference Model(source,target) 25110private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
23403 */
23404private pattern mayInRelationotherFSObjects_reference_Model(
23405 problem:LogicProblem, interpretation:PartialInterpretation, 25111 problem:LogicProblem, interpretation:PartialInterpretation,
23406 source: DefinedElement, target:DefinedElement) 25112 var_v)
23407{ 25113{
23408 find interpretation(problem,interpretation); 25114 find interpretation(problem,interpretation);
23409 // The two endpoint of the link have to exist 25115 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
23410 find mayExist(problem, interpretation, source); 25116 // v is exported
23411 find mayExist(problem, interpretation, target); 25117 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
23412 // Type consistency 25118 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
23413 find mayInstanceOfModel_class(problem,interpretation,source); 25119 neg find mayEquivalent(problem, interpretation, var_trg1, var_trg2);
23414 find mayInstanceOfFSObject_class(problem,interpretation,target);
23415 // The reference is containment, then a new reference cannot be create if:
23416 // 1. Multiple parents
23417 neg find mustContains4(problem,interpretation,_,target);
23418 // 2. Circle in the containment hierarchy
23419 neg find mustTransitiveContains(source,target);
23420} or {
23421 find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target);
23422} 25120}
23423 25121private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
23424//////////
23425// 1.3 Relation Definition Indexers
23426//////////
23427// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries patternContent
23428private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(
23429 problem:LogicProblem, interpretation:PartialInterpretation, 25122 problem:LogicProblem, interpretation:PartialInterpretation,
23430 var_o1, var_o2) 25123 var_v)
23431{ 25124{
23432 find interpretation(problem,interpretation); 25125 find interpretation(problem,interpretation);
23433 find mustInstanceOfFSObject_class(problem,interpretation,var_o1); 25126 find mayInstanceOfSynchronization_class(problem,interpretation,var_v);
23434 find mustInstanceOfFSObject_class(problem,interpretation,var_o2); 25127 // v is exported
23435 // o1 is exported 25128 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
23436 // o2 is exported 25129 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
23437 find mustInstanceOfDir_class(problem,interpretation,var_o1); 25130 var_trg1 != var_trg2;
23438 find mustInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
23439 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
23440 var_virtual0 == var_o2;
23441} 25131}
23442private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( 25132private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition(
23443 problem:LogicProblem, interpretation:PartialInterpretation, 25133 problem:LogicProblem, interpretation:PartialInterpretation,
23444 var_o1, var_o2) 25134 var_v)
23445{ 25135{
23446 find interpretation(problem,interpretation); 25136 find interpretation(problem,interpretation);
23447 find mayInstanceOfFSObject_class(problem,interpretation,var_o1); 25137 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
23448 find mayInstanceOfFSObject_class(problem,interpretation,var_o2); 25138 // v is exported
23449 // o1 is exported 25139 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_trg1);
23450 // o2 is exported 25140 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v,var_trg2);
23451 find mayInstanceOfDir_class(problem,interpretation,var_o1); 25141 var_trg1 != var_trg2;
23452 find mayInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
23453 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
23454 find mayEquivalent(problem, interpretation, var_virtual0, var_o2);
23455} 25142}
23456private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( 25143// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleIncomingTrainsition
25144private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
23457 problem:LogicProblem, interpretation:PartialInterpretation, 25145 problem:LogicProblem, interpretation:PartialInterpretation,
23458 var_o1, var_o2) 25146 var_v)
23459{ 25147{
23460 find interpretation(problem,interpretation); 25148 find interpretation(problem,interpretation);
23461 find mustInstanceOfFSObject_class(problem,interpretation,var_o1); 25149 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
23462 find mustInstanceOfFSObject_class(problem,interpretation,var_o2); 25150 // v is exported
23463 // o1 is exported 25151 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
23464 // o2 is exported 25152 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
23465 find mustInstanceOfDir_class(problem,interpretation,var_o1); 25153 neg find mayEquivalent(problem, interpretation, var_src1, var_src2);
23466 find mustInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
23467 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
23468 var_virtual0 == var_o2;
23469}
23470private pattern twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) {
23471 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2);
23472} 25154}
23473private pattern twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { 25155private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
23474 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2); 25156 problem:LogicProblem, interpretation:PartialInterpretation,
25157 var_v)
25158{
25159 find interpretation(problem,interpretation);
25160 find mayInstanceOfSynchronization_class(problem,interpretation,var_v);
25161 // v is exported
25162 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
25163 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
25164 var_src1 != var_src2;
23475} 25165}
23476private pattern twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { 25166private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleIncomingTrainsition(
23477 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2); 25167 problem:LogicProblem, interpretation:PartialInterpretation,
25168 var_v)
25169{
25170 find interpretation(problem,interpretation);
25171 find mustInstanceOfSynchronization_class(problem,interpretation,var_v);
25172 // v is exported
25173 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_src1,var_v);
25174 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_src2,var_v);
25175 var_src1 != var_src2;
23478} 25176}
23479// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries live 25177// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionsAreNotSiblings
23480private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live( 25178private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
23481 problem:LogicProblem, interpretation:PartialInterpretation, 25179 problem:LogicProblem, interpretation:PartialInterpretation,
23482 var_this, var_l) 25180 var_s, var_v1, var_v2)
23483{ 25181{
23484 find interpretation(problem,interpretation); 25182 find interpretation(problem,interpretation);
23485 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25183 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23486 find mustInstanceOfFSObject_class(problem,interpretation,var_l); 25184 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
23487 // this is exported 25185 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
23488 // l is exported 25186 // s is exported
23489 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25187 // v1 is exported
23490 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0); 25188 // v2 is exported
23491 find mustInstanceOfDir_class(problem,interpretation,var_virtual0); 25189 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
23492 var_virtual0 == var_l; 25190 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
25191 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
25192 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
25193 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
25194 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
25195 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
25196 var_virtual1 == var_v1;
25197 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
25198 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
25199 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
25200 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
25201 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
25202 var_virtual3 == var_v2;
25203 neg find mayEquivalent(problem, interpretation, var_r1, var_r2);
23493}or{ 25204}or{
23494 find interpretation(problem,interpretation); 25205 find interpretation(problem,interpretation);
23495 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25206 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23496 find mustInstanceOfFSObject_class(problem,interpretation,var_l); 25207 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
23497 // this is exported 25208 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
23498 // l is exported 25209 // s is exported
23499 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25210 // v1 is exported
23500 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0); 25211 // v2 is exported
23501 find mustInstanceOfDir_class(problem,interpretation,var_virtual0); 25212 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
23502 var_virtual0 == var_root; 25213 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
23503 find twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l); 25214 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
23504} 25215 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
23505private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live( 25216 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
23506 problem:LogicProblem, interpretation:PartialInterpretation, 25217 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
23507 var_this, var_l) 25218 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
23508{ 25219 var_virtual1 == var_v1;
23509 find interpretation(problem,interpretation); 25220 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
23510 find mayInstanceOfFileSystem_class(problem,interpretation,var_this); 25221 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
23511 find mayInstanceOfFSObject_class(problem,interpretation,var_l); 25222 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
23512 // this is exported 25223 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
23513 // l is exported 25224 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
23514 find mayInstanceOfFileSystem_class(problem,interpretation,var_this); 25225 var_virtual3 == var_v2;
23515 find mayInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0); 25226 neg find mayEquivalent(problem, interpretation, var_r1, var_r2);
23516 find mayInstanceOfDir_class(problem,interpretation,var_virtual0); 25227}
23517 find mayEquivalent(problem, interpretation, var_virtual0, var_l); 25228private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
23518}or{ 25229 problem:LogicProblem, interpretation:PartialInterpretation,
25230 var_s, var_v1, var_v2)
25231{
23519 find interpretation(problem,interpretation); 25232 find interpretation(problem,interpretation);
23520 find mayInstanceOfFileSystem_class(problem,interpretation,var_this); 25233 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23521 find mayInstanceOfFSObject_class(problem,interpretation,var_l); 25234 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
23522 // this is exported 25235 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
23523 // l is exported 25236 // s is exported
23524 find mayInstanceOfFileSystem_class(problem,interpretation,var_this); 25237 // v1 is exported
23525 find mayInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0); 25238 // v2 is exported
23526 find mayInstanceOfDir_class(problem,interpretation,var_virtual0); 25239 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
23527 find mayEquivalent(problem, interpretation, var_virtual0, var_root); 25240 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
23528 find twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l); 25241 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r1);
23529} 25242 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
23530private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live( 25243 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
23531 problem:LogicProblem, interpretation:PartialInterpretation, 25244 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
23532 var_this, var_l) 25245 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
23533{ 25246 find mayEquivalent(problem, interpretation, var_virtual1, var_v1);
23534 find interpretation(problem,interpretation); 25247 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r2);
23535 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25248 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
23536 find mustInstanceOfFSObject_class(problem,interpretation,var_l); 25249 find mayInstanceOfRegion_class(problem,interpretation,var_virtual2);
23537 // this is exported 25250 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
23538 // l is exported 25251 find mayInstanceOfVertex_class(problem,interpretation,var_virtual3);
23539 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25252 find mayEquivalent(problem, interpretation, var_virtual3, var_v2);
23540 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0); 25253 var_r1 != var_r2;
23541 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
23542 var_virtual0 == var_l;
23543}or{ 25254}or{
23544 find interpretation(problem,interpretation); 25255 find interpretation(problem,interpretation);
23545 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25256 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23546 find mustInstanceOfFSObject_class(problem,interpretation,var_l); 25257 find mayInstanceOfVertex_class(problem,interpretation,var_v1);
23547 // this is exported 25258 find mayInstanceOfVertex_class(problem,interpretation,var_v2);
23548 // l is exported 25259 // s is exported
23549 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25260 // v1 is exported
23550 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0); 25261 // v2 is exported
23551 find mustInstanceOfDir_class(problem,interpretation,var_virtual0); 25262 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
23552 var_virtual0 == var_root; 25263 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
23553 find twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l); 25264 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r1);
25265 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
25266 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
25267 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
25268 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
25269 find mayEquivalent(problem, interpretation, var_virtual1, var_v1);
25270 find mayInstanceOfCompositeElement_class(problem,interpretation,var_r2);
25271 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
25272 find mayInstanceOfRegion_class(problem,interpretation,var_virtual2);
25273 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
25274 find mayInstanceOfVertex_class(problem,interpretation,var_virtual3);
25275 find mayEquivalent(problem, interpretation, var_virtual3, var_v2);
25276 var_r1 != var_r2;
23554} 25277}
23555// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries contentInNotLive 25278private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(
23556private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(
23557 problem:LogicProblem, interpretation:PartialInterpretation, 25279 problem:LogicProblem, interpretation:PartialInterpretation,
23558 var_parent, var_child) 25280 var_s, var_v1, var_v2)
23559{ 25281{
23560 find interpretation(problem,interpretation); 25282 find interpretation(problem,interpretation);
23561 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25283 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23562 find mustInstanceOfFSObject_class(problem,interpretation,var_child); 25284 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
23563 // parent is exported 25285 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
23564 // child is exported 25286 // s is exported
23565 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25287 // v1 is exported
23566 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0); 25288 // v2 is exported
23567 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0); 25289 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v1,var_s);
23568 var_virtual0 == var_child; 25290 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_v2,var_s);
23569 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent); 25291 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
25292 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
25293 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
25294 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
25295 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
25296 var_virtual1 == var_v1;
25297 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
25298 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
25299 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
25300 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
25301 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
25302 var_virtual3 == var_v2;
25303 var_r1 != var_r2;
23570}or{ 25304}or{
23571 find interpretation(problem,interpretation); 25305 find interpretation(problem,interpretation);
23572 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25306 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23573 find mustInstanceOfFSObject_class(problem,interpretation,var_child); 25307 find mustInstanceOfVertex_class(problem,interpretation,var_v1);
23574 // parent is exported 25308 find mustInstanceOfVertex_class(problem,interpretation,var_v2);
23575 // child is exported 25309 // s is exported
23576 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25310 // v1 is exported
23577 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0); 25311 // v2 is exported
23578 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0); 25312 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v1);
23579 var_virtual0 == var_child; 25313 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__1,var_s,var_v2);
23580 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child); 25314 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r1);
25315 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r1,var_virtual0);
25316 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
25317 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
25318 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
25319 var_virtual1 == var_v1;
25320 find mustInstanceOfCompositeElement_class(problem,interpretation,var_r2);
25321 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_r2,var_virtual2);
25322 find mustInstanceOfRegion_class(problem,interpretation,var_virtual2);
25323 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual2,var_virtual3);
25324 find mustInstanceOfVertex_class(problem,interpretation,var_virtual3);
25325 var_virtual3 == var_v2;
25326 var_r1 != var_r2;
23581} 25327}
23582private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive( 25328// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries child
25329private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
23583 problem:LogicProblem, interpretation:PartialInterpretation, 25330 problem:LogicProblem, interpretation:PartialInterpretation,
23584 var_parent, var_child) 25331 var_parent, var_child)
23585{ 25332{
23586 find interpretation(problem,interpretation); 25333 find interpretation(problem,interpretation);
23587 find mayInstanceOfDir_class(problem,interpretation,var_parent); 25334 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
23588 find mayInstanceOfFSObject_class(problem,interpretation,var_child); 25335 find mustInstanceOfVertex_class(problem,interpretation,var_child);
23589 // parent is exported
23590 // child is exported
23591 find mayInstanceOfDir_class(problem,interpretation,var_parent);
23592 find mayInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
23593 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
23594 find mayEquivalent(problem, interpretation, var_virtual0, var_child);
23595 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
23596}or{
23597 find interpretation(problem,interpretation);
23598 find mayInstanceOfDir_class(problem,interpretation,var_parent);
23599 find mayInstanceOfFSObject_class(problem,interpretation,var_child);
23600 // parent is exported 25336 // parent is exported
23601 // child is exported 25337 // child is exported
23602 find mayInstanceOfDir_class(problem,interpretation,var_parent); 25338 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
23603 find mayInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0); 25339 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
23604 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0); 25340 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
23605 find mayEquivalent(problem, interpretation, var_virtual0, var_child); 25341 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
23606 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child); 25342 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
25343 var_virtual1 == var_child;
23607} 25344}
23608private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive( 25345private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
23609 problem:LogicProblem, interpretation:PartialInterpretation, 25346 problem:LogicProblem, interpretation:PartialInterpretation,
23610 var_parent, var_child) 25347 var_parent, var_child)
23611{ 25348{
23612 find interpretation(problem,interpretation); 25349 find interpretation(problem,interpretation);
23613 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25350 find mayInstanceOfCompositeElement_class(problem,interpretation,var_parent);
23614 find mustInstanceOfFSObject_class(problem,interpretation,var_child); 25351 find mayInstanceOfVertex_class(problem,interpretation,var_child);
23615 // parent is exported
23616 // child is exported
23617 find mustInstanceOfDir_class(problem,interpretation,var_parent);
23618 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
23619 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
23620 var_virtual0 == var_child;
23621 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
23622}or{
23623 find interpretation(problem,interpretation);
23624 find mustInstanceOfDir_class(problem,interpretation,var_parent);
23625 find mustInstanceOfFSObject_class(problem,interpretation,var_child);
23626 // parent is exported 25352 // parent is exported
23627 // child is exported 25353 // child is exported
23628 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25354 find mayInstanceOfCompositeElement_class(problem,interpretation,var_parent);
23629 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0); 25355 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
23630 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0); 25356 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
23631 var_virtual0 == var_child; 25357 find mayInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
23632 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child); 25358 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
23633} 25359 find mayEquivalent(problem, interpretation, var_virtual1, var_child);
23634
23635//////////
23636// 1.4 Containment Indexer
23637//////////
23638private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
23639 find mustContains4(_,_,source,target);
23640}
23641
23642private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
23643 source: DefinedElement, target: DefinedElement)
23644 { find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target); }or
23645
23646 { find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); }or
23647
23648 { find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target); }or
23649
23650 { find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target); }
23651
23652private pattern mustTransitiveContains(source,target) {
23653 find mustContains2+(source,target);
23654} 25360}
23655 25361private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(
23656////////// 25362 problem:LogicProblem, interpretation:PartialInterpretation,
23657// 2. Invalidation Indexers
23658//////////
23659// 2.1 Invalidated by WF Queries
23660//////////
23661pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem:LogicProblem, interpretation:PartialInterpretation,
23662 var_parent, var_child) 25363 var_parent, var_child)
23663{ 25364{
23664 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem,interpretation,var_parent,var_child);
23665}
23666
23667//////////
23668// 3. Unfinishedness Indexers
23669//////////
23670// 3.1 Unfinishedness Measured by Multiplicity
23671//////////
23672pattern unfinishedLowerMultiplicity_root_reference_FileSystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
23673 find interpretation(problem,interpretation);
23674 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
23675 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem");
23676 find mustInstanceOfFileSystem_class(problem,interpretation,object);
23677 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,object,_);
23678 check(numberOfExistingReferences < 1);
23679 missingMultiplicity == eval(1-numberOfExistingReferences);
23680}
23681pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
23682 find interpretation(problem,interpretation); 25365 find interpretation(problem,interpretation);
23683 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 25366 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
23684 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 25367 find mustInstanceOfVertex_class(problem,interpretation,var_child);
23685 find mustInstanceOfModel_class(problem,interpretation,object); 25368 // parent is exported
23686 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,object,_); 25369 // child is exported
23687 check(numberOfExistingReferences < 1); 25370 find mustInstanceOfCompositeElement_class(problem,interpretation,var_parent);
23688 missingMultiplicity == eval(1-numberOfExistingReferences); 25371 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_parent,var_virtual0);
23689} 25372 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
23690 25373 find mustInRelationvertices_reference_Region(problem,interpretation,var_virtual0,var_virtual1);
23691////////// 25374 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
23692// 3.2 Unfinishedness Measured by WF Queries 25375 var_virtual1 == var_child;
23693//////////
23694pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem:LogicProblem, interpretation:PartialInterpretation,
23695 var_parent, var_child)
23696{
23697 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem,interpretation,var_parent,var_child);
23698} 25376}
23699 25377// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionDoesNotHaveMultipleRegions
23700////////// 25378private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
23701// 4. Refinement Indexers 25379 problem:LogicProblem, interpretation:PartialInterpretation,
23702////////// 25380 var_s, var_v)
23703// 4.1 Object constructors
23704//////////
23705private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
23706{ 25381{
23707 find interpretation(problem,interpretation); 25382 find interpretation(problem,interpretation);
23708 find mustInstanceOfModel_class(problem,interpretation,root); 25383 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23709 find mustExist(problem, interpretation, root); 25384 find mustInstanceOfVertex_class(problem,interpretation,var_v);
23710}or{ 25385 // s is exported
23711 find interpretation(problem,interpretation); 25386 // v is exported
23712 find mustInstanceOfFile_class(problem,interpretation,root); 25387 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
23713 find mustExist(problem, interpretation, root); 25388 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
23714}or{ 25389 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
23715 find interpretation(problem,interpretation);
23716 find mustInstanceOfFSObject_class(problem,interpretation,root);
23717 find mustExist(problem, interpretation, root);
23718}or{
23719 find interpretation(problem,interpretation);
23720 find mustInstanceOfFileSystem_class(problem,interpretation,root);
23721 find mustExist(problem, interpretation, root);
23722}or{ 25390}or{
23723 find interpretation(problem,interpretation); 25391 find interpretation(problem,interpretation);
23724 find mustInstanceOfDir_class(problem,interpretation,root); 25392 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23725 find mustExist(problem, interpretation, root); 25393 find mustInstanceOfVertex_class(problem,interpretation,var_v);
23726}or{ 25394 // s is exported
25395 // v is exported
25396 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
25397 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
25398 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
25399}
25400private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
25401 problem:LogicProblem, interpretation:PartialInterpretation,
25402 var_s, var_v)
25403{
23727 find interpretation(problem,interpretation); 25404 find interpretation(problem,interpretation);
23728 find mustInstanceOfModel_class_DefinedPart(problem,interpretation,root); 25405 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23729 find mustExist(problem, interpretation, root); 25406 find mayInstanceOfVertex_class(problem,interpretation,var_v);
25407 // s is exported
25408 // v is exported
25409 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
25410 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
25411 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
23730}or{ 25412}or{
23731 find interpretation(problem,interpretation); 25413 find interpretation(problem,interpretation);
23732 find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,root); 25414 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23733 find mustExist(problem, interpretation, root); 25415 find mayInstanceOfVertex_class(problem,interpretation,var_v);
25416 // s is exported
25417 // v is exported
25418 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
25419 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
25420 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
23734} 25421}
23735pattern createObject_Dir_class_by_root_reference_FileSystem( 25422private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(
23736 problem:LogicProblem, interpretation:PartialInterpretation, 25423 problem:LogicProblem, interpretation:PartialInterpretation,
23737 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 25424 var_s, var_v)
23738 container:DefinedElement)
23739{ 25425{
23740 find interpretation(problem,interpretation); 25426 find interpretation(problem,interpretation);
23741 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25427 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23742 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 25428 find mustInstanceOfVertex_class(problem,interpretation,var_v);
23743 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 25429 // s is exported
23744 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"root reference FileSystem"); 25430 // v is exported
23745 find mustInstanceOfFileSystem_class(problem,interpretation,container); 25431 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_v,var_s);
23746 find mayInstanceOfDir_class(problem,interpretation,newObject); 25432 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
23747 find mayInRelationroot_reference_FileSystem(problem,interpretation,container,newObject); 25433 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
23748 find mustExist(problem, interpretation, container); 25434}or{
23749 neg find mustExist(problem, interpretation, newObject); 25435 find interpretation(problem,interpretation);
25436 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
25437 find mustInstanceOfVertex_class(problem,interpretation,var_v);
25438 // s is exported
25439 // v is exported
25440 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_transition(problem,interpretation,_var__0,var_s,var_v);
25441 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_child(problem,interpretation,var_c,var_v);
25442 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(problem,interpretation,var_c);
23750} 25443}
23751pattern createObject_Dir_class_by_contents_reference_Dir_with_parent_reference_FSObject( 25444// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleRegions
25445private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
23752 problem:LogicProblem, interpretation:PartialInterpretation, 25446 problem:LogicProblem, interpretation:PartialInterpretation,
23753 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 25447 var_composite)
23754 container:DefinedElement)
23755{ 25448{
23756 find interpretation(problem,interpretation); 25449 find interpretation(problem,interpretation);
23757 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25450 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
23758 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 25451 // composite is exported
23759 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 25452 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
23760 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir"); 25453 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
23761 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 25454 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
23762 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject"); 25455 var_virtual0 == var_region1;
23763 find mustInstanceOfDir_class(problem,interpretation,container); 25456 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
23764 find mayInstanceOfDir_class(problem,interpretation,newObject); 25457 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
23765 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject); 25458 find mustInstanceOfRegion_class(problem,interpretation,var_virtual1);
23766 find mustExist(problem, interpretation, container); 25459 var_virtual1 == var_region2;
23767 neg find mustExist(problem, interpretation, newObject); 25460 neg find mayEquivalent(problem, interpretation, var_region1, var_region2);
23768} 25461}
23769pattern createObject_Dir_class_by_otherFSObjects_reference_Model( 25462private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
23770 problem:LogicProblem, interpretation:PartialInterpretation, 25463 problem:LogicProblem, interpretation:PartialInterpretation,
23771 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 25464 var_composite)
23772 container:DefinedElement)
23773{ 25465{
23774 find interpretation(problem,interpretation); 25466 find interpretation(problem,interpretation);
23775 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25467 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
23776 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 25468 // composite is exported
23777 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 25469 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
23778 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model"); 25470 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
23779 find mustInstanceOfModel_class(problem,interpretation,container); 25471 find mayInstanceOfRegion_class(problem,interpretation,var_virtual0);
23780 find mayInstanceOfDir_class(problem,interpretation,newObject); 25472 find mayEquivalent(problem, interpretation, var_virtual0, var_region1);
23781 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject); 25473 find mayInstanceOfCompositeElement_class(problem,interpretation,var_composite);
23782 find mustExist(problem, interpretation, container); 25474 find mayInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
23783 neg find mustExist(problem, interpretation, newObject); 25475 find mayInstanceOfRegion_class(problem,interpretation,var_virtual1);
25476 find mayEquivalent(problem, interpretation, var_virtual1, var_region2);
25477 var_region1 != var_region2;
23784} 25478}
23785pattern createObject_Dir_class( 25479private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleRegions(
23786 problem:LogicProblem, interpretation:PartialInterpretation, 25480 problem:LogicProblem, interpretation:PartialInterpretation,
23787 typeInterpretation:PartialComplexTypeInterpretation) 25481 var_composite)
23788{ 25482{
23789 find interpretation(problem,interpretation); 25483 find interpretation(problem,interpretation);
23790 neg find hasElementInContainment(problem,interpretation); 25484 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
23791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25485 // composite is exported
23792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 25486 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
23793 find mayInstanceOfDir_class(problem,interpretation,newObject); 25487 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual0);
23794 find mayExist(problem, interpretation, newObject); 25488 find mustInstanceOfRegion_class(problem,interpretation,var_virtual0);
23795 neg find mustExist(problem, interpretation, newObject); 25489 var_virtual0 == var_region1;
25490 find mustInstanceOfCompositeElement_class(problem,interpretation,var_composite);
25491 find mustInRelationregions_reference_CompositeElement(problem,interpretation,var_composite,var_virtual1);
25492 find mustInstanceOfRegion_class(problem,interpretation,var_virtual1);
25493 var_virtual1 == var_region2;
25494 var_region1 != var_region2;
23796} 25495}
23797pattern createObject_File_class_by_contents_reference_Dir_with_parent_reference_FSObject( 25496// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchThree
25497private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
23798 problem:LogicProblem, interpretation:PartialInterpretation, 25498 problem:LogicProblem, interpretation:PartialInterpretation,
23799 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 25499 var_s)
23800 container:DefinedElement)
23801{ 25500{
23802 find interpretation(problem,interpretation); 25501 find interpretation(problem,interpretation);
23803 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25502 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23804 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 25503 // s is exported
23805 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 25504 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
23806 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir"); 25505 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
23807 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 25506 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
23808 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject"); 25507 var_virtual0 == var_s;
23809 find mustInstanceOfDir_class(problem,interpretation,container); 25508 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
23810 find mayInstanceOfFile_class(problem,interpretation,newObject); 25509 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
23811 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject); 25510 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
23812 find mustExist(problem, interpretation, container); 25511 var_virtual1 == var_s;
23813 neg find mustExist(problem, interpretation, newObject); 25512 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
25513 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
25514 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
25515 var_virtual2 == var_s;
25516 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
25517 neg find mayEquivalent(problem, interpretation, var_t2, var_t3);
25518 neg find mayEquivalent(problem, interpretation, var_t1, var_t3);
25519}or{
25520 find interpretation(problem,interpretation);
25521 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
25522 // s is exported
25523 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
25524 find mustInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
25525 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
25526 var_virtual0 == var_s;
25527 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
25528 find mustInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
25529 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
25530 var_virtual1 == var_s;
25531 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
25532 find mustInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
25533 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
25534 var_virtual2 == var_s;
25535 neg find mayEquivalent(problem, interpretation, var_t1, var_t2);
25536 neg find mayEquivalent(problem, interpretation, var_t2, var_t3);
25537 neg find mayEquivalent(problem, interpretation, var_t1, var_t3);
23814} 25538}
23815pattern createObject_File_class_by_otherFSObjects_reference_Model( 25539private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
23816 problem:LogicProblem, interpretation:PartialInterpretation, 25540 problem:LogicProblem, interpretation:PartialInterpretation,
23817 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 25541 var_s)
23818 container:DefinedElement)
23819{ 25542{
23820 find interpretation(problem,interpretation); 25543 find interpretation(problem,interpretation);
23821 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25544 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
23822 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 25545 // s is exported
23823 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 25546 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
23824 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model"); 25547 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
23825 find mustInstanceOfModel_class(problem,interpretation,container); 25548 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
23826 find mayInstanceOfFile_class(problem,interpretation,newObject); 25549 find mayEquivalent(problem, interpretation, var_virtual0, var_s);
23827 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject); 25550 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
23828 find mustExist(problem, interpretation, container); 25551 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
23829 neg find mustExist(problem, interpretation, newObject); 25552 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
25553 find mayEquivalent(problem, interpretation, var_virtual1, var_s);
25554 find mayInstanceOfTransition_class(problem,interpretation,var_t3);
25555 find mayInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
25556 find mayInstanceOfVertex_class(problem,interpretation,var_virtual2);
25557 find mayEquivalent(problem, interpretation, var_virtual2, var_s);
25558 var_t1 != var_t2;
25559 var_t2 != var_t3;
25560 var_t1 != var_t3;
25561}or{
25562 find interpretation(problem,interpretation);
25563 find mayInstanceOfSynchronization_class(problem,interpretation,var_s);
25564 // s is exported
25565 find mayInstanceOfTransition_class(problem,interpretation,var_t1);
25566 find mayInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
25567 find mayInstanceOfVertex_class(problem,interpretation,var_virtual0);
25568 find mayEquivalent(problem, interpretation, var_virtual0, var_s);
25569 find mayInstanceOfTransition_class(problem,interpretation,var_t2);
25570 find mayInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
25571 find mayInstanceOfVertex_class(problem,interpretation,var_virtual1);
25572 find mayEquivalent(problem, interpretation, var_virtual1, var_s);
25573 find mayInstanceOfTransition_class(problem,interpretation,var_t3);
25574 find mayInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
25575 find mayInstanceOfVertex_class(problem,interpretation,var_virtual2);
25576 find mayEquivalent(problem, interpretation, var_virtual2, var_s);
25577 var_t1 != var_t2;
25578 var_t2 != var_t3;
25579 var_t1 != var_t3;
23830} 25580}
23831pattern createObject_File_class( 25581private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(
23832 problem:LogicProblem, interpretation:PartialInterpretation, 25582 problem:LogicProblem, interpretation:PartialInterpretation,
23833 typeInterpretation:PartialComplexTypeInterpretation) 25583 var_s)
23834{ 25584{
23835 find interpretation(problem,interpretation); 25585 find interpretation(problem,interpretation);
23836 neg find hasElementInContainment(problem,interpretation); 25586 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
23837 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25587 // s is exported
23838 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 25588 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
23839 find mayInstanceOfFile_class(problem,interpretation,newObject); 25589 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t1,var_virtual0);
23840 find mayExist(problem, interpretation, newObject); 25590 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
23841 neg find mustExist(problem, interpretation, newObject); 25591 var_virtual0 == var_s;
25592 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
25593 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t2,var_virtual1);
25594 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
25595 var_virtual1 == var_s;
25596 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
25597 find mustInRelationtarget_reference_Transition(problem,interpretation,var_t3,var_virtual2);
25598 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
25599 var_virtual2 == var_s;
25600 var_t1 != var_t2;
25601 var_t2 != var_t3;
25602 var_t1 != var_t3;
25603}or{
25604 find interpretation(problem,interpretation);
25605 find mustInstanceOfSynchronization_class(problem,interpretation,var_s);
25606 // s is exported
25607 find mustInstanceOfTransition_class(problem,interpretation,var_t1);
25608 find mustInRelationsource_reference_Transition(problem,interpretation,var_t1,var_virtual0);
25609 find mustInstanceOfVertex_class(problem,interpretation,var_virtual0);
25610 var_virtual0 == var_s;
25611 find mustInstanceOfTransition_class(problem,interpretation,var_t2);
25612 find mustInRelationsource_reference_Transition(problem,interpretation,var_t2,var_virtual1);
25613 find mustInstanceOfVertex_class(problem,interpretation,var_virtual1);
25614 var_virtual1 == var_s;
25615 find mustInstanceOfTransition_class(problem,interpretation,var_t3);
25616 find mustInRelationsource_reference_Transition(problem,interpretation,var_t3,var_virtual2);
25617 find mustInstanceOfVertex_class(problem,interpretation,var_virtual2);
25618 var_virtual2 == var_s;
25619 var_t1 != var_t2;
25620 var_t2 != var_t3;
25621 var_t1 != var_t3;
23842} 25622}
23843pattern createObject_Model_class_UndefinedPart( 25623// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries twoSynch
25624private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
23844 problem:LogicProblem, interpretation:PartialInterpretation, 25625 problem:LogicProblem, interpretation:PartialInterpretation,
23845 typeInterpretation:PartialComplexTypeInterpretation) 25626 var_s1, var_s2)
23846{ 25627{
23847 find interpretation(problem,interpretation); 25628 find interpretation(problem,interpretation);
23848 neg find hasElementInContainment(problem,interpretation); 25629 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
23849 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25630 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
23850 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Model class UndefinedPart"); 25631 // s1 is exported
23851 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,newObject); 25632 // s2 is exported
23852 find mayExist(problem, interpretation, newObject); 25633 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
23853 neg find mustExist(problem, interpretation, newObject); 25634 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
25635 neg find mayEquivalent(problem, interpretation, var_s1, var_s2);
23854} 25636}
23855pattern createObject_FileSystem_class_by_filesystems_reference_Model( 25637private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
23856 problem:LogicProblem, interpretation:PartialInterpretation, 25638 problem:LogicProblem, interpretation:PartialInterpretation,
23857 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 25639 var_s1, var_s2)
23858 container:DefinedElement)
23859{ 25640{
23860 find interpretation(problem,interpretation); 25641 find interpretation(problem,interpretation);
23861 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25642 find mayInstanceOfSynchronization_class(problem,interpretation,var_s1);
23862 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class"); 25643 find mayInstanceOfSynchronization_class(problem,interpretation,var_s2);
23863 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 25644 // s1 is exported
23864 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"filesystems reference Model"); 25645 // s2 is exported
23865 find mustInstanceOfModel_class(problem,interpretation,container); 25646 find mayInstanceOfSynchronization_class(problem,interpretation,var_s1);
23866 find mayInstanceOfFileSystem_class(problem,interpretation,newObject); 25647 find mayInstanceOfSynchronization_class(problem,interpretation,var_s2);
23867 find mayInRelationfilesystems_reference_Model(problem,interpretation,container,newObject); 25648 var_s1 != var_s2;
23868 find mustExist(problem, interpretation, container);
23869 neg find mustExist(problem, interpretation, newObject);
23870} 25649}
23871pattern createObject_FileSystem_class( 25650private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(
23872 problem:LogicProblem, interpretation:PartialInterpretation, 25651 problem:LogicProblem, interpretation:PartialInterpretation,
23873 typeInterpretation:PartialComplexTypeInterpretation) 25652 var_s1, var_s2)
23874{ 25653{
23875 find interpretation(problem,interpretation); 25654 find interpretation(problem,interpretation);
23876 neg find hasElementInContainment(problem,interpretation); 25655 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
23877 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25656 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
23878 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class"); 25657 // s1 is exported
23879 find mayInstanceOfFileSystem_class(problem,interpretation,newObject); 25658 // s2 is exported
23880 find mayExist(problem, interpretation, newObject); 25659 find mustInstanceOfSynchronization_class(problem,interpretation,var_s1);
23881 neg find mustExist(problem, interpretation, newObject); 25660 find mustInstanceOfSynchronization_class(problem,interpretation,var_s2);
25661 var_s1 != var_s2;
23882} 25662}
23883 25663
23884////////// 25664//////////
23885// 4.2 Type refinement 25665// 1.4 Containment Indexer
23886////////// 25666//////////
23887pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 25667private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
23888 find interpretation(problem,interpretation); 25668 find mustContains4(_,_,source,target);
23889 PartialInterpretation.newElements(interpretation,element);
23890 find mayInstanceOfDir_class(problem,interpretation,element);
23891 neg find mustInstanceOfDir_class(problem,interpretation,element);
23892 neg find mustInstanceOfFile_class(problem,interpretation,element);
23893 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23894 neg find mustInstanceOfModel_class(problem,interpretation,element);
23895}
23896pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
23897 find interpretation(problem,interpretation);
23898 PartialInterpretation.newElements(interpretation,element);
23899 find mayInstanceOfFile_class(problem,interpretation,element);
23900 neg find mustInstanceOfDir_class(problem,interpretation,element);
23901 neg find mustInstanceOfFile_class(problem,interpretation,element);
23902 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23903 neg find mustInstanceOfModel_class(problem,interpretation,element);
23904}
23905pattern refineTypeTo_Model_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
23906 find interpretation(problem,interpretation);
23907 PartialInterpretation.newElements(interpretation,element);
23908 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
23909 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
23910 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23911 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
23912}
23913pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
23914 find interpretation(problem,interpretation);
23915 PartialInterpretation.newElements(interpretation,element);
23916 find mayInstanceOfFileSystem_class(problem,interpretation,element);
23917 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
23918 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
23919 neg find mustInstanceOfModel_class(problem,interpretation,element);
23920} 25669}
25670
25671private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
25672 source: DefinedElement, target: DefinedElement)
25673 { find mustInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,source,target); }or
25674
25675 { find mustInRelationvertices_reference_Region(problem,interpretation,source,target); }or
25676
25677 { find mustInRelationregions_reference_CompositeElement(problem,interpretation,source,target); }
23921 25678
23922////////// 25679private pattern mustTransitiveContains(source,target) {
23923// 4.3 Relation refinement 25680 find mustContains2+(source,target);
23924//////////
23925pattern refineRelation_live_reference_FileSystem(
23926 problem:LogicProblem, interpretation:PartialInterpretation,
23927 relationIterpretation:PartialRelationInterpretation,
23928 from: DefinedElement, to: DefinedElement)
23929{
23930 find interpretation(problem,interpretation);
23931 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
23932 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"live reference FileSystem");
23933 find mustExist(problem, interpretation, from);
23934 find mustExist(problem, interpretation, to);
23935 find mustInstanceOfFileSystem_class(problem,interpretation,from);
23936 find mustInstanceOfFSObject_class(problem,interpretation,to);
23937 find mayInRelationlive_reference_FileSystem(problem,interpretation,from,to);
23938 neg find mustInRelationlive_reference_FileSystem(problem,interpretation,from,to);
23939} 25681}
23940import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
23941import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
23942import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
23943 25682
23944////////// 25683//////////
23945// 0. Util 25684// 2. Invalidation Indexers
23946////////// 25685//////////
23947private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { 25686// 2.1 Invalidated by WF Queries
23948 PartialInterpretation.problem(interpretation,problem); 25687//////////
23949} 25688pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
23950 25689 var_r1)
23951///////////////////////// 25690{
23952// 0.1 Existence 25691 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem,interpretation,var_r1);
23953/////////////////////////
23954private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
23955 find interpretation(problem,interpretation);
23956 LogicProblem.elements(problem,element);
23957} or {
23958 find interpretation(problem,interpretation);
23959 PartialInterpretation.newElements(interpretation,element);
23960}
23961
23962private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
23963 find mustExist(problem,interpretation,element);
23964} or {
23965 find interpretation(problem,interpretation);
23966 neg find elementCloseWorld(element);
23967 PartialInterpretation.openWorldElements(interpretation,element);
23968} 25692}
23969 25693pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
23970private pattern elementCloseWorld(element:DefinedElement) { 25694 var_r)
23971 PartialInterpretation.openWorldElements(i,element); 25695{
23972 PartialInterpretation.maxNewElements(i,0); 25696 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem,interpretation,var_r);
23973} or {
23974 Scope.targetTypeInterpretation(scope,interpretation);
23975 PartialTypeInterpratation.elements(interpretation,element);
23976 Scope.maxNewElements(scope,0);
23977} 25697}
23978 25698pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem:LogicProblem, interpretation:PartialInterpretation,
23979//////////////////////// 25699 var_t, var_e)
23980// 0.2 Equivalence 25700{
23981//////////////////////// 25701 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem,interpretation,var_t,var_e);
23982pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
23983 find mayExist(problem,interpretation,a);
23984 find mayExist(problem,interpretation,b);
23985 a == b;
23986} 25702}
23987 25703pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
23988//////////////////////// 25704 var_e)
23989// 0.3 Required Patterns by TypeIndexer 25705{
23990//////////////////////// 25706 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem,interpretation,var_e);
23991private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
23992 find interpretation(problem,interpretation);
23993 LogicProblem.types(problem,type);
23994 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
23995 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
23996} 25707}
23997 25708pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
23998private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { 25709 var_e, var_t1, var_t2)
23999 find interpretation(problem,interpretation); 25710{
24000 LogicProblem.types(problem,type); 25711 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem,interpretation,var_e,var_t1,var_t2);
24001 TypeDefinition.elements(type,element);
24002} or {
24003 find interpretation(problem,interpretation);
24004 find typeInterpretation(problem,interpretation,type,typeInterpretation);
24005 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
24006} 25712}
24007 25713pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem:LogicProblem, interpretation:PartialInterpretation,
24008private pattern isPrimitive(element: PrimitiveElement) { 25714 var_t, var_e)
24009 PrimitiveElement(element); 25715{
25716 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem,interpretation,var_t,var_e);
24010} 25717}
24011 25718pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem:LogicProblem, interpretation:PartialInterpretation,
24012////////// 25719 var_t, var_f)
24013// 1. Problem-Specific Base Indexers 25720{
24014////////// 25721 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem,interpretation,var_t,var_f);
24015// 1.1 Type Indexers
24016//////////
24017// 1.1.1 primitive Type Indexers
24018//////////
24019
24020//////////
24021// 1.1.2 domain-specific Type Indexers
24022//////////
24023/**
24024 * An element must be an instance of type "FileSystem class".
24025 */
24026private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24027 Type.name(type,"FileSystem class");
24028 find directInstanceOf(problem,interpretation,element,type);
24029} 25722}
24030private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { 25723pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
24031 find interpretation(problem,interpretation); 25724 var_region)
24032 PartialInterpretation.scopes(interpretation,scope); 25725{
24033 Scope.targetTypeInterpretation(scope,typeInterpretation); 25726 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem,interpretation,var_region);
24034 Scope.maxNewElements(scope,0);
24035 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
24036 Type.name(type,"FileSystem class");
24037} 25727}
24038 25728pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
24039/** 25729 var_c)
24040 * An element may be an instance of type "FileSystem class".
24041 */
24042private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
24043{ 25730{
24044 find interpretation(problem,interpretation); 25731 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem,interpretation,var_c);
24045 PartialInterpretation.newElements(interpretation,element);
24046 neg find mustInstanceOfModel_class(problem,interpretation,element);
24047 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
24048 neg find scopeDisallowsNewFileSystem_class(problem, interpretation);
24049 neg find isPrimitive(element);
24050} or {
24051 find interpretation(problem,interpretation);
24052 PartialInterpretation.openWorldElements(interpretation,element);
24053 neg find mustInstanceOfModel_class(problem,interpretation,element);
24054 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
24055 neg find scopeDisallowsNewFileSystem_class(problem, interpretation);
24056 neg find isPrimitive(element);
24057} or
24058{ find mustInstanceOfFileSystem_class(problem,interpretation,element); }
24059/**
24060 * An element must be an instance of type "FSObject class".
24061 */
24062private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24063 Type.name(type,"FSObject class");
24064 find directInstanceOf(problem,interpretation,element,type);
24065} 25732}
24066private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { 25733pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
24067 find interpretation(problem,interpretation); 25734 var_c)
24068 PartialInterpretation.scopes(interpretation,scope); 25735{
24069 Scope.targetTypeInterpretation(scope,typeInterpretation); 25736 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem,interpretation,var_c);
24070 Scope.maxNewElements(scope,0);
24071 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
24072 Type.name(type,"FSObject class");
24073} 25737}
24074 25738pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
24075/** 25739 var_s)
24076 * An element may be an instance of type "FSObject class".
24077 */
24078private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
24079{ 25740{
24080 find interpretation(problem,interpretation); 25741 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem,interpretation,var_s);
24081 PartialInterpretation.newElements(interpretation,element);
24082 neg find mustInstanceOfDir_class(problem,interpretation,element);
24083 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24084 neg find mustInstanceOfFile_class(problem,interpretation,element);
24085 neg find mustInstanceOfModel_class(problem,interpretation,element);
24086 neg find scopeDisallowsNewFSObject_class(problem, interpretation);
24087 neg find isPrimitive(element);
24088} or {
24089 find interpretation(problem,interpretation);
24090 PartialInterpretation.openWorldElements(interpretation,element);
24091 neg find mustInstanceOfDir_class(problem,interpretation,element);
24092 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24093 neg find mustInstanceOfFile_class(problem,interpretation,element);
24094 neg find mustInstanceOfModel_class(problem,interpretation,element);
24095 neg find scopeDisallowsNewFSObject_class(problem, interpretation);
24096 neg find isPrimitive(element);
24097} or
24098{ find mustInstanceOfFSObject_class(problem,interpretation,element); }
24099/**
24100 * An element must be an instance of type "Dir class".
24101 */
24102private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24103 Type.name(type,"Dir class");
24104 find directInstanceOf(problem,interpretation,element,type);
24105} 25742}
24106private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { 25743pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
24107 find interpretation(problem,interpretation); 25744 var_s)
24108 PartialInterpretation.scopes(interpretation,scope); 25745{
24109 Scope.targetTypeInterpretation(scope,typeInterpretation); 25746 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem,interpretation,var_s);
24110 Scope.maxNewElements(scope,0);
24111 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
24112 Type.name(type,"Dir class");
24113} 25747}
24114 25748pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem:LogicProblem, interpretation:PartialInterpretation,
24115/** 25749 var_s, var_v1, var_v2)
24116 * An element may be an instance of type "Dir class".
24117 */
24118private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
24119{ 25750{
24120 find interpretation(problem,interpretation); 25751 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem,interpretation,var_s,var_v1,var_v2);
24121 PartialInterpretation.newElements(interpretation,element);
24122 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24123 neg find mustInstanceOfFile_class(problem,interpretation,element);
24124 neg find mustInstanceOfModel_class(problem,interpretation,element);
24125 neg find scopeDisallowsNewDir_class(problem, interpretation);
24126 neg find isPrimitive(element);
24127} or {
24128 find interpretation(problem,interpretation);
24129 PartialInterpretation.openWorldElements(interpretation,element);
24130 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24131 neg find mustInstanceOfFile_class(problem,interpretation,element);
24132 neg find mustInstanceOfModel_class(problem,interpretation,element);
24133 neg find scopeDisallowsNewDir_class(problem, interpretation);
24134 neg find isPrimitive(element);
24135} or
24136{ find mustInstanceOfDir_class(problem,interpretation,element); }
24137/**
24138 * An element must be an instance of type "File class".
24139 */
24140private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24141 Type.name(type,"File class");
24142 find directInstanceOf(problem,interpretation,element,type);
24143} 25752}
24144private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { 25753pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem:LogicProblem, interpretation:PartialInterpretation,
24145 find interpretation(problem,interpretation); 25754 var_s)
24146 PartialInterpretation.scopes(interpretation,scope); 25755{
24147 Scope.targetTypeInterpretation(scope,typeInterpretation); 25756 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem,interpretation,var_s);
24148 Scope.maxNewElements(scope,0);
24149 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
24150 Type.name(type,"File class");
24151} 25757}
24152 25758pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem:LogicProblem, interpretation:PartialInterpretation,
24153/** 25759 var_s, var_v1, var_v2)
24154 * An element may be an instance of type "File class".
24155 */
24156private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
24157{ 25760{
24158 find interpretation(problem,interpretation); 25761 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem,interpretation,var_s,var_v1,var_v2);
24159 PartialInterpretation.newElements(interpretation,element);
24160 neg find mustInstanceOfDir_class(problem,interpretation,element);
24161 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24162 neg find mustInstanceOfModel_class(problem,interpretation,element);
24163 neg find scopeDisallowsNewFile_class(problem, interpretation);
24164 neg find isPrimitive(element);
24165} or {
24166 find interpretation(problem,interpretation);
24167 PartialInterpretation.openWorldElements(interpretation,element);
24168 neg find mustInstanceOfDir_class(problem,interpretation,element);
24169 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24170 neg find mustInstanceOfModel_class(problem,interpretation,element);
24171 neg find scopeDisallowsNewFile_class(problem, interpretation);
24172 neg find isPrimitive(element);
24173} or
24174{ find mustInstanceOfFile_class(problem,interpretation,element); }
24175/**
24176 * An element must be an instance of type "Model class".
24177 */
24178private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24179 Type.name(type,"Model class");
24180 find directInstanceOf(problem,interpretation,element,type);
24181} 25762}
24182private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { 25763pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem:LogicProblem, interpretation:PartialInterpretation,
24183 find interpretation(problem,interpretation); 25764 var_s, var_v)
24184 PartialInterpretation.scopes(interpretation,scope); 25765{
24185 Scope.targetTypeInterpretation(scope,typeInterpretation); 25766 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem,interpretation,var_s,var_v);
24186 Scope.maxNewElements(scope,0);
24187 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
24188 Type.name(type,"Model class");
24189} 25767}
24190 25768pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem:LogicProblem, interpretation:PartialInterpretation,
24191/** 25769 var_s)
24192 * An element may be an instance of type "Model class".
24193 */
24194private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
24195{ 25770{
24196 find interpretation(problem,interpretation); 25771 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem,interpretation,var_s);
24197 PartialInterpretation.newElements(interpretation,element);
24198 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24199 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
24200 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
24201 neg find scopeDisallowsNewModel_class(problem, interpretation);
24202 neg find isPrimitive(element);
24203} or {
24204 find interpretation(problem,interpretation);
24205 PartialInterpretation.openWorldElements(interpretation,element);
24206 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24207 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element);
24208 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
24209 neg find scopeDisallowsNewModel_class(problem, interpretation);
24210 neg find isPrimitive(element);
24211} or
24212{ find mustInstanceOfModel_class(problem,interpretation,element); }
24213/**
24214 * An element must be an instance of type "Model class DefinedPart".
24215 */
24216private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24217 Type.name(type,"Model class DefinedPart");
24218 find directInstanceOf(problem,interpretation,element,type);
24219} 25772}
24220private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { 25773pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem:LogicProblem, interpretation:PartialInterpretation,
24221 find interpretation(problem,interpretation); 25774 var_s1, var_s2)
24222 PartialInterpretation.scopes(interpretation,scope); 25775{
24223 Scope.targetTypeInterpretation(scope,typeInterpretation); 25776 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem,interpretation,var_s1,var_s2);
24224 Scope.maxNewElements(scope,0);
24225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
24226 Type.name(type,"Model class DefinedPart");
24227} 25777}
24228 25778
24229/** 25779//////////
24230 * An element may be an instance of type "Model class DefinedPart". 25780// 3. Unfinishedness Indexers
24231 */ 25781//////////
24232private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 25782// 3.1 Unfinishedness Measured by Multiplicity
24233{ find mustInstanceOfModel_class_DefinedPart(problem,interpretation,element); } 25783//////////
24234/** 25784pattern unfinishedLowerMultiplicity_target_reference_Transition(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
24235 * An element must be an instance of type "Model class UndefinedPart".
24236 */
24237private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24238 Type.name(type,"Model class UndefinedPart");
24239 find directInstanceOf(problem,interpretation,element,type);
24240}
24241private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
24242 find interpretation(problem,interpretation); 25785 find interpretation(problem,interpretation);
24243 PartialInterpretation.scopes(interpretation,scope); 25786 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
24244 Scope.targetTypeInterpretation(scope,typeInterpretation); 25787 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference Transition");
24245 Scope.maxNewElements(scope,0); 25788 find mustInstanceOfTransition_class(problem,interpretation,object);
24246 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 25789 numberOfExistingReferences == count find mustInRelationtarget_reference_Transition(problem,interpretation,object,_);
24247 Type.name(type,"Model class UndefinedPart"); 25790 check(numberOfExistingReferences < 1);
25791 missingMultiplicity == eval(1-numberOfExistingReferences);
24248} 25792}
24249 25793
24250/**
24251 * An element may be an instance of type "Model class UndefinedPart".
24252 */
24253private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
24254{
24255 find interpretation(problem,interpretation);
24256 PartialInterpretation.newElements(interpretation,element);
24257 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24258 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
24259 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation);
24260 neg find isPrimitive(element);
24261} or {
24262 find interpretation(problem,interpretation);
24263 PartialInterpretation.openWorldElements(interpretation,element);
24264 neg find mustInstanceOfFileSystem_class(problem,interpretation,element);
24265 neg find mustInstanceOfFSObject_class(problem,interpretation,element);
24266 neg find scopeDisallowsNewModel_class_UndefinedPart(problem, interpretation);
24267 neg find isPrimitive(element);
24268} or
24269{ find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); }
24270
24271////////// 25794//////////
24272// 1.2 Relation Declaration Indexers 25795// 3.2 Unfinishedness Measured by WF Queries
24273////////// 25796//////////
24274/** 25797pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
24275 * Matcher for detecting tuples t where []root reference FileSystem(source,target) 25798 var_r1)
24276 */
24277private pattern mustInRelationroot_reference_FileSystem(
24278 problem:LogicProblem, interpretation:PartialInterpretation,
24279 source: DefinedElement, target:DefinedElement)
24280{ 25799{
24281 find interpretation(problem,interpretation); 25800 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion(problem,interpretation,var_r1);
24282 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
24283 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem");
24284 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
24285 BinaryElementRelationLink.param1(link,source);
24286 BinaryElementRelationLink.param2(link,target);
24287} 25801}
24288/** 25802pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
24289 * Matcher for detecting tuples t where <>root reference FileSystem(source,target) 25803 var_r)
24290 */
24291private pattern mayInRelationroot_reference_FileSystem(
24292 problem:LogicProblem, interpretation:PartialInterpretation,
24293 source: DefinedElement, target:DefinedElement)
24294{ 25804{
24295 find interpretation(problem,interpretation); 25805 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem,interpretation,var_r);
24296 // The two endpoint of the link have to exist
24297 find mayExist(problem, interpretation, source);
24298 find mayExist(problem, interpretation, target);
24299 // Type consistency
24300 find mayInstanceOfFileSystem_class(problem,interpretation,source);
24301 find mayInstanceOfDir_class(problem,interpretation,target);
24302 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
24303 // the upper bound of the multiplicity should be considered.
24304 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,source,_);
24305 check(numberOfExistingReferences < 1);
24306 // The reference is containment, then a new reference cannot be create if:
24307 // 1. Multiple parents
24308 neg find mustContains4(problem,interpretation,_,target);
24309 // 2. Circle in the containment hierarchy
24310 neg find mustTransitiveContains(source,target);
24311} or {
24312 find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target);
24313} 25806}
24314/** 25807pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem:LogicProblem, interpretation:PartialInterpretation,
24315 * Matcher for detecting tuples t where []live reference FileSystem(source,target) 25808 var_t, var_e)
24316 */
24317 private pattern mustInRelationlive_reference_FileSystem(
24318 problem:LogicProblem, interpretation:PartialInterpretation,
24319 source: DefinedElement, target:DefinedElement)
24320 {
24321 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,source,target);
24322 }
24323/**
24324 * Matcher for detecting tuples t where []live reference FileSystem(source,target)
24325 */
24326 private pattern mayInRelationlive_reference_FileSystem(
24327 problem:LogicProblem, interpretation:PartialInterpretation,
24328 source: DefinedElement, target:DefinedElement)
24329 {
24330 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,source,target);
24331 }
24332/**
24333 * Matcher for detecting tuples t where []parent reference FSObject(source,target)
24334 */
24335private pattern mustInRelationparent_reference_FSObject(
24336 problem:LogicProblem, interpretation:PartialInterpretation,
24337 source: DefinedElement, target:DefinedElement)
24338{ 25809{
24339 find interpretation(problem,interpretation); 25810 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_incomingToEntry(problem,interpretation,var_t,var_e);
24340 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
24341 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parent reference FSObject");
24342 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
24343 BinaryElementRelationLink.param1(link,source);
24344 BinaryElementRelationLink.param2(link,target);
24345} 25811}
24346/** 25812pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
24347 * Matcher for detecting tuples t where <>parent reference FSObject(source,target) 25813 var_e)
24348 */
24349private pattern mayInRelationparent_reference_FSObject(
24350 problem:LogicProblem, interpretation:PartialInterpretation,
24351 source: DefinedElement, target:DefinedElement)
24352{ 25814{
24353 find interpretation(problem,interpretation); 25815 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noOutgoingTransitionFromEntry(problem,interpretation,var_e);
24354 // The two endpoint of the link have to exist
24355 find mayExist(problem, interpretation, source);
24356 find mayExist(problem, interpretation, target);
24357 // Type consistency
24358 find mayInstanceOfFSObject_class(problem,interpretation,source);
24359 find mayInstanceOfDir_class(problem,interpretation,target);
24360 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
24361 // the upper bound of the multiplicity should be considered.
24362 numberOfExistingReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,source,_);
24363 check(numberOfExistingReferences < 1);
24364 // The eOpposite of the reference is containment, then a referene cannot be created if
24365 // 1. Multiple parents
24366 neg find mustContains4(problem,interpretation,source,_);
24367 // 2. Circle in the containment hierarchy
24368 neg find mustTransitiveContains(source,target);
24369} or {
24370 find mustInRelationparent_reference_FSObject(problem,interpretation,source,target);
24371} 25816}
24372/** 25817pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation,
24373 * Matcher for detecting tuples t where []contents reference Dir(source,target) 25818 var_e, var_t1, var_t2)
24374 */
24375private pattern mustInRelationcontents_reference_Dir(
24376 problem:LogicProblem, interpretation:PartialInterpretation,
24377 source: DefinedElement, target:DefinedElement)
24378{ 25819{
24379 find interpretation(problem,interpretation); 25820 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem,interpretation,var_e,var_t1,var_t2);
24380 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
24381 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"contents reference Dir");
24382 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
24383 BinaryElementRelationLink.param1(link,source);
24384 BinaryElementRelationLink.param2(link,target);
24385} 25821}
24386/** 25822pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem:LogicProblem, interpretation:PartialInterpretation,
24387 * Matcher for detecting tuples t where <>contents reference Dir(source,target) 25823 var_t, var_e)
24388 */
24389private pattern mayInRelationcontents_reference_Dir(
24390 problem:LogicProblem, interpretation:PartialInterpretation,
24391 source: DefinedElement, target:DefinedElement)
24392{ 25824{
24393 find interpretation(problem,interpretation); 25825 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem,interpretation,var_t,var_e);
24394 // The two endpoint of the link have to exist
24395 find mayExist(problem, interpretation, source);
24396 find mayExist(problem, interpretation, target);
24397 // Type consistency
24398 find mayInstanceOfDir_class(problem,interpretation,source);
24399 find mayInstanceOfFSObject_class(problem,interpretation,target);
24400 // There are "numberOfExistingReferences" currently existing instances of the reference to the target,
24401 // the upper bound of the opposite reference multiplicity should be considered.
24402 numberOfExistingOppositeReferences == count find mustInRelationparent_reference_FSObject(problem,interpretation,target,_);
24403 check(numberOfExistingOppositeReferences < 1);
24404 // The reference is containment, then a new reference cannot be create if:
24405 // 1. Multiple parents
24406 neg find mustContains4(problem,interpretation,_,target);
24407 // 2. Circle in the containment hierarchy
24408 neg find mustTransitiveContains(source,target);
24409} or {
24410 find mustInRelationcontents_reference_Dir(problem,interpretation,source,target);
24411} 25826}
24412/** 25827pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem:LogicProblem, interpretation:PartialInterpretation,
24413 * Matcher for detecting tuples t where []filesystems reference Model(source,target) 25828 var_t, var_f)
24414 */
24415private pattern mustInRelationfilesystems_reference_Model(
24416 problem:LogicProblem, interpretation:PartialInterpretation,
24417 source: DefinedElement, target:DefinedElement)
24418{ 25829{
24419 find interpretation(problem,interpretation); 25830 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal(problem,interpretation,var_t,var_f);
24420 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
24421 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model");
24422 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
24423 BinaryElementRelationLink.param1(link,source);
24424 BinaryElementRelationLink.param2(link,target);
24425} 25831}
24426/** 25832pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem:LogicProblem, interpretation:PartialInterpretation,
24427 * Matcher for detecting tuples t where <>filesystems reference Model(source,target) 25833 var_region)
24428 */
24429private pattern mayInRelationfilesystems_reference_Model(
24430 problem:LogicProblem, interpretation:PartialInterpretation,
24431 source: DefinedElement, target:DefinedElement)
24432{ 25834{
24433 find interpretation(problem,interpretation); 25835 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion(problem,interpretation,var_region);
24434 // The two endpoint of the link have to exist
24435 find mayExist(problem, interpretation, source);
24436 find mayExist(problem, interpretation, target);
24437 // Type consistency
24438 find mayInstanceOfModel_class(problem,interpretation,source);
24439 find mayInstanceOfFileSystem_class(problem,interpretation,target);
24440 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
24441 // the upper bound of the multiplicity should be considered.
24442 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,source,_);
24443 check(numberOfExistingReferences < 1);
24444 // The reference is containment, then a new reference cannot be create if:
24445 // 1. Multiple parents
24446 neg find mustContains4(problem,interpretation,_,target);
24447 // 2. Circle in the containment hierarchy
24448 neg find mustTransitiveContains(source,target);
24449} or {
24450 find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target);
24451} 25836}
24452/** 25837pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
24453 * Matcher for detecting tuples t where []otherFSObjects reference Model(source,target) 25838 var_c)
24454 */
24455private pattern mustInRelationotherFSObjects_reference_Model(
24456 problem:LogicProblem, interpretation:PartialInterpretation,
24457 source: DefinedElement, target:DefinedElement)
24458{ 25839{
24459 find interpretation(problem,interpretation); 25840 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoOutgoing(problem,interpretation,var_c);
24460 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
24461 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"otherFSObjects reference Model");
24462 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
24463 BinaryElementRelationLink.param1(link,source);
24464 BinaryElementRelationLink.param2(link,target);
24465} 25841}
24466/** 25842pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
24467 * Matcher for detecting tuples t where <>otherFSObjects reference Model(source,target) 25843 var_c)
24468 */
24469private pattern mayInRelationotherFSObjects_reference_Model(
24470 problem:LogicProblem, interpretation:PartialInterpretation,
24471 source: DefinedElement, target:DefinedElement)
24472{ 25844{
24473 find interpretation(problem,interpretation); 25845 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_choiceHasNoIncoming(problem,interpretation,var_c);
24474 // The two endpoint of the link have to exist
24475 find mayExist(problem, interpretation, source);
24476 find mayExist(problem, interpretation, target);
24477 // Type consistency
24478 find mayInstanceOfModel_class(problem,interpretation,source);
24479 find mayInstanceOfFSObject_class(problem,interpretation,target);
24480 // The reference is containment, then a new reference cannot be create if:
24481 // 1. Multiple parents
24482 neg find mustContains4(problem,interpretation,_,target);
24483 // 2. Circle in the containment hierarchy
24484 neg find mustTransitiveContains(source,target);
24485} or {
24486 find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target);
24487} 25846}
24488 25847pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem:LogicProblem, interpretation:PartialInterpretation,
24489////////// 25848 var_s)
24490// 1.3 Relation Definition Indexers
24491//////////
24492// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries patternContent
24493private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(
24494 problem:LogicProblem, interpretation:PartialInterpretation,
24495 var_o1, var_o2)
24496{ 25849{
24497 find interpretation(problem,interpretation); 25850 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoOutgoing(problem,interpretation,var_s);
24498 find mustInstanceOfFSObject_class(problem,interpretation,var_o1);
24499 find mustInstanceOfFSObject_class(problem,interpretation,var_o2);
24500 // o1 is exported
24501 // o2 is exported
24502 find mustInstanceOfDir_class(problem,interpretation,var_o1);
24503 find mustInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
24504 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24505 var_virtual0 == var_o2;
24506} 25851}
24507private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( 25852pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem:LogicProblem, interpretation:PartialInterpretation,
24508 problem:LogicProblem, interpretation:PartialInterpretation, 25853 var_s)
24509 var_o1, var_o2)
24510{ 25854{
24511 find interpretation(problem,interpretation); 25855 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchHasNoIncoming(problem,interpretation,var_s);
24512 find mayInstanceOfFSObject_class(problem,interpretation,var_o1);
24513 find mayInstanceOfFSObject_class(problem,interpretation,var_o2);
24514 // o1 is exported
24515 // o2 is exported
24516 find mayInstanceOfDir_class(problem,interpretation,var_o1);
24517 find mayInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
24518 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24519 find mayEquivalent(problem, interpretation, var_virtual0, var_o2);
24520} 25856}
24521private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( 25857pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem:LogicProblem, interpretation:PartialInterpretation,
24522 problem:LogicProblem, interpretation:PartialInterpretation, 25858 var_s, var_v1, var_v2)
24523 var_o1, var_o2)
24524{ 25859{
24525 find interpretation(problem,interpretation); 25860 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion(problem,interpretation,var_s,var_v1,var_v2);
24526 find mustInstanceOfFSObject_class(problem,interpretation,var_o1);
24527 find mustInstanceOfFSObject_class(problem,interpretation,var_o2);
24528 // o1 is exported
24529 // o2 is exported
24530 find mustInstanceOfDir_class(problem,interpretation,var_o1);
24531 find mustInRelationcontents_reference_Dir(problem,interpretation,var_o1,var_virtual0);
24532 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24533 var_virtual0 == var_o2;
24534} 25861}
24535private pattern twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { 25862pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem:LogicProblem, interpretation:PartialInterpretation,
24536 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2); 25863 var_s)
25864{
25865 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates(problem,interpretation,var_s);
25866}
25867pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem:LogicProblem, interpretation:PartialInterpretation,
25868 var_s, var_v1, var_v2)
25869{
25870 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings(problem,interpretation,var_s,var_v1,var_v2);
24537} 25871}
24538private pattern twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { 25872pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem:LogicProblem, interpretation:PartialInterpretation,
24539 find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2); 25873 var_s, var_v)
25874{
25875 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionDoesNotHaveMultipleRegions(problem,interpretation,var_s,var_v);
24540} 25876}
24541private pattern twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { 25877pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem:LogicProblem, interpretation:PartialInterpretation,
24542 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(_,_,var_o1, var_o2); 25878 var_s)
25879{
25880 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_synchThree(problem,interpretation,var_s);
24543} 25881}
24544// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries live 25882pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem:LogicProblem, interpretation:PartialInterpretation,
24545private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live( 25883 var_s1, var_s2)
24546 problem:LogicProblem, interpretation:PartialInterpretation, 25884{
24547 var_this, var_l) 25885 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem,interpretation,var_s1,var_s2);
25886}
25887
25888//////////
25889// 4. Refinement Indexers
25890//////////
25891// 4.1 Object constructors
25892//////////
25893private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
24548{ 25894{
24549 find interpretation(problem,interpretation); 25895 find interpretation(problem,interpretation);
24550 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25896 find mustInstanceOfState_class(problem,interpretation,root);
24551 find mustInstanceOfFSObject_class(problem,interpretation,var_l); 25897 find mustExist(problem, interpretation, root);
24552 // this is exported
24553 // l is exported
24554 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
24555 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
24556 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
24557 var_virtual0 == var_l;
24558}or{ 25898}or{
24559 find interpretation(problem,interpretation); 25899 find interpretation(problem,interpretation);
24560 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25900 find mustInstanceOfSynchronization_class(problem,interpretation,root);
24561 find mustInstanceOfFSObject_class(problem,interpretation,var_l); 25901 find mustExist(problem, interpretation, root);
24562 // this is exported
24563 // l is exported
24564 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
24565 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
24566 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
24567 var_virtual0 == var_root;
24568 find twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
24569}
24570private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(
24571 problem:LogicProblem, interpretation:PartialInterpretation,
24572 var_this, var_l)
24573{
24574 find interpretation(problem,interpretation);
24575 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
24576 find mayInstanceOfFSObject_class(problem,interpretation,var_l);
24577 // this is exported
24578 // l is exported
24579 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
24580 find mayInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
24581 find mayInstanceOfDir_class(problem,interpretation,var_virtual0);
24582 find mayEquivalent(problem, interpretation, var_virtual0, var_l);
24583}or{ 25902}or{
24584 find interpretation(problem,interpretation); 25903 find interpretation(problem,interpretation);
24585 find mayInstanceOfFileSystem_class(problem,interpretation,var_this); 25904 find mustInstanceOfRegion_class(problem,interpretation,root);
24586 find mayInstanceOfFSObject_class(problem,interpretation,var_l); 25905 find mustExist(problem, interpretation, root);
24587 // this is exported
24588 // l is exported
24589 find mayInstanceOfFileSystem_class(problem,interpretation,var_this);
24590 find mayInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
24591 find mayInstanceOfDir_class(problem,interpretation,var_virtual0);
24592 find mayEquivalent(problem, interpretation, var_virtual0, var_root);
24593 find twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
24594}
24595private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(
24596 problem:LogicProblem, interpretation:PartialInterpretation,
24597 var_this, var_l)
24598{
24599 find interpretation(problem,interpretation);
24600 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
24601 find mustInstanceOfFSObject_class(problem,interpretation,var_l);
24602 // this is exported
24603 // l is exported
24604 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
24605 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
24606 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
24607 var_virtual0 == var_l;
24608}or{ 25906}or{
24609 find interpretation(problem,interpretation); 25907 find interpretation(problem,interpretation);
24610 find mustInstanceOfFileSystem_class(problem,interpretation,var_this); 25908 find mustInstanceOfRegularState_class(problem,interpretation,root);
24611 find mustInstanceOfFSObject_class(problem,interpretation,var_l); 25909 find mustExist(problem, interpretation, root);
24612 // this is exported
24613 // l is exported
24614 find mustInstanceOfFileSystem_class(problem,interpretation,var_this);
24615 find mustInRelationroot_reference_FileSystem(problem,interpretation,var_this,var_virtual0);
24616 find mustInstanceOfDir_class(problem,interpretation,var_virtual0);
24617 var_virtual0 == var_root;
24618 find twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent+(var_root,var_l);
24619}
24620// Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test filesystem queries contentInNotLive
24621private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(
24622 problem:LogicProblem, interpretation:PartialInterpretation,
24623 var_parent, var_child)
24624{
24625 find interpretation(problem,interpretation);
24626 find mustInstanceOfDir_class(problem,interpretation,var_parent);
24627 find mustInstanceOfFSObject_class(problem,interpretation,var_child);
24628 // parent is exported
24629 // child is exported
24630 find mustInstanceOfDir_class(problem,interpretation,var_parent);
24631 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
24632 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24633 var_virtual0 == var_child;
24634 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
24635}or{ 25910}or{
24636 find interpretation(problem,interpretation); 25911 find interpretation(problem,interpretation);
24637 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25912 find mustInstanceOfPseudostate_class(problem,interpretation,root);
24638 find mustInstanceOfFSObject_class(problem,interpretation,var_child); 25913 find mustExist(problem, interpretation, root);
24639 // parent is exported
24640 // child is exported
24641 find mustInstanceOfDir_class(problem,interpretation,var_parent);
24642 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
24643 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24644 var_virtual0 == var_child;
24645 neg find mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
24646}
24647private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(
24648 problem:LogicProblem, interpretation:PartialInterpretation,
24649 var_parent, var_child)
24650{
24651 find interpretation(problem,interpretation);
24652 find mayInstanceOfDir_class(problem,interpretation,var_parent);
24653 find mayInstanceOfFSObject_class(problem,interpretation,var_child);
24654 // parent is exported
24655 // child is exported
24656 find mayInstanceOfDir_class(problem,interpretation,var_parent);
24657 find mayInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
24658 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24659 find mayEquivalent(problem, interpretation, var_virtual0, var_child);
24660 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
24661}or{ 25914}or{
24662 find interpretation(problem,interpretation); 25915 find interpretation(problem,interpretation);
24663 find mayInstanceOfDir_class(problem,interpretation,var_parent); 25916 find mustInstanceOfVertex_class(problem,interpretation,root);
24664 find mayInstanceOfFSObject_class(problem,interpretation,var_child); 25917 find mustExist(problem, interpretation, root);
24665 // parent is exported 25918}or{
24666 // child is exported
24667 find mayInstanceOfDir_class(problem,interpretation,var_parent);
24668 find mayInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
24669 find mayInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24670 find mayEquivalent(problem, interpretation, var_virtual0, var_child);
24671 neg find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
24672}
24673private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(
24674 problem:LogicProblem, interpretation:PartialInterpretation,
24675 var_parent, var_child)
24676{
24677 find interpretation(problem,interpretation); 25919 find interpretation(problem,interpretation);
24678 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25920 find mustInstanceOfStatechart_class(problem,interpretation,root);
24679 find mustInstanceOfFSObject_class(problem,interpretation,var_child); 25921 find mustExist(problem, interpretation, root);
24680 // parent is exported
24681 // child is exported
24682 find mustInstanceOfDir_class(problem,interpretation,var_parent);
24683 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
24684 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24685 var_virtual0 == var_child;
24686 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_parent);
24687}or{ 25922}or{
24688 find interpretation(problem,interpretation); 25923 find interpretation(problem,interpretation);
24689 find mustInstanceOfDir_class(problem,interpretation,var_parent); 25924 find mustInstanceOfEntry_class(problem,interpretation,root);
24690 find mustInstanceOfFSObject_class(problem,interpretation,var_child); 25925 find mustExist(problem, interpretation, root);
24691 // parent is exported 25926}or{
24692 // child is exported
24693 find mustInstanceOfDir_class(problem,interpretation,var_parent);
24694 find mustInRelationcontents_reference_Dir(problem,interpretation,var_parent,var_virtual0);
24695 find mustInstanceOfFSObject_class(problem,interpretation,var_virtual0);
24696 var_virtual0 == var_child;
24697 neg find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live(problem,interpretation,_var__0,var_child);
24698}
24699
24700//////////
24701// 1.4 Containment Indexer
24702//////////
24703private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
24704 find mustContains4(_,_,source,target);
24705}
24706
24707private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
24708 source: DefinedElement, target: DefinedElement)
24709 { find mustInRelationroot_reference_FileSystem(problem,interpretation,source,target); }or
24710
24711 { find mustInRelationcontents_reference_Dir(problem,interpretation,source,target); }or
24712
24713 { find mustInRelationfilesystems_reference_Model(problem,interpretation,source,target); }or
24714
24715 { find mustInRelationotherFSObjects_reference_Model(problem,interpretation,source,target); }
24716
24717private pattern mustTransitiveContains(source,target) {
24718 find mustContains2+(source,target);
24719}
24720
24721//////////
24722// 2. Invalidation Indexers
24723//////////
24724// 2.1 Invalidated by WF Queries
24725//////////
24726pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem:LogicProblem, interpretation:PartialInterpretation,
24727 var_parent, var_child)
24728{
24729 find mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem,interpretation,var_parent,var_child);
24730}
24731
24732//////////
24733// 3. Unfinishedness Indexers
24734//////////
24735// 3.1 Unfinishedness Measured by Multiplicity
24736//////////
24737pattern unfinishedLowerMultiplicity_root_reference_FileSystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
24738 find interpretation(problem,interpretation); 25927 find interpretation(problem,interpretation);
24739 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 25928 find mustInstanceOfTransition_class(problem,interpretation,root);
24740 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"root reference FileSystem"); 25929 find mustExist(problem, interpretation, root);
24741 find mustInstanceOfFileSystem_class(problem,interpretation,object); 25930}or{
24742 numberOfExistingReferences == count find mustInRelationroot_reference_FileSystem(problem,interpretation,object,_);
24743 check(numberOfExistingReferences < 1);
24744 missingMultiplicity == eval(1-numberOfExistingReferences);
24745}
24746pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
24747 find interpretation(problem,interpretation); 25931 find interpretation(problem,interpretation);
24748 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 25932 find mustInstanceOfChoice_class(problem,interpretation,root);
24749 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"filesystems reference Model"); 25933 find mustExist(problem, interpretation, root);
24750 find mustInstanceOfModel_class(problem,interpretation,object); 25934}or{
24751 numberOfExistingReferences == count find mustInRelationfilesystems_reference_Model(problem,interpretation,object,_);
24752 check(numberOfExistingReferences < 1);
24753 missingMultiplicity == eval(1-numberOfExistingReferences);
24754}
24755
24756//////////
24757// 3.2 Unfinishedness Measured by WF Queries
24758//////////
24759pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem:LogicProblem, interpretation:PartialInterpretation,
24760 var_parent, var_child)
24761{
24762 find currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive(problem,interpretation,var_parent,var_child);
24763}
24764
24765//////////
24766// 4. Refinement Indexers
24767//////////
24768// 4.1 Object constructors
24769//////////
24770private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
24771{
24772 find interpretation(problem,interpretation); 25935 find interpretation(problem,interpretation);
24773 find mustInstanceOfModel_class(problem,interpretation,root); 25936 find mustInstanceOfExit_class(problem,interpretation,root);
24774 find mustExist(problem, interpretation, root); 25937 find mustExist(problem, interpretation, root);
24775}or{ 25938}or{
24776 find interpretation(problem,interpretation); 25939 find interpretation(problem,interpretation);
24777 find mustInstanceOfFile_class(problem,interpretation,root); 25940 find mustInstanceOfCompositeElement_class(problem,interpretation,root);
24778 find mustExist(problem, interpretation, root); 25941 find mustExist(problem, interpretation, root);
24779}or{ 25942}or{
24780 find interpretation(problem,interpretation); 25943 find interpretation(problem,interpretation);
24781 find mustInstanceOfFSObject_class(problem,interpretation,root); 25944 find mustInstanceOfFinalState_class(problem,interpretation,root);
24782 find mustExist(problem, interpretation, root); 25945 find mustExist(problem, interpretation, root);
24783}or{ 25946}or{
24784 find interpretation(problem,interpretation); 25947 find interpretation(problem,interpretation);
24785 find mustInstanceOfFileSystem_class(problem,interpretation,root); 25948 find mustInstanceOfStatechart_class_DefinedPart(problem,interpretation,root);
24786 find mustExist(problem, interpretation, root); 25949 find mustExist(problem, interpretation, root);
24787}or{ 25950}or{
24788 find interpretation(problem,interpretation); 25951 find interpretation(problem,interpretation);
24789 find mustInstanceOfDir_class(problem,interpretation,root); 25952 find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,root);
24790 find mustExist(problem, interpretation, root); 25953 find mustExist(problem, interpretation, root);
24791}or{ 25954}or{
24792 find interpretation(problem,interpretation); 25955 find interpretation(problem,interpretation);
24793 find mustInstanceOfModel_class_DefinedPart(problem,interpretation,root); 25956 find mustInstanceOfCompositeElement_class_DefinedPart(problem,interpretation,root);
24794 find mustExist(problem, interpretation, root); 25957 find mustExist(problem, interpretation, root);
24795}or{ 25958}or{
24796 find interpretation(problem,interpretation); 25959 find interpretation(problem,interpretation);
24797 find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,root); 25960 find mustInstanceOfCompositeElement_class_UndefinedPart(problem,interpretation,root);
24798 find mustExist(problem, interpretation, root); 25961 find mustExist(problem, interpretation, root);
24799} 25962}
24800pattern createObject_Dir_class_by_root_reference_FileSystem( 25963pattern createObject_Statechart_class_UndefinedPart(
25964 problem:LogicProblem, interpretation:PartialInterpretation,
25965 typeInterpretation:PartialComplexTypeInterpretation)
25966{
25967 find interpretation(problem,interpretation);
25968 neg find hasElementInContainment(problem,interpretation);
25969 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
25970 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Statechart class UndefinedPart");
25971 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,newObject);
25972 find mayExist(problem, interpretation, newObject);
25973 neg find mustExist(problem, interpretation, newObject);
25974}
25975pattern createObject_Exit_class_by_vertices_reference_Region(
24801 problem:LogicProblem, interpretation:PartialInterpretation, 25976 problem:LogicProblem, interpretation:PartialInterpretation,
24802 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 25977 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
24803 container:DefinedElement) 25978 container:DefinedElement)
24804{ 25979{
24805 find interpretation(problem,interpretation); 25980 find interpretation(problem,interpretation);
24806 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 25981 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24807 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 25982 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
24808 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 25983 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
24809 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"root reference FileSystem"); 25984 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
24810 find mustInstanceOfFileSystem_class(problem,interpretation,container); 25985 find mustInstanceOfRegion_class(problem,interpretation,container);
24811 find mayInstanceOfDir_class(problem,interpretation,newObject); 25986 find mayInstanceOfExit_class(problem,interpretation,newObject);
24812 find mayInRelationroot_reference_FileSystem(problem,interpretation,container,newObject); 25987 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
24813 find mustExist(problem, interpretation, container); 25988 find mustExist(problem, interpretation, container);
24814 neg find mustExist(problem, interpretation, newObject); 25989 neg find mustExist(problem, interpretation, newObject);
24815} 25990}
24816pattern createObject_Dir_class_by_contents_reference_Dir_with_parent_reference_FSObject( 25991pattern createObject_Exit_class(
25992 problem:LogicProblem, interpretation:PartialInterpretation,
25993 typeInterpretation:PartialComplexTypeInterpretation)
25994{
25995 find interpretation(problem,interpretation);
25996 neg find hasElementInContainment(problem,interpretation);
25997 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
25998 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Exit class");
25999 find mayInstanceOfExit_class(problem,interpretation,newObject);
26000 find mayExist(problem, interpretation, newObject);
26001 neg find mustExist(problem, interpretation, newObject);
26002}
26003pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition(
24817 problem:LogicProblem, interpretation:PartialInterpretation, 26004 problem:LogicProblem, interpretation:PartialInterpretation,
24818 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 26005 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
24819 container:DefinedElement) 26006 container:DefinedElement)
24820{ 26007{
24821 find interpretation(problem,interpretation); 26008 find interpretation(problem,interpretation);
24822 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26009 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24823 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 26010 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
24824 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 26011 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
24825 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir"); 26012 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"outgoingTransitions reference Vertex");
24826 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 26013 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation);
24827 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject"); 26014 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"source reference Transition");
24828 find mustInstanceOfDir_class(problem,interpretation,container); 26015 find mustInstanceOfVertex_class(problem,interpretation,container);
24829 find mayInstanceOfDir_class(problem,interpretation,newObject); 26016 find mayInstanceOfTransition_class(problem,interpretation,newObject);
24830 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject); 26017 find mayInRelationoutgoingTransitions_reference_Vertex(problem,interpretation,container,newObject);
24831 find mustExist(problem, interpretation, container); 26018 find mustExist(problem, interpretation, container);
24832 neg find mustExist(problem, interpretation, newObject); 26019 neg find mustExist(problem, interpretation, newObject);
24833} 26020}
24834pattern createObject_Dir_class_by_otherFSObjects_reference_Model( 26021pattern createObject_Transition_class(
26022 problem:LogicProblem, interpretation:PartialInterpretation,
26023 typeInterpretation:PartialComplexTypeInterpretation)
26024{
26025 find interpretation(problem,interpretation);
26026 neg find hasElementInContainment(problem,interpretation);
26027 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
26028 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Transition class");
26029 find mayInstanceOfTransition_class(problem,interpretation,newObject);
26030 find mayExist(problem, interpretation, newObject);
26031 neg find mustExist(problem, interpretation, newObject);
26032}
26033pattern createObject_State_class_by_vertices_reference_Region(
26034 problem:LogicProblem, interpretation:PartialInterpretation,
26035 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
26036 container:DefinedElement)
26037{
26038 find interpretation(problem,interpretation);
26039 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
26040 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
26041 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
26042 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
26043 find mustInstanceOfRegion_class(problem,interpretation,container);
26044 find mayInstanceOfState_class(problem,interpretation,newObject);
26045 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
26046 find mustExist(problem, interpretation, container);
26047 neg find mustExist(problem, interpretation, newObject);
26048}
26049pattern createObject_State_class(
26050 problem:LogicProblem, interpretation:PartialInterpretation,
26051 typeInterpretation:PartialComplexTypeInterpretation)
26052{
26053 find interpretation(problem,interpretation);
26054 neg find hasElementInContainment(problem,interpretation);
26055 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
26056 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"State class");
26057 find mayInstanceOfState_class(problem,interpretation,newObject);
26058 find mayExist(problem, interpretation, newObject);
26059 neg find mustExist(problem, interpretation, newObject);
26060}
26061pattern createObject_Choice_class_by_vertices_reference_Region(
24835 problem:LogicProblem, interpretation:PartialInterpretation, 26062 problem:LogicProblem, interpretation:PartialInterpretation,
24836 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 26063 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
24837 container:DefinedElement) 26064 container:DefinedElement)
24838{ 26065{
24839 find interpretation(problem,interpretation); 26066 find interpretation(problem,interpretation);
24840 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26067 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24841 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 26068 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
24842 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 26069 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
24843 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model"); 26070 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
24844 find mustInstanceOfModel_class(problem,interpretation,container); 26071 find mustInstanceOfRegion_class(problem,interpretation,container);
24845 find mayInstanceOfDir_class(problem,interpretation,newObject); 26072 find mayInstanceOfChoice_class(problem,interpretation,newObject);
24846 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject); 26073 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
24847 find mustExist(problem, interpretation, container); 26074 find mustExist(problem, interpretation, container);
24848 neg find mustExist(problem, interpretation, newObject); 26075 neg find mustExist(problem, interpretation, newObject);
24849} 26076}
24850pattern createObject_Dir_class( 26077pattern createObject_Choice_class(
24851 problem:LogicProblem, interpretation:PartialInterpretation, 26078 problem:LogicProblem, interpretation:PartialInterpretation,
24852 typeInterpretation:PartialComplexTypeInterpretation) 26079 typeInterpretation:PartialComplexTypeInterpretation)
24853{ 26080{
24854 find interpretation(problem,interpretation); 26081 find interpretation(problem,interpretation);
24855 neg find hasElementInContainment(problem,interpretation); 26082 neg find hasElementInContainment(problem,interpretation);
24856 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26083 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24857 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Dir class"); 26084 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Choice class");
24858 find mayInstanceOfDir_class(problem,interpretation,newObject); 26085 find mayInstanceOfChoice_class(problem,interpretation,newObject);
24859 find mayExist(problem, interpretation, newObject); 26086 find mayExist(problem, interpretation, newObject);
24860 neg find mustExist(problem, interpretation, newObject); 26087 neg find mustExist(problem, interpretation, newObject);
24861} 26088}
24862pattern createObject_FileSystem_class_by_filesystems_reference_Model( 26089pattern createObject_Entry_class_by_vertices_reference_Region(
24863 problem:LogicProblem, interpretation:PartialInterpretation, 26090 problem:LogicProblem, interpretation:PartialInterpretation,
24864 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 26091 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
24865 container:DefinedElement) 26092 container:DefinedElement)
24866{ 26093{
24867 find interpretation(problem,interpretation); 26094 find interpretation(problem,interpretation);
24868 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26095 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24869 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class"); 26096 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
24870 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 26097 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
24871 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"filesystems reference Model"); 26098 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
24872 find mustInstanceOfModel_class(problem,interpretation,container); 26099 find mustInstanceOfRegion_class(problem,interpretation,container);
24873 find mayInstanceOfFileSystem_class(problem,interpretation,newObject); 26100 find mayInstanceOfEntry_class(problem,interpretation,newObject);
24874 find mayInRelationfilesystems_reference_Model(problem,interpretation,container,newObject); 26101 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
24875 find mustExist(problem, interpretation, container); 26102 find mustExist(problem, interpretation, container);
24876 neg find mustExist(problem, interpretation, newObject); 26103 neg find mustExist(problem, interpretation, newObject);
24877} 26104}
24878pattern createObject_FileSystem_class( 26105pattern createObject_Entry_class(
24879 problem:LogicProblem, interpretation:PartialInterpretation, 26106 problem:LogicProblem, interpretation:PartialInterpretation,
24880 typeInterpretation:PartialComplexTypeInterpretation) 26107 typeInterpretation:PartialComplexTypeInterpretation)
24881{ 26108{
24882 find interpretation(problem,interpretation); 26109 find interpretation(problem,interpretation);
24883 neg find hasElementInContainment(problem,interpretation); 26110 neg find hasElementInContainment(problem,interpretation);
24884 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26111 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24885 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FileSystem class"); 26112 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Entry class");
24886 find mayInstanceOfFileSystem_class(problem,interpretation,newObject); 26113 find mayInstanceOfEntry_class(problem,interpretation,newObject);
24887 find mayExist(problem, interpretation, newObject); 26114 find mayExist(problem, interpretation, newObject);
24888 neg find mustExist(problem, interpretation, newObject); 26115 neg find mustExist(problem, interpretation, newObject);
24889} 26116}
24890pattern createObject_Model_class_UndefinedPart( 26117pattern createObject_FinalState_class_by_vertices_reference_Region(
26118 problem:LogicProblem, interpretation:PartialInterpretation,
26119 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
26120 container:DefinedElement)
26121{
26122 find interpretation(problem,interpretation);
26123 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
26124 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
26125 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
26126 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
26127 find mustInstanceOfRegion_class(problem,interpretation,container);
26128 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
26129 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
26130 find mustExist(problem, interpretation, container);
26131 neg find mustExist(problem, interpretation, newObject);
26132}
26133pattern createObject_FinalState_class(
24891 problem:LogicProblem, interpretation:PartialInterpretation, 26134 problem:LogicProblem, interpretation:PartialInterpretation,
24892 typeInterpretation:PartialComplexTypeInterpretation) 26135 typeInterpretation:PartialComplexTypeInterpretation)
24893{ 26136{
24894 find interpretation(problem,interpretation); 26137 find interpretation(problem,interpretation);
24895 neg find hasElementInContainment(problem,interpretation); 26138 neg find hasElementInContainment(problem,interpretation);
24896 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26139 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24897 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Model class UndefinedPart"); 26140 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"FinalState class");
24898 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,newObject); 26141 find mayInstanceOfFinalState_class(problem,interpretation,newObject);
24899 find mayExist(problem, interpretation, newObject); 26142 find mayExist(problem, interpretation, newObject);
24900 neg find mustExist(problem, interpretation, newObject); 26143 neg find mustExist(problem, interpretation, newObject);
24901} 26144}
24902pattern createObject_File_class_by_contents_reference_Dir_with_parent_reference_FSObject( 26145pattern createObject_Region_class_by_regions_reference_CompositeElement(
24903 problem:LogicProblem, interpretation:PartialInterpretation, 26146 problem:LogicProblem, interpretation:PartialInterpretation,
24904 relationInterpretation:PartialRelationInterpretation, inverseInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 26147 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
24905 container:DefinedElement) 26148 container:DefinedElement)
24906{ 26149{
24907 find interpretation(problem,interpretation); 26150 find interpretation(problem,interpretation);
24908 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26151 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24909 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 26152 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
24910 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 26153 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
24911 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"contents reference Dir"); 26154 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"regions reference CompositeElement");
24912 PartialInterpretation.partialrelationinterpretation(interpretation,inverseInterpretation); 26155 find mustInstanceOfCompositeElement_class(problem,interpretation,container);
24913 PartialRelationInterpretation.interpretationOf.name(inverseInterpretation,"parent reference FSObject"); 26156 find mayInstanceOfRegion_class(problem,interpretation,newObject);
24914 find mustInstanceOfDir_class(problem,interpretation,container); 26157 find mayInRelationregions_reference_CompositeElement(problem,interpretation,container,newObject);
24915 find mayInstanceOfFile_class(problem,interpretation,newObject);
24916 find mayInRelationcontents_reference_Dir(problem,interpretation,container,newObject);
24917 find mustExist(problem, interpretation, container); 26158 find mustExist(problem, interpretation, container);
24918 neg find mustExist(problem, interpretation, newObject); 26159 neg find mustExist(problem, interpretation, newObject);
24919} 26160}
24920pattern createObject_File_class_by_otherFSObjects_reference_Model( 26161pattern createObject_Region_class(
26162 problem:LogicProblem, interpretation:PartialInterpretation,
26163 typeInterpretation:PartialComplexTypeInterpretation)
26164{
26165 find interpretation(problem,interpretation);
26166 neg find hasElementInContainment(problem,interpretation);
26167 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
26168 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Region class");
26169 find mayInstanceOfRegion_class(problem,interpretation,newObject);
26170 find mayExist(problem, interpretation, newObject);
26171 neg find mustExist(problem, interpretation, newObject);
26172}
26173pattern createObject_Synchronization_class_by_vertices_reference_Region(
24921 problem:LogicProblem, interpretation:PartialInterpretation, 26174 problem:LogicProblem, interpretation:PartialInterpretation,
24922 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 26175 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
24923 container:DefinedElement) 26176 container:DefinedElement)
24924{ 26177{
24925 find interpretation(problem,interpretation); 26178 find interpretation(problem,interpretation);
24926 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26179 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24927 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 26180 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
24928 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 26181 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
24929 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"otherFSObjects reference Model"); 26182 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"vertices reference Region");
24930 find mustInstanceOfModel_class(problem,interpretation,container); 26183 find mustInstanceOfRegion_class(problem,interpretation,container);
24931 find mayInstanceOfFile_class(problem,interpretation,newObject); 26184 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
24932 find mayInRelationotherFSObjects_reference_Model(problem,interpretation,container,newObject); 26185 find mayInRelationvertices_reference_Region(problem,interpretation,container,newObject);
24933 find mustExist(problem, interpretation, container); 26186 find mustExist(problem, interpretation, container);
24934 neg find mustExist(problem, interpretation, newObject); 26187 neg find mustExist(problem, interpretation, newObject);
24935} 26188}
24936pattern createObject_File_class( 26189pattern createObject_Synchronization_class(
24937 problem:LogicProblem, interpretation:PartialInterpretation, 26190 problem:LogicProblem, interpretation:PartialInterpretation,
24938 typeInterpretation:PartialComplexTypeInterpretation) 26191 typeInterpretation:PartialComplexTypeInterpretation)
24939{ 26192{
24940 find interpretation(problem,interpretation); 26193 find interpretation(problem,interpretation);
24941 neg find hasElementInContainment(problem,interpretation); 26194 neg find hasElementInContainment(problem,interpretation);
24942 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 26195 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
24943 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"File class"); 26196 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Synchronization class");
24944 find mayInstanceOfFile_class(problem,interpretation,newObject); 26197 find mayInstanceOfSynchronization_class(problem,interpretation,newObject);
24945 find mayExist(problem, interpretation, newObject); 26198 find mayExist(problem, interpretation, newObject);
24946 neg find mustExist(problem, interpretation, newObject); 26199 neg find mustExist(problem, interpretation, newObject);
24947} 26200}
@@ -24949,56 +26202,124 @@ pattern createObject_File_class(
24949////////// 26202//////////
24950// 4.2 Type refinement 26203// 4.2 Type refinement
24951////////// 26204//////////
24952pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 26205pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
26206 find interpretation(problem,interpretation);
26207 PartialInterpretation.newElements(interpretation,element);
26208 find mayInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
26209 neg find mustInstanceOfStatechart_class_UndefinedPart(problem,interpretation,element);
26210 neg find mustInstanceOfTransition_class(problem,interpretation,element);
26211 neg find mustInstanceOfVertex_class(problem,interpretation,element);
26212 neg find mustInstanceOfRegion_class(problem,interpretation,element);
26213}
26214pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
26215 find interpretation(problem,interpretation);
26216 PartialInterpretation.newElements(interpretation,element);
26217 find mayInstanceOfExit_class(problem,interpretation,element);
26218 neg find mustInstanceOfExit_class(problem,interpretation,element);
26219 neg find mustInstanceOfTransition_class(problem,interpretation,element);
26220 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
26221 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
26222 neg find mustInstanceOfChoice_class(problem,interpretation,element);
26223 neg find mustInstanceOfEntry_class(problem,interpretation,element);
26224 neg find mustInstanceOfRegion_class(problem,interpretation,element);
26225 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
26226}
26227pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
24953 find interpretation(problem,interpretation); 26228 find interpretation(problem,interpretation);
24954 PartialInterpretation.newElements(interpretation,element); 26229 PartialInterpretation.newElements(interpretation,element);
24955 find mayInstanceOfDir_class(problem,interpretation,element); 26230 find mayInstanceOfTransition_class(problem,interpretation,element);
24956 neg find mustInstanceOfDir_class(problem,interpretation,element); 26231 neg find mustInstanceOfTransition_class(problem,interpretation,element);
24957 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 26232 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
24958 neg find mustInstanceOfFile_class(problem,interpretation,element); 26233 neg find mustInstanceOfVertex_class(problem,interpretation,element);
24959 neg find mustInstanceOfModel_class(problem,interpretation,element); 26234 neg find mustInstanceOfRegion_class(problem,interpretation,element);
24960} 26235}
24961pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 26236pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
24962 find interpretation(problem,interpretation); 26237 find interpretation(problem,interpretation);
24963 PartialInterpretation.newElements(interpretation,element); 26238 PartialInterpretation.newElements(interpretation,element);
24964 find mayInstanceOfFileSystem_class(problem,interpretation,element); 26239 find mayInstanceOfState_class(problem,interpretation,element);
24965 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 26240 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
24966 neg find mustInstanceOfModel_class(problem,interpretation,element); 26241 neg find mustInstanceOfTransition_class(problem,interpretation,element);
24967 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 26242 neg find mustInstanceOfStatechart_class(problem,interpretation,element);
26243 neg find mustInstanceOfState_class(problem,interpretation,element);
26244 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
26245 neg find mustInstanceOfRegion_class(problem,interpretation,element);
24968} 26246}
24969pattern refineTypeTo_Model_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 26247pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
24970 find interpretation(problem,interpretation); 26248 find interpretation(problem,interpretation);
24971 PartialInterpretation.newElements(interpretation,element); 26249 PartialInterpretation.newElements(interpretation,element);
24972 find mayInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 26250 find mayInstanceOfChoice_class(problem,interpretation,element);
24973 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 26251 neg find mustInstanceOfExit_class(problem,interpretation,element);
24974 neg find mustInstanceOfModel_class_UndefinedPart(problem,interpretation,element); 26252 neg find mustInstanceOfTransition_class(problem,interpretation,element);
24975 neg find mustInstanceOfFSObject_class(problem,interpretation,element); 26253 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
26254 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
26255 neg find mustInstanceOfChoice_class(problem,interpretation,element);
26256 neg find mustInstanceOfEntry_class(problem,interpretation,element);
26257 neg find mustInstanceOfRegion_class(problem,interpretation,element);
26258 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
24976} 26259}
24977pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 26260pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
24978 find interpretation(problem,interpretation); 26261 find interpretation(problem,interpretation);
24979 PartialInterpretation.newElements(interpretation,element); 26262 PartialInterpretation.newElements(interpretation,element);
24980 find mayInstanceOfFile_class(problem,interpretation,element); 26263 find mayInstanceOfEntry_class(problem,interpretation,element);
24981 neg find mustInstanceOfDir_class(problem,interpretation,element); 26264 neg find mustInstanceOfExit_class(problem,interpretation,element);
24982 neg find mustInstanceOfFileSystem_class(problem,interpretation,element); 26265 neg find mustInstanceOfTransition_class(problem,interpretation,element);
24983 neg find mustInstanceOfFile_class(problem,interpretation,element); 26266 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
24984 neg find mustInstanceOfModel_class(problem,interpretation,element); 26267 neg find mustInstanceOfChoice_class(problem,interpretation,element);
26268 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
26269 neg find mustInstanceOfEntry_class(problem,interpretation,element);
26270 neg find mustInstanceOfRegion_class(problem,interpretation,element);
26271 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
26272}
26273pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
26274 find interpretation(problem,interpretation);
26275 PartialInterpretation.newElements(interpretation,element);
26276 find mayInstanceOfFinalState_class(problem,interpretation,element);
26277 neg find mustInstanceOfPseudostate_class(problem,interpretation,element);
26278 neg find mustInstanceOfTransition_class(problem,interpretation,element);
26279 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
26280 neg find mustInstanceOfFinalState_class(problem,interpretation,element);
26281 neg find mustInstanceOfRegion_class(problem,interpretation,element);
26282}
26283pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
26284 find interpretation(problem,interpretation);
26285 PartialInterpretation.newElements(interpretation,element);
26286 find mayInstanceOfRegion_class(problem,interpretation,element);
26287 neg find mustInstanceOfTransition_class(problem,interpretation,element);
26288 neg find mustInstanceOfVertex_class(problem,interpretation,element);
26289 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
26290 neg find mustInstanceOfRegion_class(problem,interpretation,element);
26291}
26292pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
26293 find interpretation(problem,interpretation);
26294 PartialInterpretation.newElements(interpretation,element);
26295 find mayInstanceOfSynchronization_class(problem,interpretation,element);
26296 neg find mustInstanceOfExit_class(problem,interpretation,element);
26297 neg find mustInstanceOfTransition_class(problem,interpretation,element);
26298 neg find mustInstanceOfRegularState_class(problem,interpretation,element);
26299 neg find mustInstanceOfCompositeElement_class(problem,interpretation,element);
26300 neg find mustInstanceOfChoice_class(problem,interpretation,element);
26301 neg find mustInstanceOfEntry_class(problem,interpretation,element);
26302 neg find mustInstanceOfRegion_class(problem,interpretation,element);
26303 neg find mustInstanceOfSynchronization_class(problem,interpretation,element);
24985} 26304}
24986 26305
24987////////// 26306//////////
24988// 4.3 Relation refinement 26307// 4.3 Relation refinement
24989////////// 26308//////////
24990pattern refineRelation_live_reference_FileSystem( 26309pattern refineRelation_incomingTransitions_reference_Vertex_and_target_reference_Transition(
24991 problem:LogicProblem, interpretation:PartialInterpretation, 26310 problem:LogicProblem, interpretation:PartialInterpretation,
24992 relationIterpretation:PartialRelationInterpretation, 26311 relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation,
24993 from: DefinedElement, to: DefinedElement) 26312 from: DefinedElement, to: DefinedElement)
24994{ 26313{
24995 find interpretation(problem,interpretation); 26314 find interpretation(problem,interpretation);
24996 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 26315 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
24997 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"live reference FileSystem"); 26316 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"incomingTransitions reference Vertex");
26317 PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation);
26318 PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"target reference Transition");
24998 find mustExist(problem, interpretation, from); 26319 find mustExist(problem, interpretation, from);
24999 find mustExist(problem, interpretation, to); 26320 find mustExist(problem, interpretation, to);
25000 find mustInstanceOfFileSystem_class(problem,interpretation,from); 26321 find mustInstanceOfVertex_class(problem,interpretation,from);
25001 find mustInstanceOfFSObject_class(problem,interpretation,to); 26322 find mustInstanceOfTransition_class(problem,interpretation,to);
25002 find mayInRelationlive_reference_FileSystem(problem,interpretation,from,to); 26323 find mayInRelationincomingTransitions_reference_Vertex(problem,interpretation,from,to);
25003 neg find mustInRelationlive_reference_FileSystem(problem,interpretation,from,to); 26324 neg find mustInRelationincomingTransitions_reference_Vertex(problem,interpretation,from,to);
25004} 26325}
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generation.logicproblem b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generation.logicproblem
index 991c88fd..2079fe25 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generation.logicproblem
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/generation.logicproblem
@@ -1,23 +1,33 @@
1<?xml version="1.0" encoding="ASCII"?> 1<?xml version="1.0" encoding="ASCII"?>
2<language:LogicProblem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" xmlns:language_1="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:viatra2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation"> 2<language:LogicProblem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" xmlns:language_1="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:viatra2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation">
3 <types xsi:type="language_1:TypeDeclaration" name="FileSystem class"/> 3 <types xsi:type="language_1:TypeDeclaration" name="Pseudostate class" subtypes="//@types.5 //@types.6 //@types.10 //@types.11" supertypes="//@types.1" isAbstract="true"/>
4 <types xsi:type="language_1:TypeDeclaration" name="FSObject class" subtypes="//@types.2 //@types.3" isAbstract="true"/> 4 <types xsi:type="language_1:TypeDeclaration" name="Vertex class" subtypes="//@types.0 //@types.8" isAbstract="true"/>
5 <types xsi:type="language_1:TypeDeclaration" name="Dir class" supertypes="//@types.1"/> 5 <types xsi:type="language_1:TypeDeclaration" name="Region class"/>
6 <types xsi:type="language_1:TypeDeclaration" name="File class" supertypes="//@types.1"/> 6 <types xsi:type="language_1:TypeDeclaration" name="Transition class"/>
7 <types xsi:type="language_1:TypeDeclaration" name="Model class" subtypes="//@types.5 //@types.6" isAbstract="true"/> 7 <types xsi:type="language_1:TypeDeclaration" name="Statechart class" subtypes="//@types.13 //@types.14" supertypes="//@types.9" isAbstract="true"/>
8 <types xsi:type="language_1:TypeDefinition" name="Model class DefinedPart" supertypes="//@types.4" elements="//@elements.0"/> 8 <types xsi:type="language_1:TypeDeclaration" name="Entry class" supertypes="//@types.0"/>
9 <types xsi:type="language_1:TypeDeclaration" name="Model class UndefinedPart" supertypes="//@types.4"/> 9 <types xsi:type="language_1:TypeDeclaration" name="Synchronization class" supertypes="//@types.0"/>
10 <assertions name="lowerMultiplicity root FileSystem" annotations="//@annotations.0"> 10 <types xsi:type="language_1:TypeDeclaration" name="State class" supertypes="//@types.8 //@types.9 //@types.16"/>
11 <types xsi:type="language_1:TypeDeclaration" name="RegularState class" subtypes="//@types.7 //@types.12" supertypes="//@types.1" isAbstract="true"/>
12 <types xsi:type="language_1:TypeDeclaration" name="CompositeElement class" subtypes="//@types.4 //@types.7 //@types.15 //@types.16" isAbstract="true"/>
13 <types xsi:type="language_1:TypeDeclaration" name="Choice class" supertypes="//@types.0"/>
14 <types xsi:type="language_1:TypeDeclaration" name="Exit class" supertypes="//@types.0"/>
15 <types xsi:type="language_1:TypeDeclaration" name="FinalState class" supertypes="//@types.8"/>
16 <types xsi:type="language_1:TypeDefinition" name="Statechart class DefinedPart" supertypes="//@types.4 //@types.15" elements="//@elements.0"/>
17 <types xsi:type="language_1:TypeDeclaration" name="Statechart class UndefinedPart" supertypes="//@types.4 //@types.16"/>
18 <types xsi:type="language_1:TypeDefinition" name="CompositeElement class DefinedPart" subtypes="//@types.13" supertypes="//@types.9" isAbstract="true" elements="//@elements.0"/>
19 <types xsi:type="language_1:TypeDeclaration" name="CompositeElement class UndefinedPart" subtypes="//@types.14 //@types.7" supertypes="//@types.9" isAbstract="true"/>
20 <assertions name="lowerMultiplicity target Transition" annotations="//@annotations.0">
11 <value xsi:type="language_1:Forall"> 21 <value xsi:type="language_1:Forall">
12 <quantifiedVariables name="src"> 22 <quantifiedVariables name="src">
13 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 23 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
14 </quantifiedVariables> 24 </quantifiedVariables>
15 <expression xsi:type="language_1:Exists"> 25 <expression xsi:type="language_1:Exists">
16 <quantifiedVariables name="trg 1"> 26 <quantifiedVariables name="trg 1">
17 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 27 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
18 </quantifiedVariables> 28 </quantifiedVariables>
19 <expression xsi:type="language_1:And"> 29 <expression xsi:type="language_1:And">
20 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 30 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
21 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.0/@value/@quantifiedVariables.0"/> 31 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.0/@value/@quantifiedVariables.0"/>
22 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.0/@value/@expression/@quantifiedVariables.0"/> 32 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.0/@value/@expression/@quantifiedVariables.0"/>
23 </operands> 33 </operands>
@@ -25,24 +35,24 @@
25 </expression> 35 </expression>
26 </value> 36 </value>
27 </assertions> 37 </assertions>
28 <assertions name="upperMultiplicity root FileSystem" annotations="//@annotations.1"> 38 <assertions name="upperMultiplicity target Transition" annotations="//@annotations.1">
29 <value xsi:type="language_1:Forall"> 39 <value xsi:type="language_1:Forall">
30 <quantifiedVariables name="src"> 40 <quantifiedVariables name="src">
31 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 41 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
32 </quantifiedVariables> 42 </quantifiedVariables>
33 <quantifiedVariables name="trg 1"> 43 <quantifiedVariables name="trg 1">
34 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 44 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
35 </quantifiedVariables> 45 </quantifiedVariables>
36 <quantifiedVariables name="trg 2"> 46 <quantifiedVariables name="trg 2">
37 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 47 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
38 </quantifiedVariables> 48 </quantifiedVariables>
39 <expression xsi:type="language_1:Impl"> 49 <expression xsi:type="language_1:Impl">
40 <leftOperand xsi:type="language_1:And"> 50 <leftOperand xsi:type="language_1:And">
41 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 51 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
42 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.0"/> 52 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.0"/>
43 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.1"/> 53 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.1"/>
44 </operands> 54 </operands>
45 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 55 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
46 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.0"/> 56 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.0"/>
47 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.2"/> 57 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.2"/>
48 </operands> 58 </operands>
@@ -56,24 +66,24 @@
56 </expression> 66 </expression>
57 </value> 67 </value>
58 </assertions> 68 </assertions>
59 <assertions name="upperMultiplicity parent FSObject" annotations="//@annotations.2"> 69 <assertions name="upperMultiplicity source Transition" annotations="//@annotations.2">
60 <value xsi:type="language_1:Forall"> 70 <value xsi:type="language_1:Forall">
61 <quantifiedVariables name="src"> 71 <quantifiedVariables name="src">
62 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 72 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
63 </quantifiedVariables> 73 </quantifiedVariables>
64 <quantifiedVariables name="trg 1"> 74 <quantifiedVariables name="trg 1">
65 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 75 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
66 </quantifiedVariables> 76 </quantifiedVariables>
67 <quantifiedVariables name="trg 2"> 77 <quantifiedVariables name="trg 2">
68 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 78 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
69 </quantifiedVariables> 79 </quantifiedVariables>
70 <expression xsi:type="language_1:Impl"> 80 <expression xsi:type="language_1:Impl">
71 <leftOperand xsi:type="language_1:And"> 81 <leftOperand xsi:type="language_1:And">
72 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 82 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
73 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/> 83 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/>
74 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.1"/> 84 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.1"/>
75 </operands> 85 </operands>
76 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 86 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
77 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/> 87 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/>
78 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.2"/> 88 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.2"/>
79 </operands> 89 </operands>
@@ -87,220 +97,1358 @@
87 </expression> 97 </expression>
88 </value> 98 </value>
89 </assertions> 99 </assertions>
90 <assertions name="lowerMultiplicity filesystems Model" annotations="//@annotations.3"> 100 <assertions name="oppositeReference incomingTransitions Vertex" annotations="//@annotations.3">
91 <value xsi:type="language_1:Forall"> 101 <value xsi:type="language_1:Forall">
92 <quantifiedVariables name="src"> 102 <quantifiedVariables name="src">
93 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 103 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
94 </quantifiedVariables> 104 </quantifiedVariables>
95 <expression xsi:type="language_1:Exists"> 105 <quantifiedVariables name="trg">
96 <quantifiedVariables name="trg 1"> 106 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
97 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 107 </quantifiedVariables>
98 </quantifiedVariables> 108 <expression xsi:type="language_1:Iff">
99 <expression xsi:type="language_1:And"> 109 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
100 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> 110 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
101 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/> 111 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.1"/>
102 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@expression/@quantifiedVariables.0"/> 112 </leftOperand>
103 </operands> 113 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
104 </expression> 114 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.1"/>
115 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
116 </rightOperand>
105 </expression> 117 </expression>
106 </value> 118 </value>
107 </assertions> 119 </assertions>
108 <assertions name="upperMultiplicity filesystems Model" annotations="//@annotations.4"> 120 <assertions name="oppositeReference outgoingTransitions Vertex" annotations="//@annotations.4">
109 <value xsi:type="language_1:Forall"> 121 <value xsi:type="language_1:Forall">
110 <quantifiedVariables name="src"> 122 <quantifiedVariables name="src">
111 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 123 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
112 </quantifiedVariables>
113 <quantifiedVariables name="trg 1">
114 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
115 </quantifiedVariables> 124 </quantifiedVariables>
116 <quantifiedVariables name="trg 2"> 125 <quantifiedVariables name="trg">
117 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 126 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
118 </quantifiedVariables> 127 </quantifiedVariables>
119 <expression xsi:type="language_1:Impl"> 128 <expression xsi:type="language_1:Iff">
120 <leftOperand xsi:type="language_1:And"> 129 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
121 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> 130 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.0"/>
122 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.0"/> 131 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.1"/>
123 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.1"/>
124 </operands>
125 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
126 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.0"/>
127 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.2"/>
128 </operands>
129 </leftOperand> 132 </leftOperand>
130 <rightOperand xsi:type="language_1:Not"> 133 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
131 <operand xsi:type="language_1:Distinct"> 134 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.1"/>
132 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.1"/> 135 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.0"/>
133 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.2"/>
134 </operand>
135 </rightOperand> 136 </rightOperand>
136 </expression> 137 </expression>
137 </value> 138 </value>
138 </assertions> 139 </assertions>
139 <assertions name="oppositeReference parent FSObject" annotations="//@annotations.5"> 140 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries noEntryInRegion" annotations="//@annotations.30">
140 <value xsi:type="language_1:Forall"> 141 <value xsi:type="language_1:Forall">
141 <quantifiedVariables name="src"> 142 <quantifiedVariables name="p0">
142 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
143 </quantifiedVariables>
144 <quantifiedVariables name="trg">
145 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 143 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
146 </quantifiedVariables> 144 </quantifiedVariables>
147 <expression xsi:type="language_1:Iff"> 145 <expression xsi:type="language_1:Not">
148 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 146 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
149 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.0"/>
150 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.1"/>
151 </leftOperand>
152 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
153 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.1"/>
154 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.0"/> 147 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.0"/>
155 </rightOperand> 148 </operand>
156 </expression> 149 </expression>
157 </value> 150 </value>
158 </assertions> 151 </assertions>
159 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test filesystem queries contentInNotLive" annotations="//@annotations.9"> 152 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleEntryInRegion" annotations="//@annotations.31">
160 <value xsi:type="language_1:Forall"> 153 <value xsi:type="language_1:Forall">
161 <quantifiedVariables name="p0"> 154 <quantifiedVariables name="p0">
162 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 155 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
163 </quantifiedVariables> 156 </quantifiedVariables>
157 <expression xsi:type="language_1:Not">
158 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
159 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.0"/>
160 </operand>
161 </expression>
162 </value>
163 </assertions>
164 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries incomingToEntry" annotations="//@annotations.32">
165 <value xsi:type="language_1:Forall">
166 <quantifiedVariables name="p0">
167 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
168 </quantifiedVariables>
169 <quantifiedVariables name="p1">
170 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
171 </quantifiedVariables>
172 <expression xsi:type="language_1:Not">
173 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
174 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.0"/>
175 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.1"/>
176 </operand>
177 </expression>
178 </value>
179 </assertions>
180 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries noOutgoingTransitionFromEntry" annotations="//@annotations.33">
181 <value xsi:type="language_1:Forall">
182 <quantifiedVariables name="p0">
183 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
184 </quantifiedVariables>
185 <expression xsi:type="language_1:Not">
186 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11">
187 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/>
188 </operand>
189 </expression>
190 </value>
191 </assertions>
192 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleTransitionFromEntry" annotations="//@annotations.34">
193 <value xsi:type="language_1:Forall">
194 <quantifiedVariables name="p0">
195 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
196 </quantifiedVariables>
197 <quantifiedVariables name="p1">
198 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
199 </quantifiedVariables>
200 <quantifiedVariables name="p2">
201 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
202 </quantifiedVariables>
203 <expression xsi:type="language_1:Not">
204 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12">
205 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/>
206 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/>
207 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/>
208 </operand>
209 </expression>
210 </value>
211 </assertions>
212 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromExit" annotations="//@annotations.35">
213 <value xsi:type="language_1:Forall">
214 <quantifiedVariables name="p0">
215 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
216 </quantifiedVariables>
217 <quantifiedVariables name="p1">
218 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
219 </quantifiedVariables>
220 <expression xsi:type="language_1:Not">
221 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13">
222 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
223 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.1"/>
224 </operand>
225 </expression>
226 </value>
227 </assertions>
228 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromFinal" annotations="//@annotations.36">
229 <value xsi:type="language_1:Forall">
230 <quantifiedVariables name="p0">
231 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
232 </quantifiedVariables>
233 <quantifiedVariables name="p1">
234 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
235 </quantifiedVariables>
236 <expression xsi:type="language_1:Not">
237 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
238 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
239 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/>
240 </operand>
241 </expression>
242 </value>
243 </assertions>
244 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries noStateInRegion" annotations="//@annotations.37">
245 <value xsi:type="language_1:Forall">
246 <quantifiedVariables name="p0">
247 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
248 </quantifiedVariables>
249 <expression xsi:type="language_1:Not">
250 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
251 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/>
252 </operand>
253 </expression>
254 </value>
255 </assertions>
256 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoOutgoing" annotations="//@annotations.38">
257 <value xsi:type="language_1:Forall">
258 <quantifiedVariables name="p0">
259 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
260 </quantifiedVariables>
261 <expression xsi:type="language_1:Not">
262 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17">
263 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
264 </operand>
265 </expression>
266 </value>
267 </assertions>
268 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoIncoming" annotations="//@annotations.39">
269 <value xsi:type="language_1:Forall">
270 <quantifiedVariables name="p0">
271 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
272 </quantifiedVariables>
273 <expression xsi:type="language_1:Not">
274 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
275 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
276 </operand>
277 </expression>
278 </value>
279 </assertions>
280 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoOutgoing" annotations="//@annotations.40">
281 <value xsi:type="language_1:Forall">
282 <quantifiedVariables name="p0">
283 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
284 </quantifiedVariables>
285 <expression xsi:type="language_1:Not">
286 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
287 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
288 </operand>
289 </expression>
290 </value>
291 </assertions>
292 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoIncoming" annotations="//@annotations.41">
293 <value xsi:type="language_1:Forall">
294 <quantifiedVariables name="p0">
295 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
296 </quantifiedVariables>
297 <expression xsi:type="language_1:Not">
298 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20">
299 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
300 </operand>
301 </expression>
302 </value>
303 </assertions>
304 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedIncomingInSameRegion" annotations="//@annotations.42">
305 <value xsi:type="language_1:Forall">
306 <quantifiedVariables name="p0">
307 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
308 </quantifiedVariables>
164 <quantifiedVariables name="p1"> 309 <quantifiedVariables name="p1">
165 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 310 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
166 </quantifiedVariables> 311 </quantifiedVariables>
312 <quantifiedVariables name="p2">
313 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
314 </quantifiedVariables>
167 <expression xsi:type="language_1:Not"> 315 <expression xsi:type="language_1:Not">
168 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 316 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21">
169 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.0"/> 317 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
170 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.1"/> 318 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.1"/>
319 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.2"/>
320 </operand>
321 </expression>
322 </value>
323 </assertions>
324 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries notSynchronizingStates" annotations="//@annotations.43">
325 <value xsi:type="language_1:Forall">
326 <quantifiedVariables name="p0">
327 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
328 </quantifiedVariables>
329 <expression xsi:type="language_1:Not">
330 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22">
331 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.0"/>
332 </operand>
333 </expression>
334 </value>
335 </assertions>
336 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionsAreNotSiblings" annotations="//@annotations.44">
337 <value xsi:type="language_1:Forall">
338 <quantifiedVariables name="p0">
339 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
340 </quantifiedVariables>
341 <quantifiedVariables name="p1">
342 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
343 </quantifiedVariables>
344 <quantifiedVariables name="p2">
345 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
346 </quantifiedVariables>
347 <expression xsi:type="language_1:Not">
348 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25">
349 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.19/@value/@quantifiedVariables.0"/>
350 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.19/@value/@quantifiedVariables.1"/>
351 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.19/@value/@quantifiedVariables.2"/>
352 </operand>
353 </expression>
354 </value>
355 </assertions>
356 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionDoesNotHaveMultipleRegions" annotations="//@annotations.45">
357 <value xsi:type="language_1:Forall">
358 <quantifiedVariables name="p0">
359 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
360 </quantifiedVariables>
361 <quantifiedVariables name="p1">
362 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
363 </quantifiedVariables>
364 <expression xsi:type="language_1:Not">
365 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27">
366 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.20/@value/@quantifiedVariables.0"/>
367 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.20/@value/@quantifiedVariables.1"/>
171 </operand> 368 </operand>
172 </expression> 369 </expression>
173 </value> 370 </value>
174 </assertions> 371 </assertions>
175 <relations xsi:type="language_1:RelationDeclaration" name="root reference FileSystem"> 372 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries synchThree" annotations="//@annotations.46">
176 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 373 <value xsi:type="language_1:Forall">
374 <quantifiedVariables name="p0">
375 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
376 </quantifiedVariables>
377 <expression xsi:type="language_1:Not">
378 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29">
379 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.21/@value/@quantifiedVariables.0"/>
380 </operand>
381 </expression>
382 </value>
383 </assertions>
384 <assertions name="errorpattern ca mcgill ecse dslreasoner standalone test yakindu queries twoSynch" annotations="//@annotations.47">
385 <value xsi:type="language_1:Forall">
386 <quantifiedVariables name="p0">
387 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
388 </quantifiedVariables>
389 <quantifiedVariables name="p1">
390 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
391 </quantifiedVariables>
392 <expression xsi:type="language_1:Not">
393 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30">
394 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.22/@value/@quantifiedVariables.0"/>
395 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.22/@value/@quantifiedVariables.1"/>
396 </operand>
397 </expression>
398 </value>
399 </assertions>
400 <relations xsi:type="language_1:RelationDeclaration" name="incomingTransitions reference Vertex">
401 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
402 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
403 </relations>
404 <relations xsi:type="language_1:RelationDeclaration" name="outgoingTransitions reference Vertex">
405 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
406 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
407 </relations>
408 <relations xsi:type="language_1:RelationDeclaration" name="vertices reference Region">
177 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 409 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
410 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
178 </relations> 411 </relations>
179 <relations xsi:type="language_1:RelationDeclaration" name="live reference FileSystem" annotations="//@annotations.10"> 412 <relations xsi:type="language_1:RelationDeclaration" name="target reference Transition">
180 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 413 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
181 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 414 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
182 </relations> 415 </relations>
183 <relations xsi:type="language_1:RelationDeclaration" name="parent reference FSObject"> 416 <relations xsi:type="language_1:RelationDeclaration" name="source reference Transition">
417 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
184 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 418 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
419 </relations>
420 <relations xsi:type="language_1:RelationDeclaration" name="regions reference CompositeElement">
421 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
185 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 422 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
186 </relations> 423 </relations>
187 <relations xsi:type="language_1:RelationDeclaration" name="contents reference Dir"> 424 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries entryInRegion" annotations="//@annotations.5">
188 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 425 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
189 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 426 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
427 <variables name="parameter r1">
428 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
429 </variables>
430 <variables name="parameter e1">
431 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
432 </variables>
433 <value xsi:type="language_1:Or">
434 <operands xsi:type="language_1:And">
435 <operands xsi:type="language_1:InstanceOf">
436 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/>
437 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
438 </operands>
439 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
440 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.0"/>
441 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/>
442 </operands>
443 </operands>
444 </value>
190 </relations> 445 </relations>
191 <relations xsi:type="language_1:RelationDeclaration" name="filesystems reference Model"> 446 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries noEntryInRegion" annotations="//@annotations.6">
192 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 447 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
193 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 448 <variables name="parameter r1">
449 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
450 </variables>
451 <value xsi:type="language_1:Or">
452 <operands xsi:type="language_1:Forall">
453 <quantifiedVariables name="variable 0">
454 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
455 </quantifiedVariables>
456 <expression xsi:type="language_1:And">
457 <operands xsi:type="language_1:InstanceOf">
458 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
459 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
460 </operands>
461 <operands xsi:type="language_1:Not">
462 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
463 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
464 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.0"/>
465 </operand>
466 </operands>
467 </expression>
468 </operands>
469 </value>
194 </relations> 470 </relations>
195 <relations xsi:type="language_1:RelationDeclaration" name="otherFSObjects reference Model"> 471 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleEntryInRegion" annotations="//@annotations.7">
196 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 472 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
197 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 473 <variables name="parameter r">
474 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
475 </variables>
476 <value xsi:type="language_1:Or">
477 <operands xsi:type="language_1:Exists">
478 <quantifiedVariables name="variable e1">
479 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
480 </quantifiedVariables>
481 <quantifiedVariables name="variable e2">
482 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
483 </quantifiedVariables>
484 <expression xsi:type="language_1:And">
485 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
486 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
487 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/>
488 </operands>
489 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
490 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
491 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.1"/>
492 </operands>
493 <operands xsi:type="language_1:Distinct">
494 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/>
495 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.1"/>
496 </operands>
497 </expression>
498 </operands>
499 </value>
198 </relations> 500 </relations>
199 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test filesystem queries patternContent" annotations="//@annotations.6"> 501 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries transition" annotations="//@annotations.8">
502 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
200 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 503 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
201 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 504 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
202 <variables name="parameter o1"> 505 <variables name="parameter t">
506 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
507 </variables>
508 <variables name="parameter src">
203 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 509 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
204 </variables> 510 </variables>
205 <variables name="parameter o2"> 511 <variables name="parameter trg">
206 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 512 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
207 </variables> 513 </variables>
208 <value xsi:type="language_1:Or"> 514 <value xsi:type="language_1:Or">
209 <operands xsi:type="language_1:And"> 515 <operands xsi:type="language_1:And">
516 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
517 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/>
518 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.1"/>
519 </operands>
520 <operands xsi:type="language_1:InstanceOf">
521 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.1"/>
522 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
523 </operands>
210 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> 524 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
211 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.0"/> 525 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/>
212 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/> 526 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.2"/>
527 </operands>
528 <operands xsi:type="language_1:InstanceOf">
529 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.2"/>
530 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
531 </operands>
532 </operands>
533 </value>
534 </relations>
535 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries incomingToEntry" annotations="//@annotations.9">
536 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
537 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
538 <variables name="parameter t">
539 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
540 </variables>
541 <variables name="parameter e">
542 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
543 </variables>
544 <value xsi:type="language_1:Or">
545 <operands xsi:type="language_1:Exists">
546 <quantifiedVariables name="variable 0">
547 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
548 </quantifiedVariables>
549 <expression xsi:type="language_1:And">
550 <operands xsi:type="language_1:InstanceOf">
551 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.1"/>
552 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
553 </operands>
554 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
555 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
556 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
557 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.1"/>
558 </operands>
559 </expression>
560 </operands>
561 </value>
562 </relations>
563 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries noOutgoingTransitionFromEntry" annotations="//@annotations.10">
564 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
565 <variables name="parameter e">
566 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
567 </variables>
568 <value xsi:type="language_1:Or">
569 <operands xsi:type="language_1:Forall">
570 <quantifiedVariables name="variable 0">
571 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
572 </quantifiedVariables>
573 <quantifiedVariables name="variable 1">
574 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
575 </quantifiedVariables>
576 <expression xsi:type="language_1:And">
577 <operands xsi:type="language_1:InstanceOf">
578 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
579 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
580 </operands>
581 <operands xsi:type="language_1:Not">
582 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
583 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
584 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
585 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
586 </operand>
587 </operands>
588 </expression>
589 </operands>
590 </value>
591 </relations>
592 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries multipleTransitionFromEntry" annotations="//@annotations.11">
593 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
594 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
595 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
596 <variables name="parameter e">
597 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
598 </variables>
599 <variables name="parameter t1">
600 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
601 </variables>
602 <variables name="parameter t2">
603 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
604 </variables>
605 <value xsi:type="language_1:Or">
606 <operands xsi:type="language_1:And">
607 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
608 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
609 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.1"/>
610 </operands>
611 <operands xsi:type="language_1:InstanceOf">
612 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
613 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
614 </operands>
615 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
616 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
617 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.2"/>
618 </operands>
619 <operands xsi:type="language_1:Distinct">
620 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.1"/>
621 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.2"/>
622 </operands>
623 </operands>
624 </value>
625 </relations>
626 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromExit" annotations="//@annotations.12">
627 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
628 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
629 <variables name="parameter t">
630 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
631 </variables>
632 <variables name="parameter e">
633 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
634 </variables>
635 <value xsi:type="language_1:Or">
636 <operands xsi:type="language_1:And">
637 <operands xsi:type="language_1:InstanceOf">
638 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
639 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
640 </operands>
641 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
642 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
643 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
213 </operands> 644 </operands>
214 </operands> 645 </operands>
215 </value> 646 </value>
216 </relations> 647 </relations>
217 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test filesystem queries live" annotations="//@annotations.7" defines="//@relations.1"> 648 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries outgoingFromFinal" annotations="//@annotations.13">
218 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 649 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
650 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
651 <variables name="parameter t">
652 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
653 </variables>
654 <variables name="parameter f">
655 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
656 </variables>
657 <value xsi:type="language_1:Or">
658 <operands xsi:type="language_1:And">
659 <operands xsi:type="language_1:InstanceOf">
660 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
661 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
662 </operands>
663 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
664 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
665 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
666 </operands>
667 </operands>
668 </value>
669 </relations>
670 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries noStateInRegion" annotations="//@annotations.14">
671 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
672 <variables name="parameter region">
673 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
674 </variables>
675 <value xsi:type="language_1:Or">
676 <operands xsi:type="language_1:Forall">
677 <quantifiedVariables name="variable 0">
678 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
679 </quantifiedVariables>
680 <expression xsi:type="language_1:And">
681 <operands xsi:type="language_1:InstanceOf">
682 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
683 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
684 </operands>
685 <operands xsi:type="language_1:Not">
686 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16">
687 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
688 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/>
689 </operand>
690 </operands>
691 </expression>
692 </operands>
693 </value>
694 </relations>
695 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries StateInRegion" annotations="//@annotations.15">
696 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
697 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
698 <variables name="parameter region">
699 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
700 </variables>
701 <variables name="parameter state">
702 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
703 </variables>
704 <value xsi:type="language_1:Or">
705 <operands xsi:type="language_1:And">
706 <operands xsi:type="language_1:InstanceOf">
707 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/>
708 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
709 </operands>
710 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
711 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
712 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/>
713 </operands>
714 </operands>
715 </value>
716 </relations>
717 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoOutgoing" annotations="//@annotations.16">
718 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
719 <variables name="parameter c">
720 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
721 </variables>
722 <value xsi:type="language_1:Or">
723 <operands xsi:type="language_1:Forall">
724 <quantifiedVariables name="variable 0">
725 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
726 </quantifiedVariables>
727 <quantifiedVariables name="variable 1">
728 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
729 </quantifiedVariables>
730 <expression xsi:type="language_1:And">
731 <operands xsi:type="language_1:InstanceOf">
732 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
733 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
734 </operands>
735 <operands xsi:type="language_1:Not">
736 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
737 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/>
738 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
739 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.1"/>
740 </operand>
741 </operands>
742 </expression>
743 </operands>
744 </value>
745 </relations>
746 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoIncoming" annotations="//@annotations.17">
747 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
748 <variables name="parameter c">
749 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
750 </variables>
751 <value xsi:type="language_1:Or">
752 <operands xsi:type="language_1:Forall">
753 <quantifiedVariables name="variable 0">
754 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
755 </quantifiedVariables>
756 <quantifiedVariables name="variable 1">
757 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
758 </quantifiedVariables>
759 <expression xsi:type="language_1:And">
760 <operands xsi:type="language_1:InstanceOf">
761 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
762 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
763 </operands>
764 <operands xsi:type="language_1:Not">
765 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
766 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/>
767 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.1"/>
768 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
769 </operand>
770 </operands>
771 </expression>
772 </operands>
773 </value>
774 </relations>
775 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoOutgoing" annotations="//@annotations.18">
776 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
777 <variables name="parameter s">
778 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
779 </variables>
780 <value xsi:type="language_1:Or">
781 <operands xsi:type="language_1:Forall">
782 <quantifiedVariables name="variable 0">
783 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
784 </quantifiedVariables>
785 <quantifiedVariables name="variable 1">
786 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
787 </quantifiedVariables>
788 <expression xsi:type="language_1:And">
789 <operands xsi:type="language_1:InstanceOf">
790 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
791 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
792 </operands>
793 <operands xsi:type="language_1:Not">
794 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
795 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.0"/>
796 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
797 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.1"/>
798 </operand>
799 </operands>
800 </expression>
801 </operands>
802 </value>
803 </relations>
804 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchHasNoIncoming" annotations="//@annotations.19">
805 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
806 <variables name="parameter s">
807 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
808 </variables>
809 <value xsi:type="language_1:Or">
810 <operands xsi:type="language_1:Forall">
811 <quantifiedVariables name="variable 0">
812 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
813 </quantifiedVariables>
814 <quantifiedVariables name="variable 1">
815 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
816 </quantifiedVariables>
817 <expression xsi:type="language_1:And">
818 <operands xsi:type="language_1:InstanceOf">
819 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
820 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
821 </operands>
822 <operands xsi:type="language_1:Not">
823 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
824 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
825 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
826 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
827 </operand>
828 </operands>
829 </expression>
830 </operands>
831 </value>
832 </relations>
833 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedIncomingInSameRegion" annotations="//@annotations.20">
834 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
835 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
219 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 836 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
220 <variables name="parameter this"> 837 <variables name="parameter s">
221 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 838 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
222 </variables> 839 </variables>
223 <variables name="parameter l"> 840 <variables name="parameter v1">
841 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
842 </variables>
843 <variables name="parameter v2">
224 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 844 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
225 </variables> 845 </variables>
226 <value xsi:type="language_1:Or"> 846 <value xsi:type="language_1:Or">
847 <operands xsi:type="language_1:Exists">
848 <quantifiedVariables name="variable t1">
849 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
850 </quantifiedVariables>
851 <quantifiedVariables name="variable t2">
852 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
853 </quantifiedVariables>
854 <quantifiedVariables name="variable r">
855 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
856 </quantifiedVariables>
857 <expression xsi:type="language_1:And">
858 <operands xsi:type="language_1:InstanceOf">
859 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
860 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
861 </operands>
862 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
863 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
864 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/>
865 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
866 </operands>
867 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
868 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/>
869 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.2"/>
870 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
871 </operands>
872 <operands xsi:type="language_1:Distinct">
873 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
874 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/>
875 </operands>
876 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
877 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/>
878 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/>
879 </operands>
880 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
881 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/>
882 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.2"/>
883 </operands>
884 </expression>
885 </operands>
886 <operands xsi:type="language_1:Exists">
887 <quantifiedVariables name="variable t1">
888 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
889 </quantifiedVariables>
890 <quantifiedVariables name="variable t2">
891 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
892 </quantifiedVariables>
893 <quantifiedVariables name="variable r">
894 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
895 </quantifiedVariables>
896 <expression xsi:type="language_1:And">
897 <operands xsi:type="language_1:InstanceOf">
898 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
899 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
900 </operands>
901 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
902 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.1/@quantifiedVariables.0"/>
903 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
904 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/>
905 </operands>
906 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
907 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.1/@quantifiedVariables.1"/>
908 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
909 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.2"/>
910 </operands>
911 <operands xsi:type="language_1:Distinct">
912 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.1/@quantifiedVariables.0"/>
913 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.1/@quantifiedVariables.1"/>
914 </operands>
915 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
916 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.1/@quantifiedVariables.2"/>
917 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/>
918 </operands>
919 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
920 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.1/@quantifiedVariables.2"/>
921 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.2"/>
922 </operands>
923 </expression>
924 </operands>
925 </value>
926 </relations>
927 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries notSynchronizingStates" annotations="//@annotations.21">
928 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
929 <variables name="parameter s">
930 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
931 </variables>
932 <value xsi:type="language_1:Or">
227 <operands xsi:type="language_1:And"> 933 <operands xsi:type="language_1:And">
228 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 934 <operands xsi:type="language_1:InstanceOf">
229 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/> 935 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
230 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.1"/> 936 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
937 </operands>
938 <operands xsi:type="language_1:Not">
939 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
940 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
941 </operand>
942 </operands>
943 <operands xsi:type="language_1:Not">
944 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24">
945 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
946 </operand>
231 </operands> 947 </operands>
232 </operands> 948 </operands>
949 </value>
950 </relations>
951 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleOutgoingTrainsition" annotations="//@annotations.22">
952 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
953 <variables name="parameter v">
954 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
955 </variables>
956 <value xsi:type="language_1:Or">
233 <operands xsi:type="language_1:Exists"> 957 <operands xsi:type="language_1:Exists">
234 <quantifiedVariables name="variable root"> 958 <quantifiedVariables name="variable 0">
959 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
960 </quantifiedVariables>
961 <quantifiedVariables name="variable trg1">
962 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
963 </quantifiedVariables>
964 <quantifiedVariables name="variable 1">
965 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
966 </quantifiedVariables>
967 <quantifiedVariables name="variable trg2">
968 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
969 </quantifiedVariables>
970 <expression xsi:type="language_1:And">
971 <operands xsi:type="language_1:InstanceOf">
972 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
973 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
974 </operands>
975 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
976 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
977 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
978 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
979 </operands>
980 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
981 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
982 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
983 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.3"/>
984 </operands>
985 <operands xsi:type="language_1:Distinct">
986 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
987 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.3"/>
988 </operands>
989 </expression>
990 </operands>
991 </value>
992 </relations>
993 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleIncomingTrainsition" annotations="//@annotations.23">
994 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
995 <variables name="parameter v">
996 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
997 </variables>
998 <value xsi:type="language_1:Or">
999 <operands xsi:type="language_1:Exists">
1000 <quantifiedVariables name="variable 0">
1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1002 </quantifiedVariables>
1003 <quantifiedVariables name="variable src1">
1004 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1005 </quantifiedVariables>
1006 <quantifiedVariables name="variable 1">
1007 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1008 </quantifiedVariables>
1009 <quantifiedVariables name="variable src2">
1010 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1011 </quantifiedVariables>
1012 <expression xsi:type="language_1:And">
1013 <operands xsi:type="language_1:InstanceOf">
1014 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1015 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1016 </operands>
1017 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1018 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.0"/>
1019 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.1"/>
1020 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1021 </operands>
1022 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1023 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.2"/>
1024 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.3"/>
1025 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1026 </operands>
1027 <operands xsi:type="language_1:Distinct">
1028 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.1"/>
1029 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.3"/>
1030 </operands>
1031 </expression>
1032 </operands>
1033 </value>
1034 </relations>
1035 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionsAreNotSiblings" annotations="//@annotations.24">
1036 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1037 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1038 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1039 <variables name="parameter s">
1040 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1041 </variables>
1042 <variables name="parameter v1">
1043 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1044 </variables>
1045 <variables name="parameter v2">
1046 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1047 </variables>
1048 <value xsi:type="language_1:Or">
1049 <operands xsi:type="language_1:Exists">
1050 <quantifiedVariables name="variable 0">
1051 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1052 </quantifiedVariables>
1053 <quantifiedVariables name="variable 1">
1054 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1055 </quantifiedVariables>
1056 <quantifiedVariables name="variable r1">
1057 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1058 </quantifiedVariables>
1059 <quantifiedVariables name="variable r2">
1060 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1061 </quantifiedVariables>
1062 <quantifiedVariables name="variable virtual0">
1063 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1064 </quantifiedVariables>
1065 <quantifiedVariables name="variable virtual2">
235 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1066 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
236 </quantifiedVariables> 1067 </quantifiedVariables>
237 <expression xsi:type="language_1:And"> 1068 <expression xsi:type="language_1:And">
238 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 1069 <operands xsi:type="language_1:InstanceOf">
239 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/> 1070 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
240 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.1/@quantifiedVariables.0"/> 1071 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1072 </operands>
1073 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1074 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1075 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.1"/>
1076 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1077 </operands>
1078 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1079 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/>
1080 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.2"/>
1081 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1082 </operands>
1083 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1084 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/>
1085 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.4"/>
1086 </operands>
1087 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1088 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.4"/>
1089 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.1"/>
1090 </operands>
1091 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1092 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.3"/>
1093 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.5"/>
1094 </operands>
1095 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1096 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.5"/>
1097 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.2"/>
1098 </operands>
1099 <operands xsi:type="language_1:Distinct">
1100 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/>
1101 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.3"/>
1102 </operands>
1103 </expression>
1104 </operands>
1105 <operands xsi:type="language_1:Exists">
1106 <quantifiedVariables name="variable 0">
1107 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1108 </quantifiedVariables>
1109 <quantifiedVariables name="variable 1">
1110 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1111 </quantifiedVariables>
1112 <quantifiedVariables name="variable r1">
1113 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1114 </quantifiedVariables>
1115 <quantifiedVariables name="variable r2">
1116 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1117 </quantifiedVariables>
1118 <quantifiedVariables name="variable virtual0">
1119 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1120 </quantifiedVariables>
1121 <quantifiedVariables name="variable virtual2">
1122 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1123 </quantifiedVariables>
1124 <expression xsi:type="language_1:And">
1125 <operands xsi:type="language_1:InstanceOf">
1126 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1127 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1128 </operands>
1129 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1130 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.0"/>
1131 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1132 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.1"/>
1133 </operands>
1134 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1135 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.1"/>
1136 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1137 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.2"/>
1138 </operands>
1139 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1140 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.2"/>
1141 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.4"/>
1142 </operands>
1143 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1144 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.4"/>
1145 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.1"/>
1146 </operands>
1147 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1148 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.3"/>
1149 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.5"/>
1150 </operands>
1151 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1152 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.5"/>
1153 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.2"/>
1154 </operands>
1155 <operands xsi:type="language_1:Distinct">
1156 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.2"/>
1157 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.1/@quantifiedVariables.3"/>
241 </operands> 1158 </operands>
242 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.6"/>
243 </expression> 1159 </expression>
244 </operands> 1160 </operands>
245 </value> 1161 </value>
246 </relations> 1162 </relations>
247 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test filesystem queries contentInNotLive" annotations="//@annotations.8"> 1163 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries child" annotations="//@annotations.25">
248 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1164 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
249 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1165 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
250 <variables name="parameter parent"> 1166 <variables name="parameter parent">
251 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1167 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
252 </variables> 1168 </variables>
253 <variables name="parameter child"> 1169 <variables name="parameter child">
254 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1170 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
255 </variables> 1171 </variables>
256 <value xsi:type="language_1:Or"> 1172 <value xsi:type="language_1:Or">
257 <operands xsi:type="language_1:Forall"> 1173 <operands xsi:type="language_1:Exists">
1174 <quantifiedVariables name="variable virtual0">
1175 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1176 </quantifiedVariables>
1177 <expression xsi:type="language_1:And">
1178 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1179 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1180 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/>
1181 </operands>
1182 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1183 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/>
1184 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.1"/>
1185 </operands>
1186 </expression>
1187 </operands>
1188 </value>
1189 </relations>
1190 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries SynchronizedRegionDoesNotHaveMultipleRegions" annotations="//@annotations.26">
1191 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1192 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1193 <variables name="parameter s">
1194 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1195 </variables>
1196 <variables name="parameter v">
1197 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1198 </variables>
1199 <value xsi:type="language_1:Or">
1200 <operands xsi:type="language_1:Exists">
258 <quantifiedVariables name="variable 0"> 1201 <quantifiedVariables name="variable 0">
259 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 1202 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1203 </quantifiedVariables>
1204 <quantifiedVariables name="variable c">
1205 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
260 </quantifiedVariables> 1206 </quantifiedVariables>
261 <expression xsi:type="language_1:And"> 1207 <expression xsi:type="language_1:And">
262 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> 1208 <operands xsi:type="language_1:InstanceOf">
263 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/> 1209 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
264 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.1"/> 1210 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1211 </operands>
1212 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1213 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/>
1214 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.1"/>
1215 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1216 </operands>
1217 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26">
1218 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.1"/>
1219 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.1"/>
265 </operands> 1220 </operands>
266 <operands xsi:type="language_1:Not"> 1221 <operands xsi:type="language_1:Not">
267 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 1222 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28">
268 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/> 1223 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.1"/>
269 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
270 </operand> 1224 </operand>
271 </operands> 1225 </operands>
272 </expression> 1226 </expression>
273 </operands> 1227 </operands>
274 <operands xsi:type="language_1:Forall"> 1228 <operands xsi:type="language_1:Exists">
275 <quantifiedVariables name="variable 0"> 1229 <quantifiedVariables name="variable 0">
276 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 1230 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1231 </quantifiedVariables>
1232 <quantifiedVariables name="variable c">
1233 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
277 </quantifiedVariables> 1234 </quantifiedVariables>
278 <expression xsi:type="language_1:And"> 1235 <expression xsi:type="language_1:And">
279 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> 1236 <operands xsi:type="language_1:InstanceOf">
280 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/> 1237 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
281 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.1"/> 1238 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1239 </operands>
1240 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1241 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.1/@quantifiedVariables.0"/>
1242 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1243 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.1"/>
1244 </operands>
1245 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26">
1246 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.1/@quantifiedVariables.1"/>
1247 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.1"/>
282 </operands> 1248 </operands>
283 <operands xsi:type="language_1:Not"> 1249 <operands xsi:type="language_1:Not">
284 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 1250 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28">
285 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.1/@quantifiedVariables.0"/> 1251 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.1/@quantifiedVariables.1"/>
286 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.1"/>
287 </operand> 1252 </operand>
288 </operands> 1253 </operands>
289 </expression> 1254 </expression>
290 </operands> 1255 </operands>
291 </value> 1256 </value>
292 </relations> 1257 </relations>
293 <elements name="o 1" definedInType="//@types.5"/> 1258 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries hasMultipleRegions" annotations="//@annotations.27">
294 <containmentHierarchies typesOrderedInHierarchy="//@types.4 //@types.3 //@types.1 //@types.0 //@types.2 //@types.5 //@types.6" containmentRelations="//@relations.0 //@relations.3 //@relations.4 //@relations.5"/> 1259 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
295 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/> 1260 <variables name="parameter composite">
296 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/> 1261 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
297 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.2" relation="//@relations.2" upper="1"/> 1262 </variables>
298 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.3" relation="//@relations.4" lower="1"/> 1263 <value xsi:type="language_1:Or">
299 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.4" relation="//@relations.4" upper="1"/> 1264 <operands xsi:type="language_1:Exists">
300 <annotations xsi:type="ecore2logicannotations:InverseRelationAssertion" target="//@assertions.5" inverseA="//@relations.2" inverseB="//@relations.3"/> 1265 <quantifiedVariables name="variable region1">
301 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.6" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.queries.patternContent"/> 1266 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
302 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.7" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.queries.live"/> 1267 </quantifiedVariables>
303 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.8" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.filesystem.queries.contentInNotLive"/> 1268 <quantifiedVariables name="variable region2">
304 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.6" query="//@annotations.8"/> 1269 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
305 <annotations xsi:type="viatra2logicannotations:DefinedByDerivedFeature" target="//@relations.1" query="//@annotations.7"/> 1270 </quantifiedVariables>
1271 <expression xsi:type="language_1:And">
1272 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1273 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.0"/>
1274 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.0"/>
1275 </operands>
1276 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1277 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.0"/>
1278 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.1"/>
1279 </operands>
1280 <operands xsi:type="language_1:Distinct">
1281 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.0"/>
1282 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.1"/>
1283 </operands>
1284 </expression>
1285 </operands>
1286 </value>
1287 </relations>
1288 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries synchThree" annotations="//@annotations.28">
1289 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1290 <variables name="parameter s">
1291 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1292 </variables>
1293 <value xsi:type="language_1:Or">
1294 <operands xsi:type="language_1:Exists">
1295 <quantifiedVariables name="variable t1">
1296 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1297 </quantifiedVariables>
1298 <quantifiedVariables name="variable t2">
1299 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1300 </quantifiedVariables>
1301 <quantifiedVariables name="variable t3">
1302 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1303 </quantifiedVariables>
1304 <expression xsi:type="language_1:And">
1305 <operands xsi:type="language_1:InstanceOf">
1306 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1307 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1308 </operands>
1309 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1311 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1312 </operands>
1313 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
1314 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.1"/>
1315 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1316 </operands>
1317 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
1318 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.2"/>
1319 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1320 </operands>
1321 <operands xsi:type="language_1:Distinct">
1322 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1323 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.1"/>
1324 </operands>
1325 <operands xsi:type="language_1:Distinct">
1326 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.1"/>
1327 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.2"/>
1328 </operands>
1329 <operands xsi:type="language_1:Distinct">
1330 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1331 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.2"/>
1332 </operands>
1333 </expression>
1334 </operands>
1335 <operands xsi:type="language_1:Exists">
1336 <quantifiedVariables name="variable t1">
1337 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1338 </quantifiedVariables>
1339 <quantifiedVariables name="variable t2">
1340 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1341 </quantifiedVariables>
1342 <quantifiedVariables name="variable t3">
1343 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1344 </quantifiedVariables>
1345 <expression xsi:type="language_1:And">
1346 <operands xsi:type="language_1:InstanceOf">
1347 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1348 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1349 </operands>
1350 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1351 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.0"/>
1352 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1353 </operands>
1354 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1355 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.1"/>
1356 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1357 </operands>
1358 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1359 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.2"/>
1360 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1361 </operands>
1362 <operands xsi:type="language_1:Distinct">
1363 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.0"/>
1364 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.1"/>
1365 </operands>
1366 <operands xsi:type="language_1:Distinct">
1367 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.1"/>
1368 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.2"/>
1369 </operands>
1370 <operands xsi:type="language_1:Distinct">
1371 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.0"/>
1372 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.1/@quantifiedVariables.2"/>
1373 </operands>
1374 </expression>
1375 </operands>
1376 </value>
1377 </relations>
1378 <relations xsi:type="language_1:RelationDefinition" name="pattern ca mcgill ecse dslreasoner standalone test yakindu queries twoSynch" annotations="//@annotations.29">
1379 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1380 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1381 <variables name="parameter s1">
1382 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1383 </variables>
1384 <variables name="parameter s2">
1385 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1386 </variables>
1387 <value xsi:type="language_1:Or">
1388 <operands xsi:type="language_1:And">
1389 <operands xsi:type="language_1:InstanceOf">
1390 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.0"/>
1391 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1392 </operands>
1393 <operands xsi:type="language_1:InstanceOf">
1394 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.1"/>
1395 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1396 </operands>
1397 <operands xsi:type="language_1:Distinct">
1398 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.0"/>
1399 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.1"/>
1400 </operands>
1401 </operands>
1402 </value>
1403 </relations>
1404 <elements name="o 1" definedInType="//@types.13 //@types.15"/>
1405 <containmentHierarchies typesOrderedInHierarchy="//@types.7 //@types.6 //@types.2 //@types.8 //@types.0 //@types.1 //@types.4 //@types.5 //@types.3 //@types.10 //@types.11 //@types.9 //@types.12 //@types.13 //@types.14 //@types.15 //@types.16" containmentRelations="//@relations.1 //@relations.2 //@relations.5"/>
1406 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.3" lower="1"/>
1407 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.3" upper="1"/>
1408 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.2" relation="//@relations.4" upper="1"/>
1409 <annotations xsi:type="ecore2logicannotations:InverseRelationAssertion" target="//@assertions.3" inverseA="//@relations.0" inverseB="//@relations.3"/>
1410 <annotations xsi:type="ecore2logicannotations:InverseRelationAssertion" target="//@assertions.4" inverseA="//@relations.1" inverseB="//@relations.4"/>
1411 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.6" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.entryInRegion"/>
1412 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.7" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.noEntryInRegion"/>
1413 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.8" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.multipleEntryInRegion"/>
1414 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.9" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.transition"/>
1415 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.incomingToEntry"/>
1416 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.noOutgoingTransitionFromEntry"/>
1417 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.multipleTransitionFromEntry"/>
1418 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.outgoingFromExit"/>
1419 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.outgoingFromFinal"/>
1420 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.noStateInRegion"/>
1421 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.StateInRegion"/>
1422 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.choiceHasNoOutgoing"/>
1423 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.choiceHasNoIncoming"/>
1424 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.synchHasNoOutgoing"/>
1425 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.synchHasNoIncoming"/>
1426 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.SynchronizedIncomingInSameRegion"/>
1427 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.notSynchronizingStates"/>
1428 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.hasMultipleOutgoingTrainsition"/>
1429 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.hasMultipleIncomingTrainsition"/>
1430 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.SynchronizedRegionsAreNotSiblings"/>
1431 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.child"/>
1432 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.SynchronizedRegionDoesNotHaveMultipleRegions"/>
1433 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.28" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.hasMultipleRegions"/>
1434 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.29" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.synchThree"/>
1435 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.30" patternFullyQualifiedName="ca.mcgill.ecse.dslreasoner.standalone.test.yakindu.queries.twoSynch"/>
1436 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.5" query="//@annotations.6"/>
1437 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.6" query="//@annotations.7"/>
1438 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.7" query="//@annotations.9"/>
1439 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.8" query="//@annotations.10"/>
1440 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.9" query="//@annotations.11"/>
1441 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.10" query="//@annotations.12"/>
1442 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.11" query="//@annotations.13"/>
1443 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.12" query="//@annotations.14"/>
1444 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.13" query="//@annotations.16"/>
1445 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.14" query="//@annotations.17"/>
1446 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.15" query="//@annotations.18"/>
1447 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.16" query="//@annotations.19"/>
1448 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.17" query="//@annotations.20"/>
1449 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.18" query="//@annotations.21"/>
1450 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.19" query="//@annotations.24"/>
1451 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.20" query="//@annotations.26"/>
1452 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.21" query="//@annotations.28"/>
1453 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.22" query="//@annotations.29"/>
306</language:LogicProblem> 1454</language:LogicProblem>
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/init.partialmodel b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/init.partialmodel
index 6c0e5571..5479fb8d 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/init.partialmodel
+++ b/Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug/init.partialmodel
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="ASCII"?> 1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="4" maxNewElements="4"> 2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="9" maxNewElements="9">
3 <problem href="generation.logicproblem#/"/> 3 <problem href="generation.logicproblem#/"/>
4 <partialrelationinterpretation> 4 <partialrelationinterpretation>
5 <interpretationOf href="generation.logicproblem#//@relations.0"/> 5 <interpretationOf href="generation.logicproblem#//@relations.0"/>
@@ -37,25 +37,53 @@
37 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/> 37 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
38 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/> 38 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
39 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/> 39 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
40 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0"> 40 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0" supertypeInterpretation="//@partialtypeinterpratation.5">
41 <interpretationOf href="generation.logicproblem#//@types.0"/> 41 <interpretationOf href="generation.logicproblem#//@types.0"/>
42 </partialtypeinterpratation> 42 </partialtypeinterpratation>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1"> 43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1">
44 <interpretationOf href="generation.logicproblem#//@types.1"/> 44 <interpretationOf href="generation.logicproblem#//@types.1"/>
45 </partialtypeinterpratation> 45 </partialtypeinterpratation>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2" supertypeInterpretation="//@partialtypeinterpratation.5"> 46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
47 <interpretationOf href="generation.logicproblem#//@types.2"/> 47 <interpretationOf href="generation.logicproblem#//@types.2"/>
48 </partialtypeinterpratation> 48 </partialtypeinterpratation>
49 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.5"> 49 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3">
50 <interpretationOf href="generation.logicproblem#//@types.3"/> 50 <interpretationOf href="generation.logicproblem#//@types.3"/>
51 </partialtypeinterpratation> 51 </partialtypeinterpratation>
52 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4"> 52 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.13">
53 <elements href="generation.logicproblem#//@elements.0"/> 53 <elements href="generation.logicproblem#//@elements.0"/>
54 <interpretationOf href="generation.logicproblem#//@types.4"/> 54 <interpretationOf href="generation.logicproblem#//@types.4"/>
55 </partialtypeinterpratation> 55 </partialtypeinterpratation>
56 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5" supertypeInterpretation="//@partialtypeinterpratation.8"> 56 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5" supertypeInterpretation="//@partialtypeinterpratation.4 //@partialtypeinterpratation.5">
57 <interpretationOf href="generation.logicproblem#//@types.5"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6" supertypeInterpretation="//@partialtypeinterpratation.4 //@partialtypeinterpratation.5">
57 <interpretationOf href="generation.logicproblem#//@types.6"/> 60 <interpretationOf href="generation.logicproblem#//@types.6"/>
58 </partialtypeinterpratation> 61 </partialtypeinterpratation>
62 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.12 //@partialtypeinterpratation.5 //@partialtypeinterpratation.13 //@partialtypeinterpratation.18">
63 <interpretationOf href="generation.logicproblem#//@types.7"/>
64 </partialtypeinterpratation>
65 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.5">
66 <interpretationOf href="generation.logicproblem#//@types.8"/>
67 </partialtypeinterpratation>
68 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9">
69 <elements href="generation.logicproblem#//@elements.0"/>
70 <interpretationOf href="generation.logicproblem#//@types.9"/>
71 </partialtypeinterpratation>
72 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.4 //@partialtypeinterpratation.5">
73 <interpretationOf href="generation.logicproblem#//@types.10"/>
74 </partialtypeinterpratation>
75 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.4 //@partialtypeinterpratation.5">
76 <interpretationOf href="generation.logicproblem#//@types.11"/>
77 </partialtypeinterpratation>
78 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.12 //@partialtypeinterpratation.5">
79 <interpretationOf href="generation.logicproblem#//@types.12"/>
80 </partialtypeinterpratation>
81 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.13 //@partialtypeinterpratation.18">
82 <interpretationOf href="generation.logicproblem#//@types.14"/>
83 </partialtypeinterpratation>
84 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.13">
85 <interpretationOf href="generation.logicproblem#//@types.16"/>
86 </partialtypeinterpratation>
59 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/> 87 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
60 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/> 88 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
61 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/> 89 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
@@ -66,4 +94,13 @@
66 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/> 94 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
67 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/> 95 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
68 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/> 96 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
97 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
98 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
99 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
100 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
101 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
102 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
103 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
104 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
105 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
69</partialinterpretation:PartialInterpretation> 106</partialinterpretation:PartialInterpretation>