diff options
author | 2019-02-17 15:11:07 -0500 | |
---|---|---|
committer | 2020-06-07 19:18:53 -0400 | |
commit | 1942180d760110c2b9664715bf8e30efec256954 (patch) | |
tree | 4d0e72dca29606dd840aafb4537054a447678452 /Tests/ca.mcgill.ecse.dslreasoner.standalone.test/outputs/yakindu/debug | |
parent | Integrate queries partially #19 (diff) | |
download | VIATRA-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')
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 @@ | |||
1 | Error occured (IllegalArgumentException): Class FunctionalArchitectureModel is not translated to logic! | 1 | Error 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 | ||
991 | private 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 | } | ||
1005 | private 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 | } | ||
1019 | private 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 | ||
1034 | private 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 | } | ||
1043 | private 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 | } | ||
1052 | private 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 | ||
1062 | private 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 | } | ||
1073 | private 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 | } | ||
1084 | private 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 | ||
1096 | private 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 | } | ||
1116 | private 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 | } | ||
1136 | private 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 | ||
1157 | private 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 | } | ||
1168 | private 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 | } | ||
1179 | private 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 | ||
1191 | private 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 | } | ||
1200 | private 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 | } | ||
1209 | private 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 | ||
1219 | private 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 | } | ||
1240 | private 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 | } | ||
1261 | private 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 | ||
1283 | private 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 | } | ||
1297 | private 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 | } | ||
1311 | private 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 | ||
1326 | private 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 | } | ||
1340 | private 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 | } | ||
1354 | private 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 | ||
1369 | private 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 | } | ||
1378 | private 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 | } | ||
1387 | private 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 | ||
1397 | private 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 | } | ||
1411 | private 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 | } | ||
1425 | private 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 | ||
1440 | private 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 | } | ||
1449 | private 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 | } | ||
1458 | private 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 | ||
1468 | private 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 | } | ||
1477 | private 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 | } | ||
1486 | private 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 | ||
1496 | private 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 | } | ||
1505 | private 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 | } | ||
1514 | private 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 | ||
1524 | private 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 | } | ||
1533 | private 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 | } | ||
1542 | private 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 | ||
1552 | private 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 | } | ||
1594 | private 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 | } | ||
1636 | private 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 | ||
1679 | private 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 | } | ||
1689 | private 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 | } | ||
1699 | private 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 | ||
1710 | private 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 | } | ||
1721 | private 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 | } | ||
1732 | private 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 | ||
1744 | private 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 | } | ||
1755 | private 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 | } | ||
1766 | private 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 | ||
1778 | private 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 | } | ||
1828 | private 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 | } | ||
1878 | private 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 | ||
1929 | private 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 | } | ||
1945 | private 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 | } | ||
1961 | private 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 | ||
1978 | private 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 | } | ||
2000 | private 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 | } | ||
2022 | private 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 | ||
2045 | private 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 | } | ||
2062 | private 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 | } | ||
2079 | private 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 | ||
2097 | private 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 | } | ||
2139 | private 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 | } | ||
2181 | private 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 | ||
2224 | private 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 | } | ||
2237 | private 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 | } | ||
2250 | private 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 | ////////// |
2288 | pattern 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 | } | ||
2293 | pattern 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 | } | ||
2298 | pattern 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 | } | ||
2303 | pattern 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 | } | ||
2308 | pattern 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 | } | ||
2313 | pattern 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 | } | ||
2318 | pattern 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 | } | ||
2323 | pattern 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 | } | ||
2328 | pattern 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 | } | ||
2333 | pattern 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 | } | ||
2338 | pattern 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 | } | ||
2343 | pattern 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 | } | ||
2348 | pattern 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 | } | ||
2353 | pattern 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 | } | ||
2358 | pattern 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 | } | ||
2363 | pattern 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 | } | ||
2368 | pattern 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 | } | ||
2373 | pattern 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 | ////////// |
2397 | pattern 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 | } | ||
2402 | pattern 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 | } | ||
2407 | pattern 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 | } | ||
2412 | pattern 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 | } | ||
2417 | pattern 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 | } | ||
2422 | pattern 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 | } | ||
2427 | pattern 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 | } | ||
2432 | pattern 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 | } | ||
2437 | pattern 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 | } | ||
2442 | pattern 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 | } | ||
2447 | pattern 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 | } | ||
2452 | pattern 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 | } | ||
2457 | pattern 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 | } | ||
2462 | pattern 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 | } | ||
2467 | pattern 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 | } | ||
2472 | pattern 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 | } | ||
2477 | pattern 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 | } | ||
2482 | pattern 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 | |||
1040 | private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | 2493 | private 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 | } |
1110 | pattern createObject_Exit_class_by_vertices_reference_Region( | 2563 | pattern 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 | } |
1126 | pattern createObject_Exit_class( | 2579 | pattern 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 | } |
1166 | pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( | 2619 | pattern 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 | } |
1184 | pattern createObject_Transition_class( | 2635 | pattern 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 | } |
1196 | pattern createObject_Region_class_by_regions_reference_CompositeElement( | 2647 | pattern 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 | } | ||
1212 | pattern 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 | } |
1224 | pattern createObject_Choice_class_by_vertices_reference_Region( | 2659 | pattern 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 | } |
1240 | pattern createObject_Choice_class( | 2675 | pattern 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 | } |
1252 | pattern createObject_Synchronization_class_by_vertices_reference_Region( | 2687 | pattern 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 | } |
1268 | pattern createObject_Synchronization_class( | 2705 | pattern 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 | } |
1280 | pattern createObject_Statechart_class_UndefinedPart( | 2717 | pattern 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 | } | ||
2733 | pattern 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 | } |
1292 | pattern createObject_Entry_class_by_vertices_reference_Region( | 2745 | pattern 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 | } |
1308 | pattern createObject_Entry_class( | 2761 | pattern 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 | } |
1320 | pattern createObject_State_class_by_vertices_reference_Region( | 2773 | pattern 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 | } |
1336 | pattern createObject_State_class( | 2789 | pattern 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 | ////////// |
1352 | pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 2805 | pattern 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 | } |
1365 | pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 2818 | pattern 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 | } |
1375 | pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 2828 | pattern 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); |
1384 | pattern 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 | } |
1393 | pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 2841 | pattern 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 | } |
1406 | pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 2850 | pattern 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 | } |
1419 | pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 2863 | pattern 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 | } |
1428 | pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 2872 | pattern 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 | } |
1441 | pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 2881 | pattern 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 | } |
2892 | pattern 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 | */ |
1559 | private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3012 | private 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 | } |
1563 | private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3016 | private 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 | */ |
1575 | private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3028 | private 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 | */ |
1595 | private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3060 | private 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 | } |
1599 | private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3064 | private 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 | */ |
1611 | private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3076 | private 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 | */ |
1635 | private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3102 | private 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 | } |
1639 | private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3106 | private 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 | */ |
1651 | private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3118 | private 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 | */ |
1673 | private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3140 | private 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 | } |
1677 | private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3144 | private 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 | */ |
1689 | private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3156 | private 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 | */ |
1711 | private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3178 | private 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 | } |
1715 | private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3182 | private 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 | */ |
1727 | private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3194 | private 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 | */ |
1749 | private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3218 | private 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 | } |
1753 | private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 3222 | private 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 | */ |
1765 | private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3234 | private 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 | */ |
1770 | private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3264 | private 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 | } |
1774 | private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 3268 | private 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 | */ |
1786 | private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3280 | private 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 | */ | ||
1810 | private 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 | */ |
1824 | private pattern mayInRelationroot_reference_FileSystem( | 3310 | private 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 | /** | 3314 | private pattern scopeDisallowsNewState_class(problem:LogicProblem, interpretation:PartialInterpretation) { |
1848 | * Matcher for detecting tuples t where []live reference FileSystem(source,target) | ||
1849 | */ | ||
1850 | private 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 | */ |
1864 | private pattern mayInRelationlive_reference_FileSystem( | 3326 | private 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 | */ | ||
1881 | private 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 | */ |
1895 | private pattern mayInRelationparent_reference_FSObject( | 3352 | private 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 | /** | 3356 | private pattern scopeDisallowsNewRegularState_class(problem:LogicProblem, interpretation:PartialInterpretation) { |
1919 | * Matcher for detecting tuples t where []contents reference Dir(source,target) | ||
1920 | */ | ||
1921 | private 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 | */ |
1935 | private pattern mayInRelationcontents_reference_Dir( | 3368 | private 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 | */ | ||
1961 | private 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 | */ |
1975 | private pattern mayInRelationfilesystems_reference_Model( | 3394 | private 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 | /** | 3398 | private pattern scopeDisallowsNewCompositeElement_class(problem:LogicProblem, interpretation:PartialInterpretation) { |
1999 | * Matcher for detecting tuples t where []otherFSObjects reference Model(source,target) | ||
2000 | */ | ||
2001 | private 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 | */ |
2015 | private pattern mayInRelationotherFSObjects_reference_Model( | 3410 | private 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 | ////////// | ||
2042 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
2043 | find mustContains4(_,_,source,target); | ||
2044 | } | ||
2045 | |||
2046 | private 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 | |||
2056 | private 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 | ////////// | ||
2071 | pattern 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 | } | ||
2080 | pattern 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 | ////////// | ||
2099 | private 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 | } | ||
2129 | pattern 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 | } | ||
2141 | pattern 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 | } | ||
2157 | pattern 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 | } | ||
2175 | pattern 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 | } | ||
2191 | pattern 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 | } | ||
2203 | pattern 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 | } | ||
2221 | pattern 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 | } | ||
2237 | pattern 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 | } | ||
2249 | pattern 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 | } | ||
2265 | pattern 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 | ////////// | ||
2281 | pattern 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 | } | ||
2289 | pattern 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 | } | ||
2298 | pattern 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 | } | ||
2307 | pattern 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 | ////////// | ||
2319 | pattern 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 | } | ||
2334 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
2335 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
2336 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
2337 | |||
2338 | ////////// | ||
2339 | // 0. Util | ||
2340 | ////////// | ||
2341 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
2342 | PartialInterpretation.problem(interpretation,problem); | ||
2343 | } | ||
2344 | |||
2345 | ///////////////////////// | ||
2346 | // 0.1 Existence | ||
2347 | ///////////////////////// | ||
2348 | private 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); | |
2356 | private 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 | |||
2364 | private 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 | //////////////////////// | ||
2376 | pattern 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 | //////////////////////// | ||
2385 | private 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 | |||
2392 | private 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); | |
2402 | private 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 | */ |
2420 | private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3436 | private 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 | } |
2424 | private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3440 | private 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 | */ |
2436 | private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3452 | private 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 | */ |
2456 | private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3482 | private 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 | } |
2460 | private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3486 | private 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 | */ |
2472 | private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3498 | private 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 | */ |
2496 | private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3528 | private 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 | } |
2500 | private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3532 | private 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 | */ |
2512 | private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3544 | private 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 | */ |
2534 | private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3568 | private 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 | } |
2538 | private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3572 | private 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 | */ |
2550 | private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3584 | private 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 | */ |
2572 | private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3589 | private 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 | } |
2576 | private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 3593 | private 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 | */ |
2588 | private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3605 | private 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 | */ |
2610 | private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3627 | private 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 | } |
2614 | private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 3631 | private 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 | */ |
2626 | private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3643 | private 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 | */ |
2631 | private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 3648 | private 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 | } |
2635 | private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 3652 | private 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 | */ |
2647 | private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 3664 | private 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 | */ |
2671 | private pattern mustInRelationroot_reference_FileSystem( | 3692 | private 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 | */ |
2685 | private pattern mayInRelationroot_reference_FileSystem( | 3706 | private 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 | */ |
2711 | private pattern mustInRelationlive_reference_FileSystem( | 3727 | private 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 | */ |
2725 | private pattern mayInRelationlive_reference_FileSystem( | 3741 | private 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 | */ |
2742 | private pattern mustInRelationparent_reference_FSObject( | 3767 | private 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 | */ |
2756 | private pattern mayInRelationparent_reference_FSObject( | 3781 | private 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 | */ |
2782 | private pattern mustInRelationcontents_reference_Dir( | 3803 | private 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 | */ |
2796 | private pattern mayInRelationcontents_reference_Dir( | 3817 | private 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 | */ |
2822 | private pattern mustInRelationfilesystems_reference_Model( | 3838 | private 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 | */ |
2836 | private pattern mayInRelationfilesystems_reference_Model( | 3852 | private 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 | */ |
2862 | private pattern mustInRelationotherFSObjects_reference_Model( | 3878 | private 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 | */ |
2876 | private pattern mayInRelationotherFSObjects_reference_Model( | 3892 | private 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 | ||
3916 | private 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 | } | ||
3930 | private 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 | } | ||
3944 | private 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 | ||
3959 | private 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 | } | ||
3968 | private 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 | } | ||
3977 | private 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 | ||
3987 | private 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 | } | ||
3998 | private 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 | } | ||
4009 | private 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 | ||
4021 | private 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 | } | ||
4041 | private 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 | } | ||
4061 | private 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 | ||
4082 | private 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 | } | ||
4093 | private 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 | } | ||
4104 | private 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 | ||
4116 | private 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 | } | ||
4125 | private 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 | } | ||
4134 | private 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 | ||
4144 | private 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 | } | ||
4165 | private 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 | } | ||
4186 | private 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 | ||
4208 | private 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 | } | ||
4222 | private 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 | } | ||
4236 | private 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 | ||
4251 | private 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 | } | ||
4265 | private 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 | } | ||
4279 | private 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 | ||
4294 | private 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 | } | ||
4303 | private 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 | } | ||
4312 | private 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 | ||
4322 | private 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 | } | ||
4336 | private 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 | } | ||
4350 | private 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 | ||
4365 | private 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 | } | ||
4374 | private 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 | } | ||
4383 | private 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 | ||
4393 | private 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 | } | ||
4402 | private 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 | } | ||
4411 | private 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 | ||
4421 | private 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 | } | ||
4430 | private 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 | } | ||
4439 | private 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 | ||
4449 | private 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 | } | ||
4458 | private 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 | } | ||
4467 | private 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 | ||
4477 | private 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 | } | ||
4519 | private 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 | } | ||
4561 | private 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 | ||
4604 | private 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 | } | ||
4614 | private 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 | } | ||
4624 | private 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 | ||
4635 | private 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 | } | ||
4646 | private 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 | } | ||
4657 | private 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 | ||
4669 | private 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 | } | ||
4680 | private 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 | } | ||
4691 | private 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 | ||
4703 | private 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 | } | ||
4753 | private 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 | } | ||
4803 | private 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 | ||
4854 | private 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 | } | ||
4870 | private 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 | } | ||
4886 | private 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 | ||
4903 | private 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 | } | ||
4925 | private 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 | } | ||
4947 | private 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 | ||
4970 | private 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 | } | ||
4987 | private 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 | } | ||
5004 | private 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 | ||
5022 | private 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 | } | ||
5064 | private 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 | } | ||
5106 | private 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 | ||
5149 | private 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 | } | ||
5162 | private 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 | } | ||
5175 | private 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 | ||
2907 | private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation, | 5196 | private 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 | ||
2917 | private pattern mustTransitiveContains(source,target) { | 5204 | private 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 | ////////// |
5213 | pattern 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 | } | ||
5218 | pattern 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 | } | ||
5223 | pattern 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 | } | ||
5228 | pattern 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 | } | ||
5233 | pattern 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 | } | ||
5238 | pattern 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 | } | ||
5243 | pattern 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 | } | ||
5248 | pattern 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 | } | ||
5253 | pattern 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 | } | ||
5258 | pattern 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 | } | ||
5263 | pattern 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 | } | ||
5268 | pattern 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 | } | ||
5273 | pattern 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 | } | ||
5278 | pattern 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 | } | ||
5283 | pattern 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 | } | ||
5288 | pattern 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 | } | ||
5293 | pattern 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 | } | ||
5298 | pattern 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 | ////////// |
2932 | pattern unfinishedLowerMultiplicity_root_reference_FileSystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { | 5309 | pattern 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 | } | ||
2941 | pattern 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 | ////////// |
5322 | pattern 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 | } | ||
5327 | pattern 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 | } | ||
5332 | pattern 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 | } | ||
5337 | pattern 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 | } | ||
5342 | pattern 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 | } | ||
5347 | pattern 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 | } | ||
5352 | pattern 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 | } | ||
5357 | pattern 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 | } | ||
5362 | pattern 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 | } | ||
5367 | pattern 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 | } | ||
5372 | pattern 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 | } | ||
5377 | pattern 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 | } | ||
5382 | pattern 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 | } | ||
5387 | pattern 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 | } | ||
5392 | pattern 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 | } | ||
5397 | pattern 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 | } | ||
5402 | pattern 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 | } | ||
5407 | pattern 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 | |||
2960 | private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | 5418 | private 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 | } | ||
5488 | pattern 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 | } | ||
5500 | pattern 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 | } |
2990 | pattern createObject_Model_class_UndefinedPart( | 5516 | pattern 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 | } |
3002 | pattern createObject_File_class_by_contents_reference_Dir_with_parent_reference_FSObject( | 5528 | pattern 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 | } |
3020 | pattern createObject_File_class_by_otherFSObjects_reference_Model( | 5546 | pattern 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 | } | ||
5558 | pattern 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 | } |
3036 | pattern createObject_File_class( | 5574 | pattern 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 | } |
3048 | pattern createObject_Dir_class_by_root_reference_FileSystem( | 5586 | pattern 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 | } |
3064 | pattern createObject_Dir_class_by_contents_reference_Dir_with_parent_reference_FSObject( | 5602 | pattern 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 | } | ||
5614 | pattern 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 | } | ||
5630 | pattern 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 | } | ||
5642 | pattern 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 | } |
3082 | pattern createObject_Dir_class_by_otherFSObjects_reference_Model( | 5658 | pattern 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 | } | ||
5670 | pattern 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 | } |
3098 | pattern createObject_Dir_class( | 5686 | pattern 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 | } |
3110 | pattern createObject_FileSystem_class_by_filesystems_reference_Model( | 5698 | pattern 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 | } |
3126 | pattern createObject_FileSystem_class( | 5714 | pattern 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 | ////////// |
3142 | pattern refineTypeTo_Model_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 5730 | pattern 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 | } | ||
5739 | pattern 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 | } | ||
5750 | pattern 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 | } | ||
5759 | pattern 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 | } | ||
5772 | pattern 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 | } |
3150 | pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 5785 | pattern 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 | } |
3159 | pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 5798 | pattern 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 | } |
3168 | pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 5808 | pattern 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 | } | ||
5817 | pattern 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 | ////////// |
3180 | pattern refineRelation_live_reference_FileSystem( | 5834 | pattern 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 | } |
3195 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | 5851 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" |
3196 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | 5852 | import 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_ | |||
5687 | private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | 8343 | private 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 | } |
5757 | pattern createObject_Entry_class_by_vertices_reference_Region( | 8413 | pattern 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 | } |
5773 | pattern createObject_Entry_class( | 8429 | pattern 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 | } |
5785 | pattern createObject_Choice_class_by_vertices_reference_Region( | 8441 | pattern 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 | } |
5801 | pattern createObject_Choice_class( | 8457 | pattern 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 | } |
5813 | pattern createObject_State_class_by_vertices_reference_Region( | 8469 | pattern 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 | } |
5829 | pattern createObject_State_class( | 8485 | pattern 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 | } |
5841 | pattern createObject_Statechart_class_UndefinedPart( | 8497 | pattern 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 | } |
5853 | pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( | 8513 | pattern 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 | } |
5871 | pattern createObject_Transition_class( | 8525 | pattern 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 | } |
5883 | pattern createObject_Region_class_by_regions_reference_CompositeElement( | 8537 | pattern 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 | } |
5899 | pattern createObject_Region_class( | 8553 | pattern 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 | } |
5911 | pattern createObject_FinalState_class_by_vertices_reference_Region( | 8565 | pattern 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 | } |
5927 | pattern createObject_FinalState_class( | 8581 | pattern 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 | } |
5939 | pattern createObject_Exit_class_by_vertices_reference_Region( | 8593 | pattern 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 | } |
5955 | pattern createObject_Exit_class( | 8609 | pattern 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 | } |
5967 | pattern createObject_Synchronization_class_by_vertices_reference_Region( | 8621 | pattern 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 | } |
5983 | pattern createObject_Synchronization_class( | 8639 | pattern 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 | ////////// |
5999 | pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 8655 | pattern 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 | } | ||
6012 | pattern 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 | } |
6025 | pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 8668 | pattern 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 | } |
6036 | pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 8679 | pattern 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 | } |
6045 | pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 8692 | pattern 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 | } |
6054 | pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 8705 | pattern 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 | } |
6063 | pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 8714 | pattern 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 | } |
6073 | pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 8724 | pattern 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 | } |
6086 | pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 8737 | pattern 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 | } | ||
8746 | pattern 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_ | |||
8612 | private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | 11268 | private 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 | } |
8682 | pattern createObject_State_class_by_vertices_reference_Region( | 11338 | pattern 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 | } |
8698 | pattern createObject_State_class( | 11356 | pattern 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 | } |
8710 | pattern createObject_FinalState_class_by_vertices_reference_Region( | 11368 | pattern 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 | } |
8726 | pattern createObject_FinalState_class( | 11384 | pattern 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 | } |
8738 | pattern createObject_Choice_class_by_vertices_reference_Region( | 11396 | pattern 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 | } |
8754 | pattern createObject_Choice_class( | 11412 | pattern 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 | } |
8794 | pattern createObject_Statechart_class_UndefinedPart( | 11452 | pattern 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 | } | ||
11468 | pattern 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 | } |
8806 | pattern createObject_Exit_class_by_vertices_reference_Region( | 11480 | pattern 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 | } |
8822 | pattern createObject_Exit_class( | 11496 | pattern 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 | } |
8834 | pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( | 11508 | pattern 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 | } | ||
8852 | pattern 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 | } |
8864 | pattern createObject_Region_class_by_regions_reference_CompositeElement( | 11520 | pattern 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 | } |
8880 | pattern createObject_Region_class( | 11536 | pattern 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 | } |
8892 | pattern createObject_Synchronization_class_by_vertices_reference_Region( | 11548 | pattern 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 | } |
8908 | pattern createObject_Synchronization_class( | 11564 | pattern 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 | ////////// |
8924 | pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11580 | pattern 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 | } |
8935 | pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11589 | pattern 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 | } |
8945 | pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11602 | pattern 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 | } |
8958 | pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11615 | pattern 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 | } |
8971 | pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11628 | pattern 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 | } |
8980 | pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11637 | pattern 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 | } |
8993 | pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11650 | pattern 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 | } |
9002 | pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11659 | pattern 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 | } |
9011 | pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 11669 | pattern 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_ | |||
11537 | private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | 14193 | private 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 | } |
11607 | pattern createObject_Entry_class_by_vertices_reference_Region( | 14263 | pattern 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 | } |
11623 | pattern createObject_Entry_class( | 14279 | pattern 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 | } |
11635 | pattern createObject_FinalState_class_by_vertices_reference_Region( | 14291 | pattern 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 | } |
11651 | pattern createObject_FinalState_class( | 14309 | pattern 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 | } |
11691 | pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( | 14349 | pattern 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 | } |
11709 | pattern createObject_Transition_class( | 14365 | pattern 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 | } |
11789 | pattern createObject_State_class_by_vertices_reference_Region( | 14445 | pattern 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 | } |
11805 | pattern createObject_State_class( | 14461 | pattern 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 | ////////// |
11849 | pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14505 | pattern 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 | } |
11862 | pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14516 | pattern 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 | } |
11872 | pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14525 | pattern 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 | } |
11885 | pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14538 | pattern 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 | } |
11894 | pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14548 | pattern 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 | } |
11907 | pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14561 | pattern 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 | } |
11916 | pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14570 | pattern 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 | } |
11925 | pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14579 | pattern 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 | } |
11936 | pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 14592 | pattern 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_ | |||
14462 | private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | 17118 | private 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 | } |
14532 | pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( | 17188 | pattern 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 | } | ||
14550 | pattern 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 | } | ||
14562 | pattern 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 | } |
14578 | pattern createObject_Synchronization_class( | 17204 | pattern 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 | } |
14590 | pattern createObject_State_class_by_vertices_reference_Region( | 17216 | pattern 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 | } |
14606 | pattern createObject_State_class( | 17232 | pattern 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 | } |
14618 | pattern createObject_Exit_class_by_vertices_reference_Region( | 17244 | pattern 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 | } |
14634 | pattern createObject_Exit_class( | 17260 | pattern 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 | } |
14674 | pattern createObject_FinalState_class_by_vertices_reference_Region( | 17300 | pattern 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 | } | ||
14690 | pattern 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 | } |
14730 | pattern createObject_Entry_class_by_vertices_reference_Region( | 17340 | pattern 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 | } | ||
17358 | pattern 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 | } | ||
17370 | pattern 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 | } |
14746 | pattern createObject_Entry_class( | 17386 | pattern 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 | } |
14758 | pattern createObject_Statechart_class_UndefinedPart( | 17398 | pattern 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 | } | ||
17414 | pattern 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 | ////////// |
14774 | pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 17430 | pattern 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 | } |
14783 | pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 17443 | pattern 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 | } |
14796 | pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 17456 | pattern 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 | } | ||
14807 | pattern 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 | } |
14820 | pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 17466 | pattern 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 | } |
14833 | pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 17479 | pattern 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 | } |
14843 | pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 17488 | pattern 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 | } |
14852 | pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 17497 | pattern 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 | } |
17506 | pattern 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 | } |
14865 | pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 17519 | pattern 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_ | |||
17387 | private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | 20043 | private 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 | } |
17457 | pattern createObject_State_class_by_vertices_reference_Region( | 20113 | pattern 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 | } |
17473 | pattern createObject_State_class( | 20131 | pattern 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 | } |
17485 | pattern createObject_FinalState_class_by_vertices_reference_Region( | 20143 | pattern 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 | } | ||
20155 | pattern 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 | } |
17501 | pattern createObject_FinalState_class( | 20171 | pattern 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 | } |
17541 | pattern createObject_Region_class_by_regions_reference_CompositeElement( | 20211 | pattern 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 | } |
17557 | pattern createObject_Region_class( | 20227 | pattern 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 | } |
17569 | pattern createObject_Entry_class_by_vertices_reference_Region( | 20239 | pattern 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 | } |
17585 | pattern createObject_Entry_class( | 20255 | pattern 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 | } |
17597 | pattern createObject_Exit_class_by_vertices_reference_Region( | 20267 | pattern 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 | } |
17613 | pattern createObject_Exit_class( | 20283 | pattern 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 | } |
17625 | pattern createObject_Choice_class_by_vertices_reference_Region( | 20295 | pattern 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 | } |
17641 | pattern createObject_Choice_class( | 20311 | pattern 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 | } |
17653 | pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( | 20323 | pattern 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 | } |
17671 | pattern createObject_Transition_class( | 20339 | pattern 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 | } | ||
17683 | pattern 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 | ////////// |
17699 | pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 20355 | pattern 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 | } | ||
17710 | pattern 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 | } |
17720 | pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 20364 | pattern 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 | } | ||
17733 | pattern 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 | } |
17742 | pattern refineTypeTo_Entry_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 20373 | pattern 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 | } |
17755 | pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 20386 | pattern 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 | } |
17768 | pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 20399 | pattern 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 | } | ||
20412 | pattern 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 | } |
17781 | pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 20423 | pattern 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 | } | ||
20433 | pattern 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 | } |
17790 | pattern refineTypeTo_Statechart_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 20442 | pattern 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_ | |||
20312 | private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | 22968 | private 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 | } |
20382 | pattern createObject_Choice_class_by_vertices_reference_Region( | 23038 | pattern 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 | } |
20398 | pattern createObject_Choice_class( | 23056 | pattern 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 | } | ||
20410 | pattern 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 | } |
20422 | pattern createObject_FinalState_class_by_vertices_reference_Region( | 23068 | pattern 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 | } |
20438 | pattern createObject_FinalState_class( | 23084 | pattern 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 | } |
20478 | pattern createObject_Entry_class_by_vertices_reference_Region( | 23124 | pattern 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 | } |
20494 | pattern createObject_Entry_class( | 23140 | pattern 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 | } |
20506 | pattern createObject_Exit_class_by_vertices_reference_Region( | 23152 | pattern 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 | } |
20522 | pattern createObject_Exit_class( | 23168 | pattern 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 | } |
20534 | pattern createObject_State_class_by_vertices_reference_Region( | 23180 | pattern 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 | } |
20550 | pattern createObject_State_class( | 23196 | pattern 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 | } |
20562 | pattern createObject_Transition_class_by_outgoingTransitions_reference_Vertex_with_source_reference_Transition( | 23208 | pattern 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 | } |
20580 | pattern createObject_Transition_class( | 23224 | pattern 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 | } |
20592 | pattern createObject_Synchronization_class_by_vertices_reference_Region( | 23236 | pattern 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 | } |
20608 | pattern createObject_Synchronization_class( | 23252 | pattern 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 | } | ||
23264 | pattern 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 | ////////// |
20624 | pattern refineTypeTo_Choice_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 23280 | pattern 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 | } | ||
20637 | pattern 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 | } |
20646 | pattern refineTypeTo_FinalState_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 23289 | pattern 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 | } |
20656 | pattern refineTypeTo_Region_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 23302 | pattern 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 | } | ||
20665 | pattern 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 | } |
20678 | pattern refineTypeTo_Exit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 23311 | pattern 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 | } |
20691 | pattern refineTypeTo_State_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 23321 | pattern 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 | } |
20702 | pattern refineTypeTo_Transition_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 23332 | pattern 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 | } |
20711 | pattern refineTypeTo_Synchronization_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 23345 | pattern 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 | } | ||
23358 | pattern 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 | } | ||
23371 | pattern 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 | */ |
20831 | private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23487 | private 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 | } |
20835 | private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 23491 | private 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 | */ |
20847 | private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23503 | private 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 | */ |
20867 | private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23535 | private 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 | } |
20871 | private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 23539 | private 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 | */ |
20883 | private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23551 | private 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 | */ |
20907 | private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23577 | private 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 | } |
20911 | private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 23581 | private 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 | */ |
20923 | private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23593 | private 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 | */ |
20945 | private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23615 | private 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 | } |
20949 | private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 23619 | private 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 | */ |
20961 | private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23631 | private 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 | */ |
20983 | private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23653 | private 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 | } |
20987 | private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 23657 | private 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 | */ |
20999 | private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23669 | private 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 | */ |
21021 | private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23693 | private 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 | } |
21025 | private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 23697 | private 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 | */ |
21037 | private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23709 | private 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 | */ |
21042 | private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23739 | private 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 | } |
21046 | private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 23743 | private 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 | */ |
21058 | private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23755 | private 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 | */ | ||
21082 | private 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 | */ |
21096 | private pattern mayInRelationroot_reference_FileSystem( | 23785 | private 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 | /** | 23789 | private 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 | */ | ||
21140 | private 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 | */ |
21154 | private pattern mayInRelationparent_reference_FSObject( | 23801 | private 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 | */ | ||
21180 | private 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 | */ |
21194 | private pattern mayInRelationcontents_reference_Dir( | 23827 | private 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 | /** | 23831 | private pattern scopeDisallowsNewRegularState_class(problem:LogicProblem, interpretation:PartialInterpretation) { |
21218 | * Matcher for detecting tuples t where []filesystems reference Model(source,target) | ||
21219 | */ | ||
21220 | private 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 | */ |
21234 | private pattern mayInRelationfilesystems_reference_Model( | 23843 | private 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 | */ | ||
21260 | private 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 | */ |
21274 | private pattern mayInRelationotherFSObjects_reference_Model( | 23869 | private 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 | ||
21298 | private 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 | } | ||
21312 | private 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 | } | ||
21326 | private 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 | } | ||
21340 | private 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 | } | ||
21343 | private 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 | } | ||
21346 | private 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 | ||
21350 | private 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 | } | ||
21375 | private 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 | } | ||
21400 | private 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 | ||
21426 | private 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 | } | ||
21452 | private 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 | } | ||
21478 | private 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 | ////////// | ||
21508 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
21509 | find mustContains4(_,_,source,target); | ||
21510 | } | ||
21511 | |||
21512 | private 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 | |||
21522 | private 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 | ////////// | ||
21531 | pattern 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 | ////////// | ||
21542 | pattern 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 | } | ||
21551 | pattern 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 | ////////// | ||
21564 | pattern 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 | ////////// | ||
21575 | private 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 | } | ||
21605 | pattern 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 | } | ||
21621 | pattern 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 | } | ||
21633 | pattern 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 | } | ||
21651 | pattern 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 | } | ||
21667 | pattern 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 | } | ||
21679 | pattern 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 | } | ||
21691 | pattern 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 | } | ||
21707 | pattern 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 | } | ||
21725 | pattern 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 | } | ||
21741 | pattern 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 | ////////// | ||
21757 | pattern 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 | } | ||
21765 | pattern 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 | } | ||
21774 | pattern 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 | } | ||
21782 | pattern 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 | ////////// | ||
21795 | pattern 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 | } | ||
21810 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
21811 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
21812 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
21813 | |||
21814 | ////////// | ||
21815 | // 0. Util | ||
21816 | ////////// | ||
21817 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
21818 | PartialInterpretation.problem(interpretation,problem); | ||
21819 | } | 23872 | } |
21820 | 23873 | private pattern scopeDisallowsNewCompositeElement_class(problem:LogicProblem, interpretation:PartialInterpretation) { | |
21821 | ///////////////////////// | ||
21822 | // 0.1 Existence | ||
21823 | ///////////////////////// | ||
21824 | private 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 | |||
21832 | private 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 | |||
21840 | private 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 | //////////////////////// | ||
21852 | pattern 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 | //////////////////////// | ||
21861 | private 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 | ||
21868 | private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { | 23882 | /** |
23883 | * An element may be an instance of type "CompositeElement class". | ||
23884 | */ | ||
23885 | private 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); | |
21878 | private 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 | */ |
21896 | private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23911 | private 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 | } |
21900 | private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 23915 | private 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 | */ |
21912 | private pattern mayInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23927 | private 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 | */ |
21932 | private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 23957 | private 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 | } |
21936 | private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 23961 | private 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 | */ |
21948 | private pattern mayInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 23973 | private 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 | */ |
21972 | private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 24003 | private 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 | } |
21976 | private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 24007 | private 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 | */ |
21988 | private pattern mayInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 24019 | private 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 | */ |
22010 | private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 24043 | private 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 | } |
22014 | private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 24047 | private 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 | */ |
22026 | private pattern mayInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 24059 | private 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 | */ |
22048 | private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 24064 | private 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 | } |
22052 | private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 24068 | private 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 | */ |
22064 | private pattern mayInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 24080 | private 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 | */ |
22086 | private pattern mustInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 24102 | private 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 | } |
22090 | private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 24106 | private 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 | */ |
22102 | private pattern mayInstanceOfModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 24118 | private 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 | */ |
22107 | private pattern mustInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | 24123 | private 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 | } |
22111 | private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 24127 | private 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 | */ |
22123 | private pattern mayInstanceOfModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | 24139 | private 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 | */ |
22147 | private pattern mustInRelationroot_reference_FileSystem( | 24167 | private 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 | */ |
22161 | private pattern mayInRelationroot_reference_FileSystem( | 24181 | private 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 | */ |
22205 | private pattern mustInRelationparent_reference_FSObject( | 24202 | private 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 | */ |
22219 | private pattern mayInRelationparent_reference_FSObject( | 24216 | private 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 | */ |
22245 | private pattern mustInRelationcontents_reference_Dir( | 24242 | private 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 | */ |
22259 | private pattern mayInRelationcontents_reference_Dir( | 24256 | private 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 | */ |
22285 | private pattern mustInRelationfilesystems_reference_Model( | 24278 | private 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 | */ |
22299 | private pattern mayInRelationfilesystems_reference_Model( | 24292 | private 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 | */ | ||
24313 | private 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 | */ | ||
24327 | private 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 | */ |
22325 | private pattern mustInRelationotherFSObjects_reference_Model( | 24353 | private 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 | */ |
22339 | private pattern mayInRelationotherFSObjects_reference_Model( | 24367 | private 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 |
22363 | private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( | 24391 | private 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 | } |
22377 | private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( | 24405 | private 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 | } |
22391 | private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( | 24419 | private 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 | } | ||
22405 | private 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 | } | ||
22408 | private 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 | } | ||
22411 | private 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 |
22415 | private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live( | 24434 | private 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 | } | ||
22440 | private 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 | } | ||
22465 | private 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 | 24443 | private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noEntryInRegion( |
22491 | private 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 | } |
22517 | private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive( | 24452 | private 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 | } |
22543 | private 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 |
24462 | private 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 | ////////// | ||
22573 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
22574 | find mustContains4(_,_,source,target); | ||
22575 | } | ||
22576 | |||
22577 | private 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 | |||
22587 | private pattern mustTransitiveContains(source,target) { | ||
22588 | find mustContains2+(source,target); | ||
22589 | } | 24472 | } |
22590 | 24473 | private 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 | ////////// | ||
22596 | pattern 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 | ////////// | ||
22607 | pattern 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 | } |
22616 | pattern unfinishedLowerMultiplicity_filesystems_reference_Model(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { | 24484 | private 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 | ////////// | 24496 | private 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) |
22629 | pattern 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 | 24516 | private 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 | ////////// | ||
22640 | private 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 | } |
22670 | pattern createObject_Model_class_UndefinedPart( | 24536 | private 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 | } |
22682 | pattern 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 |
24557 | private 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 | } |
22700 | pattern createObject_File_class_by_otherFSObjects_reference_Model( | 24568 | private 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 | } |
22716 | pattern createObject_File_class( | 24579 | private 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 | } |
22728 | pattern createObject_FileSystem_class_by_filesystems_reference_Model( | 24590 | // Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries noOutgoingTransitionFromEntry |
24591 | private 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 | } |
22744 | pattern createObject_FileSystem_class( | 24600 | private 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 | } |
22756 | pattern createObject_Dir_class_by_root_reference_FileSystem( | 24609 | private 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 | } |
22772 | pattern 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 |
24619 | private 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 | } |
22790 | pattern createObject_Dir_class_by_otherFSObjects_reference_Model( | 24640 | private 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 | } |
22806 | pattern createObject_Dir_class( | 24661 | private 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 | ////////// | 24683 | private 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) |
22822 | pattern 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 | } |
22830 | pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 24697 | private 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 | } |
22839 | pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 24711 | private 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 | } |
22847 | pattern 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 |
24726 | private 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 | 24740 | private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromFinal( | |
22857 | ////////// | ||
22858 | // 4.3 Relation refinement | ||
22859 | ////////// | ||
22860 | pattern 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 | } | ||
22875 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
22876 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
22877 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
22878 | |||
22879 | ////////// | ||
22880 | // 0. Util | ||
22881 | ////////// | ||
22882 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
22883 | PartialInterpretation.problem(interpretation,problem); | ||
22884 | } | 24753 | } |
22885 | 24754 | private 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 | { |
22889 | private 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 | |
22897 | private 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 | |||
22905 | private 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 | //////////////////////// | ||
22917 | pattern 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 | //////////////////////// | 24769 | private 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) |
22926 | private 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 | 24778 | private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_noStateInRegion( | |
22933 | private 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 | |||
22943 | private 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 | */ | ||
22961 | private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
22962 | Type.name(type,"FileSystem class"); | ||
22963 | find directInstanceOf(problem,interpretation,element,type); | ||
22964 | } | 24786 | } |
22965 | private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 24787 | private 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 | /** | 24797 | private 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) |
22977 | private 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 | */ | ||
22997 | private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
22998 | Type.name(type,"FSObject class"); | ||
22999 | find directInstanceOf(problem,interpretation,element,type); | ||
23000 | } | 24810 | } |
23001 | private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 24811 | private 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 | 24825 | private 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 | */ | ||
23013 | private 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 | */ | ||
23037 | private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
23038 | Type.name(type,"Dir class"); | ||
23039 | find directInstanceOf(problem,interpretation,element,type); | ||
23040 | } | 24838 | } |
23041 | private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 24839 | // Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries choiceHasNoOutgoing |
24840 | private 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 | 24849 | private 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 | */ | ||
23053 | private 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 | */ | ||
23075 | private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
23076 | Type.name(type,"File class"); | ||
23077 | find directInstanceOf(problem,interpretation,element,type); | ||
23078 | } | 24857 | } |
23079 | private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 24858 | private 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 | /** | 24868 | private 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) |
23091 | private 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 | */ | ||
23113 | private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
23114 | Type.name(type,"Model class"); | ||
23115 | find directInstanceOf(problem,interpretation,element,type); | ||
23116 | } | 24876 | } |
23117 | private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 24877 | private 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 | 24886 | private 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 | */ | ||
23129 | private 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 | */ | ||
23151 | private 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 | } |
23155 | private 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 |
24896 | private 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 | */ | ||
23167 | private 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 | */ | ||
23172 | private 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 | } |
23176 | private pattern scopeDisallowsNewModel_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 24905 | private 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 | 24914 | private 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 | */ | ||
23188 | private 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 { | 24924 | private 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 | */ | ||
23212 | private 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 | /** | 24933 | private 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 | */ | ||
23226 | private 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 | /** | 24942 | private 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 | */ | ||
23270 | private 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) | 24952 | private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedIncomingInSameRegion( |
23283 | */ | ||
23284 | private 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 | /** | 24994 | private 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 | */ | ||
23310 | private 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 | /** | 25036 | private 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 | */ | ||
23324 | private 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) | 25079 | private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_notSynchronizingStates( |
23349 | */ | ||
23350 | private 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 | /** | 25089 | private 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 | */ | ||
23364 | private 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 | /** | 25099 | private 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 | */ | ||
23390 | private 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) | 25110 | private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_hasMultipleOutgoingTrainsition( |
23403 | */ | ||
23404 | private 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 | 25121 | private 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 | ||
23428 | private 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 | } |
23442 | private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( | 25132 | private 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 | } |
23456 | private 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 |
25144 | private 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 | } | ||
23470 | private 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 | } |
23473 | private pattern twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { | 25155 | private 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 | } |
23476 | private pattern twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { | 25166 | private 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 |
23480 | private pattern mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_live( | 25178 | private 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); |
23505 | private 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); | 25228 | private 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); |
23530 | private 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 | 25278 | private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_SynchronizedRegionsAreNotSiblings( |
23556 | private 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 | } |
23582 | private 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 |
25329 | private 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 | } |
23608 | private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_contentInNotLive( | 25345 | private 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 | ////////// | ||
23638 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
23639 | find mustContains4(_,_,source,target); | ||
23640 | } | ||
23641 | |||
23642 | private 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 | |||
23652 | private pattern mustTransitiveContains(source,target) { | ||
23653 | find mustContains2+(source,target); | ||
23654 | } | 25360 | } |
23655 | 25361 | private 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 | ////////// | ||
23661 | pattern 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 | ////////// | ||
23672 | pattern 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 | } | ||
23681 | pattern 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 | ////////// | ||
23694 | pattern 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 | ////////// | 25378 | private 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 | ////////// | ||
23705 | private 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 | } | ||
25400 | private 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 | } |
23735 | pattern createObject_Dir_class_by_root_reference_FileSystem( | 25422 | private 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 | } |
23751 | pattern 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 |
25445 | private 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 | } |
23769 | pattern createObject_Dir_class_by_otherFSObjects_reference_Model( | 25462 | private 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 | } |
23785 | pattern createObject_Dir_class( | 25479 | private 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 | } |
23797 | pattern 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 |
25497 | private 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 | } |
23815 | pattern createObject_File_class_by_otherFSObjects_reference_Model( | 25539 | private 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 | } |
23831 | pattern createObject_File_class( | 25581 | private 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 | } |
23843 | pattern createObject_Model_class_UndefinedPart( | 25623 | // Must, May and Current queries for pattern ca mcgill ecse dslreasoner standalone test yakindu queries twoSynch |
25624 | private 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 | } |
23855 | pattern createObject_FileSystem_class_by_filesystems_reference_Model( | 25637 | private 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 | } |
23871 | pattern createObject_FileSystem_class( | 25650 | private 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 | ////////// |
23887 | pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 25667 | private 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 | } | ||
23896 | pattern 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 | } | ||
23905 | pattern 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 | } | ||
23913 | pattern 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 | |||
25671 | private 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 | ////////// | 25679 | private pattern mustTransitiveContains(source,target) { |
23923 | // 4.3 Relation refinement | 25680 | find mustContains2+(source,target); |
23924 | ////////// | ||
23925 | pattern 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 | } |
23940 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
23941 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
23942 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
23943 | 25682 | ||
23944 | ////////// | 25683 | ////////// |
23945 | // 0. Util | 25684 | // 2. Invalidation Indexers |
23946 | ////////// | 25685 | ////////// |
23947 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | 25686 | // 2.1 Invalidated by WF Queries |
23948 | PartialInterpretation.problem(interpretation,problem); | 25687 | ////////// |
23949 | } | 25688 | pattern 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 | ///////////////////////// | ||
23954 | private 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 | |||
23962 | private 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 | 25693 | pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleEntryInRegion(problem:LogicProblem, interpretation:PartialInterpretation, | |
23970 | private 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 | 25698 | pattern 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); |
23982 | pattern 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 | 25703 | pattern 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); |
23991 | private 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 | 25708 | pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_multipleTransitionFromEntry(problem:LogicProblem, interpretation:PartialInterpretation, | |
23998 | private 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 | 25713 | pattern invalidatedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_outgoingFromExit(problem:LogicProblem, interpretation:PartialInterpretation, | |
24008 | private 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 | 25718 | pattern 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 | */ | ||
24026 | private pattern mustInstanceOfFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
24027 | Type.name(type,"FileSystem class"); | ||
24028 | find directInstanceOf(problem,interpretation,element,type); | ||
24029 | } | 25722 | } |
24030 | private pattern scopeDisallowsNewFileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 25723 | pattern 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 | 25728 | pattern 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 | */ | ||
24042 | private 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 | */ | ||
24062 | private pattern mustInstanceOfFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
24063 | Type.name(type,"FSObject class"); | ||
24064 | find directInstanceOf(problem,interpretation,element,type); | ||
24065 | } | 25732 | } |
24066 | private pattern scopeDisallowsNewFSObject_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 25733 | pattern 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 | 25738 | pattern 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 | */ | ||
24078 | private 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 | */ | ||
24102 | private pattern mustInstanceOfDir_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
24103 | Type.name(type,"Dir class"); | ||
24104 | find directInstanceOf(problem,interpretation,element,type); | ||
24105 | } | 25742 | } |
24106 | private pattern scopeDisallowsNewDir_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 25743 | pattern 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 | 25748 | pattern 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 | */ | ||
24118 | private 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 | */ | ||
24140 | private pattern mustInstanceOfFile_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
24141 | Type.name(type,"File class"); | ||
24142 | find directInstanceOf(problem,interpretation,element,type); | ||
24143 | } | 25752 | } |
24144 | private pattern scopeDisallowsNewFile_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 25753 | pattern 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 | 25758 | pattern 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 | */ | ||
24156 | private 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 | */ | ||
24178 | private pattern mustInstanceOfModel_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
24179 | Type.name(type,"Model class"); | ||
24180 | find directInstanceOf(problem,interpretation,element,type); | ||
24181 | } | 25762 | } |
24182 | private pattern scopeDisallowsNewModel_class(problem:LogicProblem, interpretation:PartialInterpretation) { | 25763 | pattern 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 | 25768 | pattern 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 | */ | ||
24194 | private 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 | */ | ||
24216 | private 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 | } |
24220 | private pattern scopeDisallowsNewModel_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | 25773 | pattern 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 | ////////// |
24232 | private 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 | /** | 25784 | pattern 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 | */ | ||
24237 | private 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 | } | ||
24241 | private 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 | */ | ||
24253 | private 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 | /** | 25797 | pattern 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 | */ | ||
24277 | private 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 | /** | 25802 | pattern 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 | */ | ||
24291 | private 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 | /** | 25807 | pattern 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 | */ | ||
24335 | private 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 | /** | 25812 | pattern 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 | */ | ||
24349 | private 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 | /** | 25817 | pattern 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 | */ | ||
24375 | private 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 | /** | 25822 | pattern 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 | */ | ||
24389 | private 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 | /** | 25827 | pattern 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 | */ | ||
24415 | private 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 | /** | 25832 | pattern 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 | */ | ||
24429 | private 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 | /** | 25837 | pattern 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 | */ | ||
24455 | private 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 | /** | 25842 | pattern 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 | */ | ||
24469 | private 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 | 25847 | pattern 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 | ||
24493 | private 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 | } |
24507 | private pattern mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( | 25852 | pattern 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 | } |
24521 | private pattern currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent( | 25857 | pattern 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 | } |
24535 | private pattern twoParam_mustInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { | 25862 | pattern 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 | } | ||
25867 | pattern 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 | } |
24538 | private pattern twoParam_mayInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { | 25872 | pattern 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 | } |
24541 | private pattern twoParam_currentInRelation_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_filesystem_queries_patternContent(var_o1, var_o2) { | 25877 | pattern 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 | 25882 | pattern unfinishedBy_pattern_ca_mcgill_ecse_dslreasoner_standalone_test_yakindu_queries_twoSynch(problem:LogicProblem, interpretation:PartialInterpretation, |
24545 | private 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 | ////////// | ||
25893 | private 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 | } | ||
24570 | private 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 | } | ||
24595 | private 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 | ||
24621 | private 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 | } | ||
24647 | private 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 | } | ||
24673 | private 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 | ////////// | ||
24703 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
24704 | find mustContains4(_,_,source,target); | ||
24705 | } | ||
24706 | |||
24707 | private 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 | |||
24717 | private 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 | ////////// | ||
24726 | pattern 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 | ////////// | ||
24737 | pattern 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 | } | ||
24746 | pattern 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 | ////////// | ||
24759 | pattern 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 | ////////// | ||
24770 | private 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 | } |
24800 | pattern createObject_Dir_class_by_root_reference_FileSystem( | 25963 | pattern 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 | } | ||
25975 | pattern 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 | } |
24816 | pattern createObject_Dir_class_by_contents_reference_Dir_with_parent_reference_FSObject( | 25991 | pattern 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 | } | ||
26003 | pattern 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 | } |
24834 | pattern createObject_Dir_class_by_otherFSObjects_reference_Model( | 26021 | pattern 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 | } | ||
26033 | pattern 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 | } | ||
26049 | pattern 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 | } | ||
26061 | pattern 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 | } |
24850 | pattern createObject_Dir_class( | 26077 | pattern 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 | } |
24862 | pattern createObject_FileSystem_class_by_filesystems_reference_Model( | 26089 | pattern 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 | } |
24878 | pattern createObject_FileSystem_class( | 26105 | pattern 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 | } |
24890 | pattern createObject_Model_class_UndefinedPart( | 26117 | pattern 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 | } | ||
26133 | pattern 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 | } |
24902 | pattern createObject_File_class_by_contents_reference_Dir_with_parent_reference_FSObject( | 26145 | pattern 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 | } |
24920 | pattern createObject_File_class_by_otherFSObjects_reference_Model( | 26161 | pattern 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 | } | ||
26173 | pattern 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 | } |
24936 | pattern createObject_File_class( | 26189 | pattern 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 | ////////// |
24952 | pattern refineTypeTo_Dir_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 26205 | pattern 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 | } | ||
26214 | pattern 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 | } | ||
26227 | pattern 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 | } |
24961 | pattern refineTypeTo_FileSystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 26236 | pattern 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 | } |
24969 | pattern refineTypeTo_Model_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 26247 | pattern 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 | } |
24977 | pattern refineTypeTo_File_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | 26260 | pattern 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 | } | ||
26273 | pattern 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 | } | ||
26283 | pattern 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 | } | ||
26292 | pattern 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 | ////////// |
24990 | pattern refineRelation_live_reference_FileSystem( | 26309 | pattern 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> |