diff options
author | 20001LastOrder <boqi.chen@mail.mcgill.ca> | 2020-11-15 21:56:45 -0500 |
---|---|---|
committer | 20001LastOrder <boqi.chen@mail.mcgill.ca> | 2020-11-15 21:56:45 -0500 |
commit | 1cfc2e98ffbba1dc2a489ad415c81264b76d8c14 (patch) | |
tree | b342c3541a5728b775564d8a0f5c6e6d93784694 /Metrics/Metrics-Calculation/SocialNetwork_plugin | |
parent | fix node type distance measure (diff) | |
download | VIATRA-Generator-1cfc2e98ffbba1dc2a489ad415c81264b76d8c14.tar.gz VIATRA-Generator-1cfc2e98ffbba1dc2a489ad415c81264b76d8c14.tar.zst VIATRA-Generator-1cfc2e98ffbba1dc2a489ad415c81264b76d8c14.zip |
code for paperRealistic-Generation-SURE
Diffstat (limited to 'Metrics/Metrics-Calculation/SocialNetwork_plugin')
16 files changed, 3620 insertions, 49 deletions
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner.launch b/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner.launch index 9162f976..ae41d2c3 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner.launch +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner.launch | |||
@@ -11,7 +11,7 @@ | |||
11 | <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> | 11 | <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> |
12 | <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="ca.mcgill.ecse.socialnetwork.runner.Main"/> | 12 | <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="ca.mcgill.ecse.socialnetwork.runner.Main"/> |
13 | <stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="SocialNetwork_plugin"/> | 13 | <stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="SocialNetwork_plugin"/> |
14 | <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="yakinduGeneration.vsconfig"/> | 14 | <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="ecore.vsconfig"/> |
15 | <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="SocialNetwork_plugin"/> | 15 | <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="SocialNetwork_plugin"/> |
16 | <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx8G"/> | 16 | <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx8G"/> |
17 | </launchConfiguration> | 17 | </launchConfiguration> |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt index 44724f1a..0654287f 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt | |||
@@ -1,14 +1,11 @@ | |||
1 | Error occured (DiagnosticWrappedException): org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'vertices' not found. (file:///C:/Users/chenp/Documents/Eclipse/VIATRA-Generator/Metrics/Metrics-Calculation/SocialNetwork_plugin/inputs/start.xmi, 3, 57) | 1 | Error occured (AlloySolverException): Parser Exception |
2 | org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319) | 2 | hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.AlloyHandler.callSolver(AlloyHandler.java:98) |
3 | org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278) | 3 | hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolver.solve(AlloySolver.java:67) |
4 | org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:266) | 4 | hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:329) |
5 | org.eclipse.xtext.resource.SynchronizedXtextResourceSet.getResource(SynchronizedXtextResourceSet.java:25) | ||
6 | hu.bme.mit.inf.dslreasoner.application.execution.ModelLoader.loadModel(ModelLoader.java:41) | ||
7 | hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:171) | ||
8 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:141) | 5 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:141) |
9 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:382) | 6 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:382) |
10 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:122) | 7 | hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:122) |
11 | hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:155) | 8 | hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:155) |
12 | hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:147) | 9 | hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:147) |
13 | ca.mcgill.ecse.socialnetwork.runner.Main.runWithPath(Main.java:24) | 10 | ca.mcgill.ecse.socialnetwork.runner.Main.runWithPath(Main.java:24) |
14 | ca.mcgill.ecse.socialnetwork.runner.Main.main(Main.java:40) | 11 | ca.mcgill.ecse.socialnetwork.runner.Main.main(Main.java:36) |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/generated3valued.vql_deactivated b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/generated3valued.vql_deactivated new file mode 100644 index 00000000..d553f3cf --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/generated3valued.vql_deactivated | |||
@@ -0,0 +1,2004 @@ | |||
1 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
2 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
3 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
4 | |||
5 | ////////// | ||
6 | // 0. Util | ||
7 | ////////// | ||
8 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
9 | PartialInterpretation.problem(interpretation,problem); | ||
10 | } | ||
11 | |||
12 | ///////////////////////// | ||
13 | // 0.1 Existence | ||
14 | ///////////////////////// | ||
15 | /** [[exist(element)]]=1 */ | ||
16 | private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
17 | find interpretation(problem,interpretation); | ||
18 | LogicProblem.elements(problem,element); | ||
19 | } or { | ||
20 | find interpretation(problem,interpretation); | ||
21 | PartialInterpretation.newElements(interpretation,element); | ||
22 | } | ||
23 | |||
24 | /** [[exist(element)]]>=1/2 */ | ||
25 | private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
26 | find mustExist(problem,interpretation,element); | ||
27 | } or { | ||
28 | find interpretation(problem,interpretation); | ||
29 | neg find elementCloseWorld(element); | ||
30 | PartialInterpretation.openWorldElements(interpretation,element); | ||
31 | } | ||
32 | |||
33 | private pattern elementCloseWorld(element:DefinedElement) { | ||
34 | PartialInterpretation.openWorldElements(i,element); | ||
35 | PartialInterpretation.maxNewElements(i,0); | ||
36 | } or { | ||
37 | Scope.targetTypeInterpretation(scope,interpretation); | ||
38 | PartialTypeInterpratation.elements(interpretation,element); | ||
39 | Scope.maxNewElements(scope,0); | ||
40 | } | ||
41 | |||
42 | //////////////////////// | ||
43 | // 0.2 Equivalence | ||
44 | //////////////////////// | ||
45 | pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) | ||
46 | // For non-primitive type. Boolean types always must equivalent or cannot equivalent | ||
47 | { | ||
48 | find mayExist(problem,interpretation,a); | ||
49 | find mayExist(problem,interpretation,b); | ||
50 | a == b; | ||
51 | } | ||
52 | |||
53 | pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { | ||
54 | // For non-primitive and Boolean primitive type | ||
55 | find mustExist(problem,interpretation,a); | ||
56 | find mustExist(problem,interpretation,b); | ||
57 | a == b; | ||
58 | } | ||
59 | |||
60 | ////////// | ||
61 | // 1. Problem-Specific Base Indexers | ||
62 | ////////// | ||
63 | // 1.1 Type Indexers | ||
64 | ////////// | ||
65 | // 1.1.1 Required Patterns by TypeIndexer | ||
66 | ////////// | ||
67 | |||
68 | private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) { | ||
69 | find interpretation(problem,interpretation); | ||
70 | LogicProblem.types(problem,type); | ||
71 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
72 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
73 | } | ||
74 | |||
75 | private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { | ||
76 | find interpretation(problem,interpretation); | ||
77 | LogicProblem.types(problem,type); | ||
78 | TypeDefinition.elements(type,element); | ||
79 | } or { | ||
80 | find interpretation(problem,interpretation); | ||
81 | find typeInterpretation(problem,interpretation,type,typeInterpretation); | ||
82 | PartialComplexTypeInterpretation.elements(typeInterpretation,element); | ||
83 | } | ||
84 | |||
85 | private pattern isPrimitive(element: PrimitiveElement) { | ||
86 | PrimitiveElement(element); | ||
87 | } | ||
88 | |||
89 | ////////// | ||
90 | // 1.1.2 primitive Type Indexers | ||
91 | ////////// | ||
92 | // Currently unused. Refer primitive types as: | ||
93 | // > PrimitiveElement(element) | ||
94 | // specific types are referred as: | ||
95 | // > BooleanElement(variableName) | ||
96 | // > IntegerElement(variableName) | ||
97 | // > RealElement(variableName) | ||
98 | // > StringElement(variableName) | ||
99 | // And their value as | ||
100 | // > BooleanElement.value(variableName,value) | ||
101 | // > IntegerElement.value(variableName,value) | ||
102 | // > RealElement.value(variableName,value) | ||
103 | // > StringElement.value(variableName,value) | ||
104 | // Whether a value is set is defined by: | ||
105 | // > PrimitiveElement.valueSet(variableName,isFilled); | ||
106 | |||
107 | ////////// | ||
108 | // 1.1.3 domain-specific Type Indexers | ||
109 | ////////// | ||
110 | /** | ||
111 | * An element must be an instance of type "User class". | ||
112 | */ | ||
113 | private pattern mustInstanceOfUser_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
114 | Type.name(type,"User class"); | ||
115 | find directInstanceOf(problem,interpretation,element,type); | ||
116 | } | ||
117 | private pattern scopeDisallowsNewUser_class(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
118 | find interpretation(problem,interpretation); | ||
119 | PartialInterpretation.scopes(interpretation,scope); | ||
120 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
121 | Scope.maxNewElements(scope,0); | ||
122 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
123 | Type.name(type,"User class"); | ||
124 | } | ||
125 | |||
126 | /** | ||
127 | * An element may be an instance of type "User class". | ||
128 | */ | ||
129 | private pattern mayInstanceOfUser_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
130 | { | ||
131 | find interpretation(problem,interpretation); | ||
132 | PartialInterpretation.newElements(interpretation,element); | ||
133 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
134 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
135 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
136 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
137 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
138 | neg find scopeDisallowsNewUser_class(problem, interpretation); | ||
139 | neg find isPrimitive(element); | ||
140 | } or { | ||
141 | find interpretation(problem,interpretation); | ||
142 | PartialInterpretation.openWorldElements(interpretation,element); | ||
143 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
144 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
145 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
146 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
147 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
148 | neg find scopeDisallowsNewUser_class(problem, interpretation); | ||
149 | neg find isPrimitive(element); | ||
150 | } or | ||
151 | { find mustInstanceOfUser_class(problem,interpretation,element); } | ||
152 | /** | ||
153 | * An element must be an instance of type "Project class". | ||
154 | */ | ||
155 | private pattern mustInstanceOfProject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
156 | Type.name(type,"Project class"); | ||
157 | find directInstanceOf(problem,interpretation,element,type); | ||
158 | } | ||
159 | private pattern scopeDisallowsNewProject_class(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
160 | find interpretation(problem,interpretation); | ||
161 | PartialInterpretation.scopes(interpretation,scope); | ||
162 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
163 | Scope.maxNewElements(scope,0); | ||
164 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
165 | Type.name(type,"Project class"); | ||
166 | } | ||
167 | |||
168 | /** | ||
169 | * An element may be an instance of type "Project class". | ||
170 | */ | ||
171 | private pattern mayInstanceOfProject_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
172 | { | ||
173 | find interpretation(problem,interpretation); | ||
174 | PartialInterpretation.newElements(interpretation,element); | ||
175 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
176 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
177 | neg find mustInstanceOfProject_class_UndefinedPart(problem,interpretation,element); | ||
178 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
179 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
180 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
181 | neg find scopeDisallowsNewProject_class(problem, interpretation); | ||
182 | neg find isPrimitive(element); | ||
183 | } or { | ||
184 | find interpretation(problem,interpretation); | ||
185 | PartialInterpretation.openWorldElements(interpretation,element); | ||
186 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
187 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
188 | neg find mustInstanceOfProject_class_UndefinedPart(problem,interpretation,element); | ||
189 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
190 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
191 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
192 | neg find scopeDisallowsNewProject_class(problem, interpretation); | ||
193 | neg find isPrimitive(element); | ||
194 | } or | ||
195 | { find mustInstanceOfProject_class(problem,interpretation,element); } | ||
196 | /** | ||
197 | * An element must be an instance of type "Commit class". | ||
198 | */ | ||
199 | private pattern mustInstanceOfCommit_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
200 | Type.name(type,"Commit class"); | ||
201 | find directInstanceOf(problem,interpretation,element,type); | ||
202 | } | ||
203 | private pattern scopeDisallowsNewCommit_class(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
204 | find interpretation(problem,interpretation); | ||
205 | PartialInterpretation.scopes(interpretation,scope); | ||
206 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
207 | Scope.maxNewElements(scope,0); | ||
208 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
209 | Type.name(type,"Commit class"); | ||
210 | } | ||
211 | |||
212 | /** | ||
213 | * An element may be an instance of type "Commit class". | ||
214 | */ | ||
215 | private pattern mayInstanceOfCommit_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
216 | { | ||
217 | find interpretation(problem,interpretation); | ||
218 | PartialInterpretation.newElements(interpretation,element); | ||
219 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
220 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
221 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
222 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
223 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
224 | neg find scopeDisallowsNewCommit_class(problem, interpretation); | ||
225 | neg find isPrimitive(element); | ||
226 | } or { | ||
227 | find interpretation(problem,interpretation); | ||
228 | PartialInterpretation.openWorldElements(interpretation,element); | ||
229 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
230 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
231 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
232 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
233 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
234 | neg find scopeDisallowsNewCommit_class(problem, interpretation); | ||
235 | neg find isPrimitive(element); | ||
236 | } or | ||
237 | { find mustInstanceOfCommit_class(problem,interpretation,element); } | ||
238 | /** | ||
239 | * An element must be an instance of type "Issue class". | ||
240 | */ | ||
241 | private pattern mustInstanceOfIssue_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
242 | Type.name(type,"Issue class"); | ||
243 | find directInstanceOf(problem,interpretation,element,type); | ||
244 | } | ||
245 | private pattern scopeDisallowsNewIssue_class(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
246 | find interpretation(problem,interpretation); | ||
247 | PartialInterpretation.scopes(interpretation,scope); | ||
248 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
249 | Scope.maxNewElements(scope,0); | ||
250 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
251 | Type.name(type,"Issue class"); | ||
252 | } | ||
253 | |||
254 | /** | ||
255 | * An element may be an instance of type "Issue class". | ||
256 | */ | ||
257 | private pattern mayInstanceOfIssue_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
258 | { | ||
259 | find interpretation(problem,interpretation); | ||
260 | PartialInterpretation.newElements(interpretation,element); | ||
261 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
262 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
263 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
264 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
265 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
266 | neg find scopeDisallowsNewIssue_class(problem, interpretation); | ||
267 | neg find isPrimitive(element); | ||
268 | } or { | ||
269 | find interpretation(problem,interpretation); | ||
270 | PartialInterpretation.openWorldElements(interpretation,element); | ||
271 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
272 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
273 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
274 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
275 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
276 | neg find scopeDisallowsNewIssue_class(problem, interpretation); | ||
277 | neg find isPrimitive(element); | ||
278 | } or | ||
279 | { find mustInstanceOfIssue_class(problem,interpretation,element); } | ||
280 | /** | ||
281 | * An element must be an instance of type "PullRequest class". | ||
282 | */ | ||
283 | private pattern mustInstanceOfPullRequest_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
284 | Type.name(type,"PullRequest class"); | ||
285 | find directInstanceOf(problem,interpretation,element,type); | ||
286 | } | ||
287 | private pattern scopeDisallowsNewPullRequest_class(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
288 | find interpretation(problem,interpretation); | ||
289 | PartialInterpretation.scopes(interpretation,scope); | ||
290 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
291 | Scope.maxNewElements(scope,0); | ||
292 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
293 | Type.name(type,"PullRequest class"); | ||
294 | } | ||
295 | |||
296 | /** | ||
297 | * An element may be an instance of type "PullRequest class". | ||
298 | */ | ||
299 | private pattern mayInstanceOfPullRequest_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
300 | { | ||
301 | find interpretation(problem,interpretation); | ||
302 | PartialInterpretation.newElements(interpretation,element); | ||
303 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
304 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
305 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
306 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
307 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
308 | neg find scopeDisallowsNewPullRequest_class(problem, interpretation); | ||
309 | neg find isPrimitive(element); | ||
310 | } or { | ||
311 | find interpretation(problem,interpretation); | ||
312 | PartialInterpretation.openWorldElements(interpretation,element); | ||
313 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
314 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
315 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
316 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
317 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
318 | neg find scopeDisallowsNewPullRequest_class(problem, interpretation); | ||
319 | neg find isPrimitive(element); | ||
320 | } or | ||
321 | { find mustInstanceOfPullRequest_class(problem,interpretation,element); } | ||
322 | /** | ||
323 | * An element must be an instance of type "IssueEvent class". | ||
324 | */ | ||
325 | private pattern mustInstanceOfIssueEvent_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
326 | Type.name(type,"IssueEvent class"); | ||
327 | find directInstanceOf(problem,interpretation,element,type); | ||
328 | } | ||
329 | private pattern scopeDisallowsNewIssueEvent_class(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
330 | find interpretation(problem,interpretation); | ||
331 | PartialInterpretation.scopes(interpretation,scope); | ||
332 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
333 | Scope.maxNewElements(scope,0); | ||
334 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
335 | Type.name(type,"IssueEvent class"); | ||
336 | } | ||
337 | |||
338 | /** | ||
339 | * An element may be an instance of type "IssueEvent class". | ||
340 | */ | ||
341 | private pattern mayInstanceOfIssueEvent_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
342 | { | ||
343 | find interpretation(problem,interpretation); | ||
344 | PartialInterpretation.newElements(interpretation,element); | ||
345 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
346 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
347 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
348 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
349 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
350 | neg find scopeDisallowsNewIssueEvent_class(problem, interpretation); | ||
351 | neg find isPrimitive(element); | ||
352 | } or { | ||
353 | find interpretation(problem,interpretation); | ||
354 | PartialInterpretation.openWorldElements(interpretation,element); | ||
355 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
356 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
357 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
358 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
359 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
360 | neg find scopeDisallowsNewIssueEvent_class(problem, interpretation); | ||
361 | neg find isPrimitive(element); | ||
362 | } or | ||
363 | { find mustInstanceOfIssueEvent_class(problem,interpretation,element); } | ||
364 | /** | ||
365 | * An element must be an instance of type "Action enum". | ||
366 | */ | ||
367 | private pattern mustInstanceOfAction_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
368 | Type.name(type,"Action enum"); | ||
369 | find directInstanceOf(problem,interpretation,element,type); | ||
370 | } | ||
371 | private pattern scopeDisallowsNewAction_enum(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
372 | find interpretation(problem,interpretation); | ||
373 | PartialInterpretation.scopes(interpretation,scope); | ||
374 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
375 | Scope.maxNewElements(scope,0); | ||
376 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
377 | Type.name(type,"Action enum"); | ||
378 | } | ||
379 | |||
380 | /** | ||
381 | * An element may be an instance of type "Action enum". | ||
382 | */ | ||
383 | private pattern mayInstanceOfAction_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
384 | { find mustInstanceOfAction_enum(problem,interpretation,element); } | ||
385 | /** | ||
386 | * An element must be an instance of type "Project class DefinedPart". | ||
387 | */ | ||
388 | private pattern mustInstanceOfProject_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
389 | Type.name(type,"Project class DefinedPart"); | ||
390 | find directInstanceOf(problem,interpretation,element,type); | ||
391 | } | ||
392 | private pattern scopeDisallowsNewProject_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
393 | find interpretation(problem,interpretation); | ||
394 | PartialInterpretation.scopes(interpretation,scope); | ||
395 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
396 | Scope.maxNewElements(scope,0); | ||
397 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
398 | Type.name(type,"Project class DefinedPart"); | ||
399 | } | ||
400 | |||
401 | /** | ||
402 | * An element may be an instance of type "Project class DefinedPart". | ||
403 | */ | ||
404 | private pattern mayInstanceOfProject_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
405 | { find mustInstanceOfProject_class_DefinedPart(problem,interpretation,element); } | ||
406 | /** | ||
407 | * An element must be an instance of type "Project class UndefinedPart". | ||
408 | */ | ||
409 | private pattern mustInstanceOfProject_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
410 | Type.name(type,"Project class UndefinedPart"); | ||
411 | find directInstanceOf(problem,interpretation,element,type); | ||
412 | } | ||
413 | private pattern scopeDisallowsNewProject_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
414 | find interpretation(problem,interpretation); | ||
415 | PartialInterpretation.scopes(interpretation,scope); | ||
416 | Scope.targetTypeInterpretation(scope,typeInterpretation); | ||
417 | Scope.maxNewElements(scope,0); | ||
418 | PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); | ||
419 | Type.name(type,"Project class UndefinedPart"); | ||
420 | } | ||
421 | |||
422 | /** | ||
423 | * An element may be an instance of type "Project class UndefinedPart". | ||
424 | */ | ||
425 | private pattern mayInstanceOfProject_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) | ||
426 | { | ||
427 | find interpretation(problem,interpretation); | ||
428 | PartialInterpretation.newElements(interpretation,element); | ||
429 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
430 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
431 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
432 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
433 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
434 | neg find scopeDisallowsNewProject_class_UndefinedPart(problem, interpretation); | ||
435 | neg find isPrimitive(element); | ||
436 | } or { | ||
437 | find interpretation(problem,interpretation); | ||
438 | PartialInterpretation.openWorldElements(interpretation,element); | ||
439 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
440 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
441 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
442 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
443 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
444 | neg find scopeDisallowsNewProject_class_UndefinedPart(problem, interpretation); | ||
445 | neg find isPrimitive(element); | ||
446 | } or | ||
447 | { find mustInstanceOfProject_class_UndefinedPart(problem,interpretation,element); } | ||
448 | |||
449 | ////////// | ||
450 | // 1.2 Relation Declaration Indexers | ||
451 | ////////// | ||
452 | /** | ||
453 | * Matcher for detecting tuples t where []issue reference Project(source,target) | ||
454 | */ | ||
455 | private pattern mustInRelationissue_reference_Project( | ||
456 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
457 | source: DefinedElement, target:DefinedElement) | ||
458 | { | ||
459 | find interpretation(problem,interpretation); | ||
460 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
461 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"issue reference Project"); | ||
462 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
463 | BinaryElementRelationLink.param1(link,source); | ||
464 | BinaryElementRelationLink.param2(link,target); | ||
465 | } | ||
466 | /** | ||
467 | * Matcher for detecting tuples t where <>issue reference Project(source,target) | ||
468 | */ | ||
469 | private pattern mayInRelationissue_reference_Project( | ||
470 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
471 | source: DefinedElement, target:DefinedElement) | ||
472 | { | ||
473 | find interpretation(problem,interpretation); | ||
474 | // The two endpoint of the link have to exist | ||
475 | find mayExist(problem, interpretation, source); | ||
476 | find mayExist(problem, interpretation, target); | ||
477 | // Type consistency | ||
478 | find mayInstanceOfProject_class(problem,interpretation,source); | ||
479 | find mayInstanceOfIssue_class(problem,interpretation,target); | ||
480 | // The reference is containment, then a new reference cannot be create if: | ||
481 | // 1. Multiple parents | ||
482 | neg find mustContains4(problem,interpretation,_,target); | ||
483 | // 2. Circle in the containment hierarchy | ||
484 | neg find mustTransitiveContains(source,target); | ||
485 | } or { | ||
486 | find mustInRelationissue_reference_Project(problem,interpretation,source,target); | ||
487 | } | ||
488 | /** | ||
489 | * Matcher for detecting tuples t where []projectMembers reference Project(source,target) | ||
490 | */ | ||
491 | private pattern mustInRelationprojectMembers_reference_Project( | ||
492 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
493 | source: DefinedElement, target:DefinedElement) | ||
494 | { | ||
495 | find interpretation(problem,interpretation); | ||
496 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
497 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"projectMembers reference Project"); | ||
498 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
499 | BinaryElementRelationLink.param1(link,source); | ||
500 | BinaryElementRelationLink.param2(link,target); | ||
501 | } | ||
502 | /** | ||
503 | * Matcher for detecting tuples t where <>projectMembers reference Project(source,target) | ||
504 | */ | ||
505 | private pattern mayInRelationprojectMembers_reference_Project( | ||
506 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
507 | source: DefinedElement, target:DefinedElement) | ||
508 | { | ||
509 | find interpretation(problem,interpretation); | ||
510 | // The two endpoint of the link have to exist | ||
511 | find mayExist(problem, interpretation, source); | ||
512 | find mayExist(problem, interpretation, target); | ||
513 | // Type consistency | ||
514 | find mayInstanceOfProject_class(problem,interpretation,source); | ||
515 | find mayInstanceOfUser_class(problem,interpretation,target); | ||
516 | // The reference is containment, then a new reference cannot be create if: | ||
517 | // 1. Multiple parents | ||
518 | neg find mustContains4(problem,interpretation,_,target); | ||
519 | // 2. Circle in the containment hierarchy | ||
520 | neg find mustTransitiveContains(source,target); | ||
521 | } or { | ||
522 | find mustInRelationprojectMembers_reference_Project(problem,interpretation,source,target); | ||
523 | } | ||
524 | /** | ||
525 | * Matcher for detecting tuples t where []commits reference Project(source,target) | ||
526 | */ | ||
527 | private pattern mustInRelationcommits_reference_Project( | ||
528 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
529 | source: DefinedElement, target:DefinedElement) | ||
530 | { | ||
531 | find interpretation(problem,interpretation); | ||
532 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
533 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commits reference Project"); | ||
534 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
535 | BinaryElementRelationLink.param1(link,source); | ||
536 | BinaryElementRelationLink.param2(link,target); | ||
537 | } | ||
538 | /** | ||
539 | * Matcher for detecting tuples t where <>commits reference Project(source,target) | ||
540 | */ | ||
541 | private pattern mayInRelationcommits_reference_Project( | ||
542 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
543 | source: DefinedElement, target:DefinedElement) | ||
544 | { | ||
545 | find interpretation(problem,interpretation); | ||
546 | // The two endpoint of the link have to exist | ||
547 | find mayExist(problem, interpretation, source); | ||
548 | find mayExist(problem, interpretation, target); | ||
549 | // Type consistency | ||
550 | find mayInstanceOfProject_class(problem,interpretation,source); | ||
551 | find mayInstanceOfCommit_class(problem,interpretation,target); | ||
552 | // The reference is containment, then a new reference cannot be create if: | ||
553 | // 1. Multiple parents | ||
554 | neg find mustContains4(problem,interpretation,_,target); | ||
555 | // 2. Circle in the containment hierarchy | ||
556 | neg find mustTransitiveContains(source,target); | ||
557 | } or { | ||
558 | find mustInRelationcommits_reference_Project(problem,interpretation,source,target); | ||
559 | } | ||
560 | /** | ||
561 | * Matcher for detecting tuples t where []committer reference Commit(source,target) | ||
562 | */ | ||
563 | private pattern mustInRelationcommitter_reference_Commit( | ||
564 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
565 | source: DefinedElement, target:DefinedElement) | ||
566 | { | ||
567 | find interpretation(problem,interpretation); | ||
568 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
569 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"committer reference Commit"); | ||
570 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
571 | BinaryElementRelationLink.param1(link,source); | ||
572 | BinaryElementRelationLink.param2(link,target); | ||
573 | } | ||
574 | /** | ||
575 | * Matcher for detecting tuples t where <>committer reference Commit(source,target) | ||
576 | */ | ||
577 | private pattern mayInRelationcommitter_reference_Commit( | ||
578 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
579 | source: DefinedElement, target:DefinedElement) | ||
580 | { | ||
581 | find interpretation(problem,interpretation); | ||
582 | // The two endpoint of the link have to exist | ||
583 | find mayExist(problem, interpretation, source); | ||
584 | find mayExist(problem, interpretation, target); | ||
585 | // Type consistency | ||
586 | find mayInstanceOfCommit_class(problem,interpretation,source); | ||
587 | find mayInstanceOfUser_class(problem,interpretation,target); | ||
588 | // There are "numberOfExistingReferences" currently existing instances of the reference from the source, | ||
589 | // the upper bound of the multiplicity should be considered. | ||
590 | numberOfExistingReferences == count find mustInRelationcommitter_reference_Commit(problem,interpretation,source,_); | ||
591 | numberOfExistingReferences != 1; | ||
592 | } or { | ||
593 | find mustInRelationcommitter_reference_Commit(problem,interpretation,source,target); | ||
594 | } | ||
595 | /** | ||
596 | * Matcher for detecting tuples t where []parents reference Commit(source,target) | ||
597 | */ | ||
598 | private pattern mustInRelationparents_reference_Commit( | ||
599 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
600 | source: DefinedElement, target:DefinedElement) | ||
601 | { | ||
602 | find interpretation(problem,interpretation); | ||
603 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
604 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parents reference Commit"); | ||
605 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
606 | BinaryElementRelationLink.param1(link,source); | ||
607 | BinaryElementRelationLink.param2(link,target); | ||
608 | } | ||
609 | /** | ||
610 | * Matcher for detecting tuples t where <>parents reference Commit(source,target) | ||
611 | */ | ||
612 | private pattern mayInRelationparents_reference_Commit( | ||
613 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
614 | source: DefinedElement, target:DefinedElement) | ||
615 | { | ||
616 | find interpretation(problem,interpretation); | ||
617 | // The two endpoint of the link have to exist | ||
618 | find mayExist(problem, interpretation, source); | ||
619 | find mayExist(problem, interpretation, target); | ||
620 | // Type consistency | ||
621 | find mayInstanceOfCommit_class(problem,interpretation,source); | ||
622 | find mayInstanceOfCommit_class(problem,interpretation,target); | ||
623 | // There are "numberOfExistingReferences" currently existing instances of the reference from the source, | ||
624 | // the upper bound of the multiplicity should be considered. | ||
625 | numberOfExistingReferences == count find mustInRelationparents_reference_Commit(problem,interpretation,source,_); | ||
626 | numberOfExistingReferences != 2; | ||
627 | } or { | ||
628 | find mustInRelationparents_reference_Commit(problem,interpretation,source,target); | ||
629 | } | ||
630 | /** | ||
631 | * Matcher for detecting tuples t where []pullrequest reference Commit(source,target) | ||
632 | */ | ||
633 | private pattern mustInRelationpullrequest_reference_Commit( | ||
634 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
635 | source: DefinedElement, target:DefinedElement) | ||
636 | { | ||
637 | find interpretation(problem,interpretation); | ||
638 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
639 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"pullrequest reference Commit"); | ||
640 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
641 | BinaryElementRelationLink.param1(link,source); | ||
642 | BinaryElementRelationLink.param2(link,target); | ||
643 | } | ||
644 | /** | ||
645 | * Matcher for detecting tuples t where <>pullrequest reference Commit(source,target) | ||
646 | */ | ||
647 | private pattern mayInRelationpullrequest_reference_Commit( | ||
648 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
649 | source: DefinedElement, target:DefinedElement) | ||
650 | { | ||
651 | find interpretation(problem,interpretation); | ||
652 | // The two endpoint of the link have to exist | ||
653 | find mayExist(problem, interpretation, source); | ||
654 | find mayExist(problem, interpretation, target); | ||
655 | // Type consistency | ||
656 | find mayInstanceOfCommit_class(problem,interpretation,source); | ||
657 | find mayInstanceOfPullRequest_class(problem,interpretation,target); | ||
658 | // There are "numberOfExistingReferences" currently existing instances of the reference from the source, | ||
659 | // the upper bound of the multiplicity should be considered. | ||
660 | numberOfExistingReferences == count find mustInRelationpullrequest_reference_Commit(problem,interpretation,source,_); | ||
661 | numberOfExistingReferences != 1; | ||
662 | // There are "numberOfExistingReferences" currently existing instances of the reference to the target, | ||
663 | // the upper bound of the opposite reference multiplicity should be considered. | ||
664 | numberOfExistingOppositeReferences == count find mustInRelationcommit_reference_PullRequest(problem,interpretation,target,_); | ||
665 | numberOfExistingOppositeReferences != 1; | ||
666 | } or { | ||
667 | find mustInRelationpullrequest_reference_Commit(problem,interpretation,source,target); | ||
668 | } | ||
669 | /** | ||
670 | * Matcher for detecting tuples t where []pullrequest reference Issue(source,target) | ||
671 | */ | ||
672 | private pattern mustInRelationpullrequest_reference_Issue( | ||
673 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
674 | source: DefinedElement, target:DefinedElement) | ||
675 | { | ||
676 | find interpretation(problem,interpretation); | ||
677 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
678 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"pullrequest reference Issue"); | ||
679 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
680 | BinaryElementRelationLink.param1(link,source); | ||
681 | BinaryElementRelationLink.param2(link,target); | ||
682 | } | ||
683 | /** | ||
684 | * Matcher for detecting tuples t where <>pullrequest reference Issue(source,target) | ||
685 | */ | ||
686 | private pattern mayInRelationpullrequest_reference_Issue( | ||
687 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
688 | source: DefinedElement, target:DefinedElement) | ||
689 | { | ||
690 | find interpretation(problem,interpretation); | ||
691 | // The two endpoint of the link have to exist | ||
692 | find mayExist(problem, interpretation, source); | ||
693 | find mayExist(problem, interpretation, target); | ||
694 | // Type consistency | ||
695 | find mayInstanceOfIssue_class(problem,interpretation,source); | ||
696 | find mayInstanceOfPullRequest_class(problem,interpretation,target); | ||
697 | // There are "numberOfExistingReferences" currently existing instances of the reference from the source, | ||
698 | // the upper bound of the multiplicity should be considered. | ||
699 | numberOfExistingReferences == count find mustInRelationpullrequest_reference_Issue(problem,interpretation,source,_); | ||
700 | numberOfExistingReferences != 1; | ||
701 | // The reference is containment, then a new reference cannot be create if: | ||
702 | // 1. Multiple parents | ||
703 | neg find mustContains4(problem,interpretation,_,target); | ||
704 | // 2. Circle in the containment hierarchy | ||
705 | neg find mustTransitiveContains(source,target); | ||
706 | } or { | ||
707 | find mustInRelationpullrequest_reference_Issue(problem,interpretation,source,target); | ||
708 | } | ||
709 | /** | ||
710 | * Matcher for detecting tuples t where []issueevent reference Issue(source,target) | ||
711 | */ | ||
712 | private pattern mustInRelationissueevent_reference_Issue( | ||
713 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
714 | source: DefinedElement, target:DefinedElement) | ||
715 | { | ||
716 | find interpretation(problem,interpretation); | ||
717 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
718 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"issueevent reference Issue"); | ||
719 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
720 | BinaryElementRelationLink.param1(link,source); | ||
721 | BinaryElementRelationLink.param2(link,target); | ||
722 | } | ||
723 | /** | ||
724 | * Matcher for detecting tuples t where <>issueevent reference Issue(source,target) | ||
725 | */ | ||
726 | private pattern mayInRelationissueevent_reference_Issue( | ||
727 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
728 | source: DefinedElement, target:DefinedElement) | ||
729 | { | ||
730 | find interpretation(problem,interpretation); | ||
731 | // The two endpoint of the link have to exist | ||
732 | find mayExist(problem, interpretation, source); | ||
733 | find mayExist(problem, interpretation, target); | ||
734 | // Type consistency | ||
735 | find mayInstanceOfIssue_class(problem,interpretation,source); | ||
736 | find mayInstanceOfIssueEvent_class(problem,interpretation,target); | ||
737 | // The reference is containment, then a new reference cannot be create if: | ||
738 | // 1. Multiple parents | ||
739 | neg find mustContains4(problem,interpretation,_,target); | ||
740 | // 2. Circle in the containment hierarchy | ||
741 | neg find mustTransitiveContains(source,target); | ||
742 | } or { | ||
743 | find mustInRelationissueevent_reference_Issue(problem,interpretation,source,target); | ||
744 | } | ||
745 | /** | ||
746 | * Matcher for detecting tuples t where []commit reference PullRequest(source,target) | ||
747 | */ | ||
748 | private pattern mustInRelationcommit_reference_PullRequest( | ||
749 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
750 | source: DefinedElement, target:DefinedElement) | ||
751 | { | ||
752 | find interpretation(problem,interpretation); | ||
753 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
754 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commit reference PullRequest"); | ||
755 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
756 | BinaryElementRelationLink.param1(link,source); | ||
757 | BinaryElementRelationLink.param2(link,target); | ||
758 | } | ||
759 | /** | ||
760 | * Matcher for detecting tuples t where <>commit reference PullRequest(source,target) | ||
761 | */ | ||
762 | private pattern mayInRelationcommit_reference_PullRequest( | ||
763 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
764 | source: DefinedElement, target:DefinedElement) | ||
765 | { | ||
766 | find interpretation(problem,interpretation); | ||
767 | // The two endpoint of the link have to exist | ||
768 | find mayExist(problem, interpretation, source); | ||
769 | find mayExist(problem, interpretation, target); | ||
770 | // Type consistency | ||
771 | find mayInstanceOfPullRequest_class(problem,interpretation,source); | ||
772 | find mayInstanceOfCommit_class(problem,interpretation,target); | ||
773 | // There are "numberOfExistingReferences" currently existing instances of the reference from the source, | ||
774 | // the upper bound of the multiplicity should be considered. | ||
775 | numberOfExistingReferences == count find mustInRelationcommit_reference_PullRequest(problem,interpretation,source,_); | ||
776 | numberOfExistingReferences != 1; | ||
777 | // There are "numberOfExistingReferences" currently existing instances of the reference to the target, | ||
778 | // the upper bound of the opposite reference multiplicity should be considered. | ||
779 | numberOfExistingOppositeReferences == count find mustInRelationpullrequest_reference_Commit(problem,interpretation,target,_); | ||
780 | numberOfExistingOppositeReferences != 1; | ||
781 | } or { | ||
782 | find mustInRelationcommit_reference_PullRequest(problem,interpretation,source,target); | ||
783 | } | ||
784 | /** | ||
785 | * Matcher for detecting tuples t where []user reference IssueEvent(source,target) | ||
786 | */ | ||
787 | private pattern mustInRelationuser_reference_IssueEvent( | ||
788 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
789 | source: DefinedElement, target:DefinedElement) | ||
790 | { | ||
791 | find interpretation(problem,interpretation); | ||
792 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
793 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"user reference IssueEvent"); | ||
794 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
795 | BinaryElementRelationLink.param1(link,source); | ||
796 | BinaryElementRelationLink.param2(link,target); | ||
797 | } | ||
798 | /** | ||
799 | * Matcher for detecting tuples t where <>user reference IssueEvent(source,target) | ||
800 | */ | ||
801 | private pattern mayInRelationuser_reference_IssueEvent( | ||
802 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
803 | source: DefinedElement, target:DefinedElement) | ||
804 | { | ||
805 | find interpretation(problem,interpretation); | ||
806 | // The two endpoint of the link have to exist | ||
807 | find mayExist(problem, interpretation, source); | ||
808 | find mayExist(problem, interpretation, target); | ||
809 | // Type consistency | ||
810 | find mayInstanceOfIssueEvent_class(problem,interpretation,source); | ||
811 | find mayInstanceOfUser_class(problem,interpretation,target); | ||
812 | // There are "numberOfExistingReferences" currently existing instances of the reference from the source, | ||
813 | // the upper bound of the multiplicity should be considered. | ||
814 | numberOfExistingReferences == count find mustInRelationuser_reference_IssueEvent(problem,interpretation,source,_); | ||
815 | numberOfExistingReferences != 1; | ||
816 | } or { | ||
817 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,source,target); | ||
818 | } | ||
819 | /** | ||
820 | * Matcher for detecting tuples t where []action attribute IssueEvent(source,target) | ||
821 | */ | ||
822 | private pattern mustInRelationaction_attribute_IssueEvent( | ||
823 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
824 | source: DefinedElement, target:DefinedElement) | ||
825 | { | ||
826 | find interpretation(problem,interpretation); | ||
827 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
828 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"action attribute IssueEvent"); | ||
829 | PartialRelationInterpretation.relationlinks(relationIterpretation,link); | ||
830 | BinaryElementRelationLink.param1(link,source); | ||
831 | BinaryElementRelationLink.param2(link,target); | ||
832 | } | ||
833 | /** | ||
834 | * Matcher for detecting tuples t where <>action attribute IssueEvent(source,target) | ||
835 | */ | ||
836 | private pattern mayInRelationaction_attribute_IssueEvent( | ||
837 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
838 | source: DefinedElement, target:DefinedElement) | ||
839 | { | ||
840 | find interpretation(problem,interpretation); | ||
841 | // The two endpoint of the link have to exist | ||
842 | find mayExist(problem, interpretation, source); | ||
843 | find mayExist(problem, interpretation, target); | ||
844 | // Type consistency | ||
845 | find mayInstanceOfIssueEvent_class(problem,interpretation,source); | ||
846 | find mayInstanceOfAction_enum(problem,interpretation,target); | ||
847 | // There are "numberOfExistingReferences" currently existing instances of the reference from the source, | ||
848 | // the upper bound of the multiplicity should be considered. | ||
849 | numberOfExistingReferences == count find mustInRelationaction_attribute_IssueEvent(problem,interpretation,source,_); | ||
850 | numberOfExistingReferences != 1; | ||
851 | } or { | ||
852 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,source,target); | ||
853 | } | ||
854 | |||
855 | ////////// | ||
856 | // 1.3 Relation Definition Indexers | ||
857 | ////////// | ||
858 | // Must, May and Current queries for pattern queries directParent | ||
859 | private pattern mustInRelation_pattern_queries_directParent( | ||
860 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
861 | var_a, var_b) | ||
862 | { | ||
863 | find interpretation(problem,interpretation); | ||
864 | // var_a exported | ||
865 | // var_b exported | ||
866 | find mustInRelationparents_reference_Commit(problem,interpretation,var_a,var_b); | ||
867 | find mustInstanceOfCommit_class(problem,interpretation,var_b); | ||
868 | } | ||
869 | private pattern mayInRelation_pattern_queries_directParent( | ||
870 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
871 | var_a, var_b) | ||
872 | { | ||
873 | find interpretation(problem,interpretation); | ||
874 | // var_a exported | ||
875 | // var_b exported | ||
876 | find mayInRelationparents_reference_Commit(problem,interpretation,var_a,var_b); | ||
877 | find mayInstanceOfCommit_class(problem,interpretation,var_b); | ||
878 | } | ||
879 | private pattern currentInRelation_pattern_queries_directParent( | ||
880 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
881 | var_a, var_b) | ||
882 | { | ||
883 | find interpretation(problem,interpretation); | ||
884 | // var_a exported | ||
885 | // var_b exported | ||
886 | find mustInRelationparents_reference_Commit(problem,interpretation,var_a,var_b); | ||
887 | find mustInstanceOfCommit_class(problem,interpretation,var_b); | ||
888 | } | ||
889 | private pattern twoParam_mustInRelation_pattern_queries_directParent(var_a, var_b) { | ||
890 | find mustInRelation_pattern_queries_directParent(_,_,var_a, var_b); | ||
891 | } | ||
892 | private pattern twoParam_mayInRelation_pattern_queries_directParent(var_a, var_b) { | ||
893 | find mayInRelation_pattern_queries_directParent(_,_,var_a, var_b); | ||
894 | } | ||
895 | private pattern twoParam_currentInRelation_pattern_queries_directParent(var_a, var_b) { | ||
896 | find currentInRelation_pattern_queries_directParent(_,_,var_a, var_b); | ||
897 | } | ||
898 | // Must, May and Current queries for pattern queries loopInParent | ||
899 | private pattern mustInRelation_pattern_queries_loopInParent( | ||
900 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
901 | var_a) | ||
902 | { | ||
903 | find interpretation(problem,interpretation); | ||
904 | // var_a exported | ||
905 | find twoParam_mustInRelation_pattern_queries_directParent+(var_a,var_a); | ||
906 | } | ||
907 | private pattern mayInRelation_pattern_queries_loopInParent( | ||
908 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
909 | var_a) | ||
910 | { | ||
911 | find interpretation(problem,interpretation); | ||
912 | // var_a exported | ||
913 | find twoParam_mayInRelation_pattern_queries_directParent+(var_a,var_a); | ||
914 | } | ||
915 | private pattern currentInRelation_pattern_queries_loopInParent( | ||
916 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
917 | var_a) | ||
918 | { | ||
919 | find interpretation(problem,interpretation); | ||
920 | // var_a exported | ||
921 | find twoParam_currentInRelation_pattern_queries_directParent+(var_a,var_a); | ||
922 | } | ||
923 | // Must, May and Current queries for pattern queries checkAction | ||
924 | private pattern mustInRelation_pattern_queries_checkAction( | ||
925 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
926 | var_i, var_e, var_t) | ||
927 | { | ||
928 | find interpretation(problem,interpretation); | ||
929 | // var_i exported | ||
930 | // var_e exported | ||
931 | // var_t exported | ||
932 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
933 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_t); | ||
934 | } | ||
935 | private pattern mayInRelation_pattern_queries_checkAction( | ||
936 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
937 | var_i, var_e, var_t) | ||
938 | { | ||
939 | find interpretation(problem,interpretation); | ||
940 | // var_i exported | ||
941 | // var_e exported | ||
942 | // var_t exported | ||
943 | find mayInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
944 | find mayInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_t); | ||
945 | } | ||
946 | private pattern currentInRelation_pattern_queries_checkAction( | ||
947 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
948 | var_i, var_e, var_t) | ||
949 | { | ||
950 | find interpretation(problem,interpretation); | ||
951 | // var_i exported | ||
952 | // var_e exported | ||
953 | // var_t exported | ||
954 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
955 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_t); | ||
956 | } | ||
957 | // Must, May and Current queries for pattern queries checkUserAction | ||
958 | private pattern mustInRelation_pattern_queries_checkUserAction( | ||
959 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
960 | var_i, var_u, var_e, var_t) | ||
961 | { | ||
962 | find interpretation(problem,interpretation); | ||
963 | // var_i exported | ||
964 | // var_u exported | ||
965 | // var_e exported | ||
966 | // var_t exported | ||
967 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
968 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
969 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
970 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_t); | ||
971 | } | ||
972 | private pattern mayInRelation_pattern_queries_checkUserAction( | ||
973 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
974 | var_i, var_u, var_e, var_t) | ||
975 | { | ||
976 | find interpretation(problem,interpretation); | ||
977 | // var_i exported | ||
978 | // var_u exported | ||
979 | // var_e exported | ||
980 | // var_t exported | ||
981 | find mayInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
982 | find mayInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
983 | find mayInstanceOfUser_class(problem,interpretation,var_u); | ||
984 | find mayInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_t); | ||
985 | } | ||
986 | private pattern currentInRelation_pattern_queries_checkUserAction( | ||
987 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
988 | var_i, var_u, var_e, var_t) | ||
989 | { | ||
990 | find interpretation(problem,interpretation); | ||
991 | // var_i exported | ||
992 | // var_u exported | ||
993 | // var_e exported | ||
994 | // var_t exported | ||
995 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
996 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
997 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
998 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_t); | ||
999 | } | ||
1000 | // Must, May and Current queries for pattern queries isReopen | ||
1001 | private pattern mustInRelation_pattern_queries_isReopen( | ||
1002 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1003 | var_i, var_e) | ||
1004 | { | ||
1005 | find interpretation(problem,interpretation); | ||
1006 | // var_i exported | ||
1007 | // var_e exported | ||
1008 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1009 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1010 | var_a == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1011 | } | ||
1012 | private pattern mayInRelation_pattern_queries_isReopen( | ||
1013 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1014 | var_i, var_e) | ||
1015 | { | ||
1016 | find interpretation(problem,interpretation); | ||
1017 | // var_i exported | ||
1018 | // var_e exported | ||
1019 | find mayInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1020 | find mayInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1021 | var_a == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1022 | } | ||
1023 | private pattern currentInRelation_pattern_queries_isReopen( | ||
1024 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1025 | var_i, var_e) | ||
1026 | { | ||
1027 | find interpretation(problem,interpretation); | ||
1028 | // var_i exported | ||
1029 | // var_e exported | ||
1030 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1031 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1032 | var_a == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1033 | } | ||
1034 | // Must, May and Current queries for pattern queries isClose | ||
1035 | private pattern mustInRelation_pattern_queries_isClose( | ||
1036 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1037 | var_i, var_e) | ||
1038 | { | ||
1039 | find interpretation(problem,interpretation); | ||
1040 | // var_i exported | ||
1041 | // var_e exported | ||
1042 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1043 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1044 | var_a == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1045 | } | ||
1046 | private pattern mayInRelation_pattern_queries_isClose( | ||
1047 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1048 | var_i, var_e) | ||
1049 | { | ||
1050 | find interpretation(problem,interpretation); | ||
1051 | // var_i exported | ||
1052 | // var_e exported | ||
1053 | find mayInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1054 | find mayInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1055 | var_a == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1056 | } | ||
1057 | private pattern currentInRelation_pattern_queries_isClose( | ||
1058 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1059 | var_i, var_e) | ||
1060 | { | ||
1061 | find interpretation(problem,interpretation); | ||
1062 | // var_i exported | ||
1063 | // var_e exported | ||
1064 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1065 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1066 | var_a == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1067 | } | ||
1068 | // Must, May and Current queries for pattern queries isUnSubscribe | ||
1069 | private pattern mustInRelation_pattern_queries_isUnSubscribe( | ||
1070 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1071 | var_i, var_u, var_e) | ||
1072 | { | ||
1073 | find interpretation(problem,interpretation); | ||
1074 | // var_i exported | ||
1075 | // var_u exported | ||
1076 | // var_e exported | ||
1077 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1078 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1079 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
1080 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1081 | var_a == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1082 | } | ||
1083 | private pattern mayInRelation_pattern_queries_isUnSubscribe( | ||
1084 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1085 | var_i, var_u, var_e) | ||
1086 | { | ||
1087 | find interpretation(problem,interpretation); | ||
1088 | // var_i exported | ||
1089 | // var_u exported | ||
1090 | // var_e exported | ||
1091 | find mayInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1092 | find mayInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1093 | find mayInstanceOfUser_class(problem,interpretation,var_u); | ||
1094 | find mayInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1095 | var_a == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1096 | } | ||
1097 | private pattern currentInRelation_pattern_queries_isUnSubscribe( | ||
1098 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1099 | var_i, var_u, var_e) | ||
1100 | { | ||
1101 | find interpretation(problem,interpretation); | ||
1102 | // var_i exported | ||
1103 | // var_u exported | ||
1104 | // var_e exported | ||
1105 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1106 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1107 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
1108 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1109 | var_a == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1110 | } | ||
1111 | // Must, May and Current queries for pattern queries isSubscribe | ||
1112 | private pattern mustInRelation_pattern_queries_isSubscribe( | ||
1113 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1114 | var_i, var_u, var_e) | ||
1115 | { | ||
1116 | find interpretation(problem,interpretation); | ||
1117 | // var_i exported | ||
1118 | // var_u exported | ||
1119 | // var_e exported | ||
1120 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1121 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1122 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
1123 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1124 | var_a == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1125 | } | ||
1126 | private pattern mayInRelation_pattern_queries_isSubscribe( | ||
1127 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1128 | var_i, var_u, var_e) | ||
1129 | { | ||
1130 | find interpretation(problem,interpretation); | ||
1131 | // var_i exported | ||
1132 | // var_u exported | ||
1133 | // var_e exported | ||
1134 | find mayInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1135 | find mayInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1136 | find mayInstanceOfUser_class(problem,interpretation,var_u); | ||
1137 | find mayInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1138 | var_a == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1139 | } | ||
1140 | private pattern currentInRelation_pattern_queries_isSubscribe( | ||
1141 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1142 | var_i, var_u, var_e) | ||
1143 | { | ||
1144 | find interpretation(problem,interpretation); | ||
1145 | // var_i exported | ||
1146 | // var_u exported | ||
1147 | // var_e exported | ||
1148 | find mustInRelationissueevent_reference_Issue(problem,interpretation,var_i,var_e); | ||
1149 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1150 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
1151 | find mustInRelationaction_attribute_IssueEvent(problem,interpretation,var_e,var_a); | ||
1152 | var_a == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1153 | } | ||
1154 | // Must, May and Current queries for pattern queries pullRequestOfIssue | ||
1155 | private pattern mustInRelation_pattern_queries_pullRequestOfIssue( | ||
1156 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1157 | var_i, var_pr) | ||
1158 | { | ||
1159 | find interpretation(problem,interpretation); | ||
1160 | // var_i exported | ||
1161 | // var_pr exported | ||
1162 | find mustInRelationpullrequest_reference_Issue(problem,interpretation,var_i,var_pr); | ||
1163 | find mustInstanceOfPullRequest_class(problem,interpretation,var_pr); | ||
1164 | } | ||
1165 | private pattern mayInRelation_pattern_queries_pullRequestOfIssue( | ||
1166 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1167 | var_i, var_pr) | ||
1168 | { | ||
1169 | find interpretation(problem,interpretation); | ||
1170 | // var_i exported | ||
1171 | // var_pr exported | ||
1172 | find mayInRelationpullrequest_reference_Issue(problem,interpretation,var_i,var_pr); | ||
1173 | find mayInstanceOfPullRequest_class(problem,interpretation,var_pr); | ||
1174 | } | ||
1175 | private pattern currentInRelation_pattern_queries_pullRequestOfIssue( | ||
1176 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1177 | var_i, var_pr) | ||
1178 | { | ||
1179 | find interpretation(problem,interpretation); | ||
1180 | // var_i exported | ||
1181 | // var_pr exported | ||
1182 | find mustInRelationpullrequest_reference_Issue(problem,interpretation,var_i,var_pr); | ||
1183 | find mustInstanceOfPullRequest_class(problem,interpretation,var_pr); | ||
1184 | } | ||
1185 | // Must, May and Current queries for pattern queries mergedIssueWithoutPr | ||
1186 | private pattern mustInRelation_pattern_queries_mergedIssueWithoutPr( | ||
1187 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1188 | var_i) | ||
1189 | { | ||
1190 | find interpretation(problem,interpretation); | ||
1191 | // var_i exported | ||
1192 | var_virtual0 == const_MERGED_Action;DefinedElement.name(const_MERGED_Action,"MERGED Action"); //LogicProblem.elements(problem,const_MERGED_Action); | ||
1193 | find mustInRelation_pattern_queries_checkAction(problem,interpretation,var_i,_var__0,var_virtual0); | ||
1194 | neg find mayInRelation_pattern_queries_pullRequestOfIssue(problem,interpretation,var_i,_var__1); | ||
1195 | } | ||
1196 | private pattern mayInRelation_pattern_queries_mergedIssueWithoutPr( | ||
1197 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1198 | var_i) | ||
1199 | { | ||
1200 | find interpretation(problem,interpretation); | ||
1201 | // var_i exported | ||
1202 | var_virtual0 == const_MERGED_Action;DefinedElement.name(const_MERGED_Action,"MERGED Action"); //LogicProblem.elements(problem,const_MERGED_Action); | ||
1203 | find mayInRelation_pattern_queries_checkAction(problem,interpretation,var_i,_var__0,var_virtual0); | ||
1204 | neg find mustInRelation_pattern_queries_pullRequestOfIssue(problem,interpretation,var_i,_var__1); | ||
1205 | } | ||
1206 | private pattern currentInRelation_pattern_queries_mergedIssueWithoutPr( | ||
1207 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1208 | var_i) | ||
1209 | { | ||
1210 | find interpretation(problem,interpretation); | ||
1211 | // var_i exported | ||
1212 | var_virtual0 == const_MERGED_Action;DefinedElement.name(const_MERGED_Action,"MERGED Action"); //LogicProblem.elements(problem,const_MERGED_Action); | ||
1213 | find currentInRelation_pattern_queries_checkAction(problem,interpretation,var_i,_var__0,var_virtual0); | ||
1214 | neg find currentInRelation_pattern_queries_pullRequestOfIssue(problem,interpretation,var_i,_var__1); | ||
1215 | } | ||
1216 | // Must, May and Current queries for pattern queries consecutiveClosesWithoutReopen | ||
1217 | private pattern mustInRelation_pattern_queries_consecutiveClosesWithoutReopen( | ||
1218 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1219 | var_i) | ||
1220 | { | ||
1221 | find interpretation(problem,interpretation); | ||
1222 | // var_i exported | ||
1223 | var_virtual0 == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1224 | find mustInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a1,var_virtual0); | ||
1225 | var_virtual1 == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1226 | find mustInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a2,var_virtual1); | ||
1227 | neg find mayEquivalent(problem, interpretation, var_a1, var_a2); | ||
1228 | neg find mayInRelation_pattern_queries_isReopen(problem,interpretation,var_i,_var__0); | ||
1229 | } | ||
1230 | private pattern mayInRelation_pattern_queries_consecutiveClosesWithoutReopen( | ||
1231 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1232 | var_i) | ||
1233 | { | ||
1234 | find interpretation(problem,interpretation); | ||
1235 | // var_i exported | ||
1236 | var_virtual0 == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1237 | find mayInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a1,var_virtual0); | ||
1238 | var_virtual1 == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1239 | find mayInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a2,var_virtual1); | ||
1240 | neg find mustEquivalent(problem, interpretation, var_a1, var_a2); | ||
1241 | neg find mustInRelation_pattern_queries_isReopen(problem,interpretation,var_i,_var__0); | ||
1242 | } | ||
1243 | private pattern currentInRelation_pattern_queries_consecutiveClosesWithoutReopen( | ||
1244 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1245 | var_i) | ||
1246 | { | ||
1247 | find interpretation(problem,interpretation); | ||
1248 | // var_i exported | ||
1249 | var_virtual0 == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1250 | find currentInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a1,var_virtual0); | ||
1251 | var_virtual1 == const_CLOSED_Action;DefinedElement.name(const_CLOSED_Action,"CLOSED Action"); //LogicProblem.elements(problem,const_CLOSED_Action); | ||
1252 | find currentInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a2,var_virtual1); | ||
1253 | neg find mustEquivalent(problem, interpretation, var_a1, var_a2); | ||
1254 | neg find currentInRelation_pattern_queries_isReopen(problem,interpretation,var_i,_var__0); | ||
1255 | } | ||
1256 | // Must, May and Current queries for pattern queries consecutiveReopensWithoutClose | ||
1257 | private pattern mustInRelation_pattern_queries_consecutiveReopensWithoutClose( | ||
1258 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1259 | var_i) | ||
1260 | { | ||
1261 | find interpretation(problem,interpretation); | ||
1262 | // var_i exported | ||
1263 | var_virtual0 == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1264 | find mustInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a1,var_virtual0); | ||
1265 | var_virtual1 == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1266 | find mustInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a2,var_virtual1); | ||
1267 | neg find mayEquivalent(problem, interpretation, var_a1, var_a2); | ||
1268 | neg find mayInRelation_pattern_queries_isClose(problem,interpretation,var_i,_var__0); | ||
1269 | } | ||
1270 | private pattern mayInRelation_pattern_queries_consecutiveReopensWithoutClose( | ||
1271 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1272 | var_i) | ||
1273 | { | ||
1274 | find interpretation(problem,interpretation); | ||
1275 | // var_i exported | ||
1276 | var_virtual0 == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1277 | find mayInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a1,var_virtual0); | ||
1278 | var_virtual1 == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1279 | find mayInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a2,var_virtual1); | ||
1280 | neg find mustEquivalent(problem, interpretation, var_a1, var_a2); | ||
1281 | neg find mustInRelation_pattern_queries_isClose(problem,interpretation,var_i,_var__0); | ||
1282 | } | ||
1283 | private pattern currentInRelation_pattern_queries_consecutiveReopensWithoutClose( | ||
1284 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1285 | var_i) | ||
1286 | { | ||
1287 | find interpretation(problem,interpretation); | ||
1288 | // var_i exported | ||
1289 | var_virtual0 == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1290 | find currentInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a1,var_virtual0); | ||
1291 | var_virtual1 == const_REOPENED_Action;DefinedElement.name(const_REOPENED_Action,"REOPENED Action"); //LogicProblem.elements(problem,const_REOPENED_Action); | ||
1292 | find currentInRelation_pattern_queries_checkAction(problem,interpretation,var_i,var_a2,var_virtual1); | ||
1293 | neg find mustEquivalent(problem, interpretation, var_a1, var_a2); | ||
1294 | neg find currentInRelation_pattern_queries_isClose(problem,interpretation,var_i,_var__0); | ||
1295 | } | ||
1296 | // Must, May and Current queries for pattern queries consecutiveSubWithoutUnSub | ||
1297 | private pattern mustInRelation_pattern_queries_consecutiveSubWithoutUnSub( | ||
1298 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1299 | var_i, var_u) | ||
1300 | { | ||
1301 | find interpretation(problem,interpretation); | ||
1302 | // var_i exported | ||
1303 | // var_u exported | ||
1304 | var_virtual0 == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1305 | find mustInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a1,var_virtual0); | ||
1306 | var_virtual1 == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1307 | find mustInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a2,var_virtual1); | ||
1308 | neg find mayEquivalent(problem, interpretation, var_a1, var_a2); | ||
1309 | neg find mayInRelation_pattern_queries_isUnSubscribe(problem,interpretation,var_i,var_u,_var__0); | ||
1310 | } | ||
1311 | private pattern mayInRelation_pattern_queries_consecutiveSubWithoutUnSub( | ||
1312 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1313 | var_i, var_u) | ||
1314 | { | ||
1315 | find interpretation(problem,interpretation); | ||
1316 | // var_i exported | ||
1317 | // var_u exported | ||
1318 | var_virtual0 == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1319 | find mayInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a1,var_virtual0); | ||
1320 | var_virtual1 == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1321 | find mayInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a2,var_virtual1); | ||
1322 | neg find mustEquivalent(problem, interpretation, var_a1, var_a2); | ||
1323 | neg find mustInRelation_pattern_queries_isUnSubscribe(problem,interpretation,var_i,var_u,_var__0); | ||
1324 | } | ||
1325 | private pattern currentInRelation_pattern_queries_consecutiveSubWithoutUnSub( | ||
1326 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1327 | var_i, var_u) | ||
1328 | { | ||
1329 | find interpretation(problem,interpretation); | ||
1330 | // var_i exported | ||
1331 | // var_u exported | ||
1332 | var_virtual0 == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1333 | find currentInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a1,var_virtual0); | ||
1334 | var_virtual1 == const_SUBSCRIBED_Action;DefinedElement.name(const_SUBSCRIBED_Action,"SUBSCRIBED Action"); //LogicProblem.elements(problem,const_SUBSCRIBED_Action); | ||
1335 | find currentInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a2,var_virtual1); | ||
1336 | neg find mustEquivalent(problem, interpretation, var_a1, var_a2); | ||
1337 | neg find currentInRelation_pattern_queries_isUnSubscribe(problem,interpretation,var_i,var_u,_var__0); | ||
1338 | } | ||
1339 | // Must, May and Current queries for pattern queries consecutiveUnSubWithoutSub | ||
1340 | private pattern mustInRelation_pattern_queries_consecutiveUnSubWithoutSub( | ||
1341 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1342 | var_i, var_u) | ||
1343 | { | ||
1344 | find interpretation(problem,interpretation); | ||
1345 | // var_i exported | ||
1346 | // var_u exported | ||
1347 | var_virtual0 == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1348 | find mustInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a1,var_virtual0); | ||
1349 | var_virtual1 == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1350 | find mustInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a2,var_virtual1); | ||
1351 | neg find mayEquivalent(problem, interpretation, var_a1, var_a2); | ||
1352 | neg find mayInRelation_pattern_queries_isSubscribe(problem,interpretation,var_i,var_u,_var__0); | ||
1353 | } | ||
1354 | private pattern mayInRelation_pattern_queries_consecutiveUnSubWithoutSub( | ||
1355 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1356 | var_i, var_u) | ||
1357 | { | ||
1358 | find interpretation(problem,interpretation); | ||
1359 | // var_i exported | ||
1360 | // var_u exported | ||
1361 | var_virtual0 == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1362 | find mayInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a1,var_virtual0); | ||
1363 | var_virtual1 == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1364 | find mayInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a2,var_virtual1); | ||
1365 | neg find mustEquivalent(problem, interpretation, var_a1, var_a2); | ||
1366 | neg find mustInRelation_pattern_queries_isSubscribe(problem,interpretation,var_i,var_u,_var__0); | ||
1367 | } | ||
1368 | private pattern currentInRelation_pattern_queries_consecutiveUnSubWithoutSub( | ||
1369 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1370 | var_i, var_u) | ||
1371 | { | ||
1372 | find interpretation(problem,interpretation); | ||
1373 | // var_i exported | ||
1374 | // var_u exported | ||
1375 | var_virtual0 == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1376 | find currentInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a1,var_virtual0); | ||
1377 | var_virtual1 == const_UNSUBSCRIBED_Action;DefinedElement.name(const_UNSUBSCRIBED_Action,"UNSUBSCRIBED Action"); //LogicProblem.elements(problem,const_UNSUBSCRIBED_Action); | ||
1378 | find currentInRelation_pattern_queries_checkUserAction(problem,interpretation,var_i,var_u,var_a2,var_virtual1); | ||
1379 | neg find mustEquivalent(problem, interpretation, var_a1, var_a2); | ||
1380 | neg find currentInRelation_pattern_queries_isSubscribe(problem,interpretation,var_i,var_u,_var__0); | ||
1381 | } | ||
1382 | // Must, May and Current queries for pattern queries committer | ||
1383 | private pattern mustInRelation_pattern_queries_committer( | ||
1384 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1385 | var_c, var_u) | ||
1386 | { | ||
1387 | find interpretation(problem,interpretation); | ||
1388 | // var_c exported | ||
1389 | // var_u exported | ||
1390 | find mustInRelationcommitter_reference_Commit(problem,interpretation,var_c,var_u); | ||
1391 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
1392 | } | ||
1393 | private pattern mayInRelation_pattern_queries_committer( | ||
1394 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1395 | var_c, var_u) | ||
1396 | { | ||
1397 | find interpretation(problem,interpretation); | ||
1398 | // var_c exported | ||
1399 | // var_u exported | ||
1400 | find mayInRelationcommitter_reference_Commit(problem,interpretation,var_c,var_u); | ||
1401 | find mayInstanceOfUser_class(problem,interpretation,var_u); | ||
1402 | } | ||
1403 | private pattern currentInRelation_pattern_queries_committer( | ||
1404 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1405 | var_c, var_u) | ||
1406 | { | ||
1407 | find interpretation(problem,interpretation); | ||
1408 | // var_c exported | ||
1409 | // var_u exported | ||
1410 | find mustInRelationcommitter_reference_Commit(problem,interpretation,var_c,var_u); | ||
1411 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
1412 | } | ||
1413 | // Must, May and Current queries for pattern queries eventUser | ||
1414 | private pattern mustInRelation_pattern_queries_eventUser( | ||
1415 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1416 | var_e, var_u) | ||
1417 | { | ||
1418 | find interpretation(problem,interpretation); | ||
1419 | // var_e exported | ||
1420 | // var_u exported | ||
1421 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1422 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
1423 | } | ||
1424 | private pattern mayInRelation_pattern_queries_eventUser( | ||
1425 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1426 | var_e, var_u) | ||
1427 | { | ||
1428 | find interpretation(problem,interpretation); | ||
1429 | // var_e exported | ||
1430 | // var_u exported | ||
1431 | find mayInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1432 | find mayInstanceOfUser_class(problem,interpretation,var_u); | ||
1433 | } | ||
1434 | private pattern currentInRelation_pattern_queries_eventUser( | ||
1435 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1436 | var_e, var_u) | ||
1437 | { | ||
1438 | find interpretation(problem,interpretation); | ||
1439 | // var_e exported | ||
1440 | // var_u exported | ||
1441 | find mustInRelationuser_reference_IssueEvent(problem,interpretation,var_e,var_u); | ||
1442 | find mustInstanceOfUser_class(problem,interpretation,var_u); | ||
1443 | } | ||
1444 | // Must, May and Current queries for pattern queries noCommitter | ||
1445 | private pattern mustInRelation_pattern_queries_noCommitter( | ||
1446 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1447 | var_c) | ||
1448 | { | ||
1449 | find interpretation(problem,interpretation); | ||
1450 | // var_c exported | ||
1451 | find mustInstanceOfCommit_class(problem,interpretation,var_c); | ||
1452 | neg find mayInRelation_pattern_queries_committer(problem,interpretation,var_c,_var__0); | ||
1453 | } | ||
1454 | private pattern mayInRelation_pattern_queries_noCommitter( | ||
1455 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1456 | var_c) | ||
1457 | { | ||
1458 | find interpretation(problem,interpretation); | ||
1459 | // var_c exported | ||
1460 | find mayInstanceOfCommit_class(problem,interpretation,var_c); | ||
1461 | neg find mustInRelation_pattern_queries_committer(problem,interpretation,var_c,_var__0); | ||
1462 | } | ||
1463 | private pattern currentInRelation_pattern_queries_noCommitter( | ||
1464 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1465 | var_c) | ||
1466 | { | ||
1467 | find interpretation(problem,interpretation); | ||
1468 | // var_c exported | ||
1469 | find mustInstanceOfCommit_class(problem,interpretation,var_c); | ||
1470 | neg find currentInRelation_pattern_queries_committer(problem,interpretation,var_c,_var__0); | ||
1471 | } | ||
1472 | // Must, May and Current queries for pattern queries noUser | ||
1473 | private pattern mustInRelation_pattern_queries_noUser( | ||
1474 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1475 | var_e) | ||
1476 | { | ||
1477 | find interpretation(problem,interpretation); | ||
1478 | // var_e exported | ||
1479 | find mustInstanceOfIssueEvent_class(problem,interpretation,var_e); | ||
1480 | neg find mayInRelation_pattern_queries_eventUser(problem,interpretation,var_e,_var__0); | ||
1481 | } | ||
1482 | private pattern mayInRelation_pattern_queries_noUser( | ||
1483 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1484 | var_e) | ||
1485 | { | ||
1486 | find interpretation(problem,interpretation); | ||
1487 | // var_e exported | ||
1488 | find mayInstanceOfIssueEvent_class(problem,interpretation,var_e); | ||
1489 | neg find mustInRelation_pattern_queries_eventUser(problem,interpretation,var_e,_var__0); | ||
1490 | } | ||
1491 | private pattern currentInRelation_pattern_queries_noUser( | ||
1492 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1493 | var_e) | ||
1494 | { | ||
1495 | find interpretation(problem,interpretation); | ||
1496 | // var_e exported | ||
1497 | find mustInstanceOfIssueEvent_class(problem,interpretation,var_e); | ||
1498 | neg find currentInRelation_pattern_queries_eventUser(problem,interpretation,var_e,_var__0); | ||
1499 | } | ||
1500 | |||
1501 | ////////// | ||
1502 | // 1.4 Containment Indexer | ||
1503 | ////////// | ||
1504 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
1505 | find mustContains4(_,_,source,target); | ||
1506 | } | ||
1507 | |||
1508 | private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1509 | source: DefinedElement, target: DefinedElement) | ||
1510 | { find mustInRelationissue_reference_Project(problem,interpretation,source,target); }or | ||
1511 | |||
1512 | { find mustInRelationprojectMembers_reference_Project(problem,interpretation,source,target); }or | ||
1513 | |||
1514 | { find mustInRelationcommits_reference_Project(problem,interpretation,source,target); }or | ||
1515 | |||
1516 | { find mustInRelationpullrequest_reference_Issue(problem,interpretation,source,target); }or | ||
1517 | |||
1518 | { find mustInRelationissueevent_reference_Issue(problem,interpretation,source,target); } | ||
1519 | |||
1520 | private pattern mustTransitiveContains(source,target) { | ||
1521 | find mustContains2+(source,target); | ||
1522 | } | ||
1523 | |||
1524 | ////////// | ||
1525 | // 2. Invalidation Indexers | ||
1526 | ////////// | ||
1527 | // 2.1 Invalidated by WF Queries | ||
1528 | ////////// | ||
1529 | pattern invalidatedBy_pattern_queries_loopInParent(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1530 | var_a) | ||
1531 | { | ||
1532 | find mustInRelation_pattern_queries_loopInParent(problem,interpretation,var_a); | ||
1533 | } | ||
1534 | pattern invalidatedBy_pattern_queries_mergedIssueWithoutPr(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1535 | var_i) | ||
1536 | { | ||
1537 | find mustInRelation_pattern_queries_mergedIssueWithoutPr(problem,interpretation,var_i); | ||
1538 | } | ||
1539 | pattern invalidatedBy_pattern_queries_consecutiveClosesWithoutReopen(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1540 | var_i) | ||
1541 | { | ||
1542 | find mustInRelation_pattern_queries_consecutiveClosesWithoutReopen(problem,interpretation,var_i); | ||
1543 | } | ||
1544 | pattern invalidatedBy_pattern_queries_consecutiveReopensWithoutClose(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1545 | var_i) | ||
1546 | { | ||
1547 | find mustInRelation_pattern_queries_consecutiveReopensWithoutClose(problem,interpretation,var_i); | ||
1548 | } | ||
1549 | pattern invalidatedBy_pattern_queries_consecutiveSubWithoutUnSub(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1550 | var_i, var_u) | ||
1551 | { | ||
1552 | find mustInRelation_pattern_queries_consecutiveSubWithoutUnSub(problem,interpretation,var_i,var_u); | ||
1553 | } | ||
1554 | pattern invalidatedBy_pattern_queries_consecutiveUnSubWithoutSub(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1555 | var_i, var_u) | ||
1556 | { | ||
1557 | find mustInRelation_pattern_queries_consecutiveUnSubWithoutSub(problem,interpretation,var_i,var_u); | ||
1558 | } | ||
1559 | pattern invalidatedBy_pattern_queries_noCommitter(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1560 | var_c) | ||
1561 | { | ||
1562 | find mustInRelation_pattern_queries_noCommitter(problem,interpretation,var_c); | ||
1563 | } | ||
1564 | pattern invalidatedBy_pattern_queries_noUser(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1565 | var_e) | ||
1566 | { | ||
1567 | find mustInRelation_pattern_queries_noUser(problem,interpretation,var_e); | ||
1568 | } | ||
1569 | |||
1570 | ////////// | ||
1571 | // 3. Unfinishedness Indexers | ||
1572 | ////////// | ||
1573 | // 3.1 Unfinishedness Measured by Multiplicity | ||
1574 | ////////// | ||
1575 | |||
1576 | |||
1577 | |||
1578 | |||
1579 | |||
1580 | |||
1581 | private pattern existingMultiplicity_committer_reference_Commit(problem:LogicProblem, interpretation:PartialInterpretation, object:DefinedElement, numberOfExistingReferences:java Integer) { | ||
1582 | find interpretation(problem,interpretation); | ||
1583 | find mustExist(problem,interpretation,object); | ||
1584 | find mustInstanceOfCommit_class(problem,interpretation,object); | ||
1585 | numberOfExistingReferences == count find mustInRelationcommitter_reference_Commit(problem,interpretation,object,_); | ||
1586 | } | ||
1587 | |||
1588 | |||
1589 | |||
1590 | |||
1591 | |||
1592 | |||
1593 | private pattern existingMultiplicity_user_reference_IssueEvent(problem:LogicProblem, interpretation:PartialInterpretation, object:DefinedElement, numberOfExistingReferences:java Integer) { | ||
1594 | find interpretation(problem,interpretation); | ||
1595 | find mustExist(problem,interpretation,object); | ||
1596 | find mustInstanceOfIssueEvent_class(problem,interpretation,object); | ||
1597 | numberOfExistingReferences == count find mustInRelationuser_reference_IssueEvent(problem,interpretation,object,_); | ||
1598 | } | ||
1599 | |||
1600 | |||
1601 | |||
1602 | ////////// | ||
1603 | // 3.2 Unfinishedness Measured by WF Queries | ||
1604 | ////////// | ||
1605 | pattern unfinishedBy_pattern_queries_loopInParent(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1606 | var_a) | ||
1607 | { | ||
1608 | find currentInRelation_pattern_queries_loopInParent(problem,interpretation,var_a); | ||
1609 | } | ||
1610 | pattern unfinishedBy_pattern_queries_mergedIssueWithoutPr(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1611 | var_i) | ||
1612 | { | ||
1613 | find currentInRelation_pattern_queries_mergedIssueWithoutPr(problem,interpretation,var_i); | ||
1614 | } | ||
1615 | pattern unfinishedBy_pattern_queries_consecutiveClosesWithoutReopen(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1616 | var_i) | ||
1617 | { | ||
1618 | find currentInRelation_pattern_queries_consecutiveClosesWithoutReopen(problem,interpretation,var_i); | ||
1619 | } | ||
1620 | pattern unfinishedBy_pattern_queries_consecutiveReopensWithoutClose(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1621 | var_i) | ||
1622 | { | ||
1623 | find currentInRelation_pattern_queries_consecutiveReopensWithoutClose(problem,interpretation,var_i); | ||
1624 | } | ||
1625 | pattern unfinishedBy_pattern_queries_consecutiveSubWithoutUnSub(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1626 | var_i, var_u) | ||
1627 | { | ||
1628 | find currentInRelation_pattern_queries_consecutiveSubWithoutUnSub(problem,interpretation,var_i,var_u); | ||
1629 | } | ||
1630 | pattern unfinishedBy_pattern_queries_consecutiveUnSubWithoutSub(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1631 | var_i, var_u) | ||
1632 | { | ||
1633 | find currentInRelation_pattern_queries_consecutiveUnSubWithoutSub(problem,interpretation,var_i,var_u); | ||
1634 | } | ||
1635 | pattern unfinishedBy_pattern_queries_noCommitter(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1636 | var_c) | ||
1637 | { | ||
1638 | find currentInRelation_pattern_queries_noCommitter(problem,interpretation,var_c); | ||
1639 | } | ||
1640 | pattern unfinishedBy_pattern_queries_noUser(problem:LogicProblem, interpretation:PartialInterpretation, | ||
1641 | var_e) | ||
1642 | { | ||
1643 | find currentInRelation_pattern_queries_noUser(problem,interpretation,var_e); | ||
1644 | } | ||
1645 | |||
1646 | ////////// | ||
1647 | // 4. Refinement Indexers | ||
1648 | ////////// | ||
1649 | // 4.1 Object constructors | ||
1650 | ////////// | ||
1651 | pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) | ||
1652 | { | ||
1653 | find interpretation(problem,interpretation); | ||
1654 | find mustInstanceOfUser_class(problem,interpretation,root); | ||
1655 | find mustExist(problem, interpretation, root); | ||
1656 | }or{ | ||
1657 | find interpretation(problem,interpretation); | ||
1658 | find mustInstanceOfProject_class(problem,interpretation,root); | ||
1659 | find mustExist(problem, interpretation, root); | ||
1660 | }or{ | ||
1661 | find interpretation(problem,interpretation); | ||
1662 | find mustInstanceOfIssueEvent_class(problem,interpretation,root); | ||
1663 | find mustExist(problem, interpretation, root); | ||
1664 | }or{ | ||
1665 | find interpretation(problem,interpretation); | ||
1666 | find mustInstanceOfCommit_class(problem,interpretation,root); | ||
1667 | find mustExist(problem, interpretation, root); | ||
1668 | }or{ | ||
1669 | find interpretation(problem,interpretation); | ||
1670 | find mustInstanceOfPullRequest_class(problem,interpretation,root); | ||
1671 | find mustExist(problem, interpretation, root); | ||
1672 | }or{ | ||
1673 | find interpretation(problem,interpretation); | ||
1674 | find mustInstanceOfIssue_class(problem,interpretation,root); | ||
1675 | find mustExist(problem, interpretation, root); | ||
1676 | }or{ | ||
1677 | find interpretation(problem,interpretation); | ||
1678 | find mustInstanceOfProject_class_DefinedPart(problem,interpretation,root); | ||
1679 | find mustExist(problem, interpretation, root); | ||
1680 | }or{ | ||
1681 | find interpretation(problem,interpretation); | ||
1682 | find mustInstanceOfProject_class_UndefinedPart(problem,interpretation,root); | ||
1683 | find mustExist(problem, interpretation, root); | ||
1684 | } | ||
1685 | pattern createObject_IssueEvent_class_by_issueevent_reference_Issue( | ||
1686 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1687 | relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, | ||
1688 | container:DefinedElement) | ||
1689 | { | ||
1690 | find interpretation(problem,interpretation); | ||
1691 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1692 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"IssueEvent class"); | ||
1693 | PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); | ||
1694 | PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"issueevent reference Issue"); | ||
1695 | find mustInstanceOfIssue_class(problem,interpretation,container); | ||
1696 | find mayInstanceOfIssueEvent_class(problem,interpretation,newObject); | ||
1697 | find mayInRelationissueevent_reference_Issue(problem,interpretation,container,newObject); | ||
1698 | find mustExist(problem, interpretation, container); | ||
1699 | neg find mustExist(problem, interpretation, newObject); | ||
1700 | } | ||
1701 | pattern createObject_IssueEvent_class( | ||
1702 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1703 | typeInterpretation:PartialComplexTypeInterpretation) | ||
1704 | { | ||
1705 | find interpretation(problem,interpretation); | ||
1706 | neg find hasElementInContainment(problem,interpretation); | ||
1707 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1708 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"IssueEvent class"); | ||
1709 | find mayInstanceOfIssueEvent_class(problem,interpretation,newObject); | ||
1710 | find mayExist(problem, interpretation, newObject); | ||
1711 | neg find mustExist(problem, interpretation, newObject); | ||
1712 | } | ||
1713 | pattern createObject_PullRequest_class_by_pullrequest_reference_Issue( | ||
1714 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1715 | relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, | ||
1716 | container:DefinedElement) | ||
1717 | { | ||
1718 | find interpretation(problem,interpretation); | ||
1719 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1720 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"PullRequest class"); | ||
1721 | PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); | ||
1722 | PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"pullrequest reference Issue"); | ||
1723 | find mustInstanceOfIssue_class(problem,interpretation,container); | ||
1724 | find mayInstanceOfPullRequest_class(problem,interpretation,newObject); | ||
1725 | find mayInRelationpullrequest_reference_Issue(problem,interpretation,container,newObject); | ||
1726 | find mustExist(problem, interpretation, container); | ||
1727 | neg find mustExist(problem, interpretation, newObject); | ||
1728 | } | ||
1729 | pattern createObject_PullRequest_class( | ||
1730 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1731 | typeInterpretation:PartialComplexTypeInterpretation) | ||
1732 | { | ||
1733 | find interpretation(problem,interpretation); | ||
1734 | neg find hasElementInContainment(problem,interpretation); | ||
1735 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1736 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"PullRequest class"); | ||
1737 | find mayInstanceOfPullRequest_class(problem,interpretation,newObject); | ||
1738 | find mayExist(problem, interpretation, newObject); | ||
1739 | neg find mustExist(problem, interpretation, newObject); | ||
1740 | } | ||
1741 | pattern createObject_Project_class_UndefinedPart( | ||
1742 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1743 | typeInterpretation:PartialComplexTypeInterpretation) | ||
1744 | { | ||
1745 | find interpretation(problem,interpretation); | ||
1746 | neg find hasElementInContainment(problem,interpretation); | ||
1747 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1748 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Project class UndefinedPart"); | ||
1749 | find mayInstanceOfProject_class_UndefinedPart(problem,interpretation,newObject); | ||
1750 | find mayExist(problem, interpretation, newObject); | ||
1751 | neg find mustExist(problem, interpretation, newObject); | ||
1752 | } | ||
1753 | pattern createObject_Commit_class_by_commits_reference_Project( | ||
1754 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1755 | relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, | ||
1756 | container:DefinedElement) | ||
1757 | { | ||
1758 | find interpretation(problem,interpretation); | ||
1759 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1760 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Commit class"); | ||
1761 | PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); | ||
1762 | PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commits reference Project"); | ||
1763 | find mustInstanceOfProject_class(problem,interpretation,container); | ||
1764 | find mayInstanceOfCommit_class(problem,interpretation,newObject); | ||
1765 | find mayInRelationcommits_reference_Project(problem,interpretation,container,newObject); | ||
1766 | find mustExist(problem, interpretation, container); | ||
1767 | neg find mustExist(problem, interpretation, newObject); | ||
1768 | } | ||
1769 | pattern createObject_Commit_class( | ||
1770 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1771 | typeInterpretation:PartialComplexTypeInterpretation) | ||
1772 | { | ||
1773 | find interpretation(problem,interpretation); | ||
1774 | neg find hasElementInContainment(problem,interpretation); | ||
1775 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1776 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Commit class"); | ||
1777 | find mayInstanceOfCommit_class(problem,interpretation,newObject); | ||
1778 | find mayExist(problem, interpretation, newObject); | ||
1779 | neg find mustExist(problem, interpretation, newObject); | ||
1780 | } | ||
1781 | pattern createObject_User_class_by_projectMembers_reference_Project( | ||
1782 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1783 | relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, | ||
1784 | container:DefinedElement) | ||
1785 | { | ||
1786 | find interpretation(problem,interpretation); | ||
1787 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1788 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"User class"); | ||
1789 | PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); | ||
1790 | PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"projectMembers reference Project"); | ||
1791 | find mustInstanceOfProject_class(problem,interpretation,container); | ||
1792 | find mayInstanceOfUser_class(problem,interpretation,newObject); | ||
1793 | find mayInRelationprojectMembers_reference_Project(problem,interpretation,container,newObject); | ||
1794 | find mustExist(problem, interpretation, container); | ||
1795 | neg find mustExist(problem, interpretation, newObject); | ||
1796 | } | ||
1797 | pattern createObject_User_class( | ||
1798 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1799 | typeInterpretation:PartialComplexTypeInterpretation) | ||
1800 | { | ||
1801 | find interpretation(problem,interpretation); | ||
1802 | neg find hasElementInContainment(problem,interpretation); | ||
1803 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1804 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"User class"); | ||
1805 | find mayInstanceOfUser_class(problem,interpretation,newObject); | ||
1806 | find mayExist(problem, interpretation, newObject); | ||
1807 | neg find mustExist(problem, interpretation, newObject); | ||
1808 | } | ||
1809 | pattern createObject_Issue_class_by_issue_reference_Project( | ||
1810 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1811 | relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, | ||
1812 | container:DefinedElement) | ||
1813 | { | ||
1814 | find interpretation(problem,interpretation); | ||
1815 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1816 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Issue class"); | ||
1817 | PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); | ||
1818 | PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"issue reference Project"); | ||
1819 | find mustInstanceOfProject_class(problem,interpretation,container); | ||
1820 | find mayInstanceOfIssue_class(problem,interpretation,newObject); | ||
1821 | find mayInRelationissue_reference_Project(problem,interpretation,container,newObject); | ||
1822 | find mustExist(problem, interpretation, container); | ||
1823 | neg find mustExist(problem, interpretation, newObject); | ||
1824 | } | ||
1825 | pattern createObject_Issue_class( | ||
1826 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1827 | typeInterpretation:PartialComplexTypeInterpretation) | ||
1828 | { | ||
1829 | find interpretation(problem,interpretation); | ||
1830 | neg find hasElementInContainment(problem,interpretation); | ||
1831 | PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); | ||
1832 | PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"Issue class"); | ||
1833 | find mayInstanceOfIssue_class(problem,interpretation,newObject); | ||
1834 | find mayExist(problem, interpretation, newObject); | ||
1835 | neg find mustExist(problem, interpretation, newObject); | ||
1836 | } | ||
1837 | |||
1838 | ////////// | ||
1839 | // 4.2 Type refinement | ||
1840 | ////////// | ||
1841 | pattern refineTypeTo_IssueEvent_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | ||
1842 | find interpretation(problem,interpretation); | ||
1843 | PartialInterpretation.newElements(interpretation,element); | ||
1844 | find mayInstanceOfIssueEvent_class(problem,interpretation,element); | ||
1845 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
1846 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
1847 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
1848 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
1849 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
1850 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
1851 | } | ||
1852 | pattern refineTypeTo_PullRequest_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | ||
1853 | find interpretation(problem,interpretation); | ||
1854 | PartialInterpretation.newElements(interpretation,element); | ||
1855 | find mayInstanceOfPullRequest_class(problem,interpretation,element); | ||
1856 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
1857 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
1858 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
1859 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
1860 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
1861 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
1862 | } | ||
1863 | pattern refineTypeTo_Project_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | ||
1864 | find interpretation(problem,interpretation); | ||
1865 | PartialInterpretation.newElements(interpretation,element); | ||
1866 | find mayInstanceOfProject_class_UndefinedPart(problem,interpretation,element); | ||
1867 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
1868 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
1869 | neg find mustInstanceOfProject_class_UndefinedPart(problem,interpretation,element); | ||
1870 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
1871 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
1872 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
1873 | } | ||
1874 | pattern refineTypeTo_Commit_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | ||
1875 | find interpretation(problem,interpretation); | ||
1876 | PartialInterpretation.newElements(interpretation,element); | ||
1877 | find mayInstanceOfCommit_class(problem,interpretation,element); | ||
1878 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
1879 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
1880 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
1881 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
1882 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
1883 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
1884 | } | ||
1885 | pattern refineTypeTo_User_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | ||
1886 | find interpretation(problem,interpretation); | ||
1887 | PartialInterpretation.newElements(interpretation,element); | ||
1888 | find mayInstanceOfUser_class(problem,interpretation,element); | ||
1889 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
1890 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
1891 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
1892 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
1893 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
1894 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
1895 | } | ||
1896 | pattern refineTypeTo_Issue_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { | ||
1897 | find interpretation(problem,interpretation); | ||
1898 | PartialInterpretation.newElements(interpretation,element); | ||
1899 | find mayInstanceOfIssue_class(problem,interpretation,element); | ||
1900 | neg find mustInstanceOfIssueEvent_class(problem,interpretation,element); | ||
1901 | neg find mustInstanceOfPullRequest_class(problem,interpretation,element); | ||
1902 | neg find mustInstanceOfProject_class(problem,interpretation,element); | ||
1903 | neg find mustInstanceOfCommit_class(problem,interpretation,element); | ||
1904 | neg find mustInstanceOfIssue_class(problem,interpretation,element); | ||
1905 | neg find mustInstanceOfUser_class(problem,interpretation,element); | ||
1906 | } | ||
1907 | |||
1908 | ////////// | ||
1909 | // 4.3 Relation refinement | ||
1910 | ////////// | ||
1911 | pattern refineRelation_committer_reference_Commit( | ||
1912 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1913 | relationIterpretation:PartialRelationInterpretation, | ||
1914 | from: DefinedElement, to: DefinedElement) | ||
1915 | { | ||
1916 | find interpretation(problem,interpretation); | ||
1917 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
1918 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"committer reference Commit"); | ||
1919 | find mustExist(problem, interpretation, from); | ||
1920 | find mustExist(problem, interpretation, to); | ||
1921 | find mustInstanceOfCommit_class(problem,interpretation,from); | ||
1922 | find mustInstanceOfUser_class(problem,interpretation,to); | ||
1923 | find mayInRelationcommitter_reference_Commit(problem,interpretation,from,to); | ||
1924 | neg find mustInRelationcommitter_reference_Commit(problem,interpretation,from,to); | ||
1925 | } | ||
1926 | |||
1927 | pattern refineRelation_parents_reference_Commit( | ||
1928 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1929 | relationIterpretation:PartialRelationInterpretation, | ||
1930 | from: DefinedElement, to: DefinedElement) | ||
1931 | { | ||
1932 | find interpretation(problem,interpretation); | ||
1933 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
1934 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"parents reference Commit"); | ||
1935 | find mustExist(problem, interpretation, from); | ||
1936 | find mustExist(problem, interpretation, to); | ||
1937 | find mustInstanceOfCommit_class(problem,interpretation,from); | ||
1938 | find mustInstanceOfCommit_class(problem,interpretation,to); | ||
1939 | find mayInRelationparents_reference_Commit(problem,interpretation,from,to); | ||
1940 | neg find mustInRelationparents_reference_Commit(problem,interpretation,from,to); | ||
1941 | } | ||
1942 | |||
1943 | pattern refineRelation_commit_reference_PullRequest_and_pullrequest_reference_Commit( | ||
1944 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1945 | relationIterpretation:PartialRelationInterpretation, oppositeInterpretation:PartialRelationInterpretation, | ||
1946 | from: DefinedElement, to: DefinedElement) | ||
1947 | { | ||
1948 | find interpretation(problem,interpretation); | ||
1949 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
1950 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commit reference PullRequest"); | ||
1951 | PartialInterpretation.partialrelationinterpretation(interpretation,oppositeInterpretation); | ||
1952 | PartialRelationInterpretation.interpretationOf.name(oppositeInterpretation,"pullrequest reference Commit"); | ||
1953 | find mustExist(problem, interpretation, from); | ||
1954 | find mustExist(problem, interpretation, to); | ||
1955 | find mustInstanceOfPullRequest_class(problem,interpretation,from); | ||
1956 | find mustInstanceOfCommit_class(problem,interpretation,to); | ||
1957 | find mayInRelationcommit_reference_PullRequest(problem,interpretation,from,to); | ||
1958 | neg find mustInRelationcommit_reference_PullRequest(problem,interpretation,from,to); | ||
1959 | } | ||
1960 | |||
1961 | pattern refineRelation_user_reference_IssueEvent( | ||
1962 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1963 | relationIterpretation:PartialRelationInterpretation, | ||
1964 | from: DefinedElement, to: DefinedElement) | ||
1965 | { | ||
1966 | find interpretation(problem,interpretation); | ||
1967 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
1968 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"user reference IssueEvent"); | ||
1969 | find mustExist(problem, interpretation, from); | ||
1970 | find mustExist(problem, interpretation, to); | ||
1971 | find mustInstanceOfIssueEvent_class(problem,interpretation,from); | ||
1972 | find mustInstanceOfUser_class(problem,interpretation,to); | ||
1973 | find mayInRelationuser_reference_IssueEvent(problem,interpretation,from,to); | ||
1974 | neg find mustInRelationuser_reference_IssueEvent(problem,interpretation,from,to); | ||
1975 | } | ||
1976 | |||
1977 | pattern refineRelation_action_attribute_IssueEvent( | ||
1978 | problem:LogicProblem, interpretation:PartialInterpretation, | ||
1979 | relationIterpretation:PartialRelationInterpretation, | ||
1980 | from: DefinedElement, to: DefinedElement) | ||
1981 | { | ||
1982 | find interpretation(problem,interpretation); | ||
1983 | PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); | ||
1984 | PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"action attribute IssueEvent"); | ||
1985 | find mustExist(problem, interpretation, from); | ||
1986 | find mustExist(problem, interpretation, to); | ||
1987 | find mustInstanceOfIssueEvent_class(problem,interpretation,from); | ||
1988 | find mustInstanceOfAction_enum(problem,interpretation,to); | ||
1989 | find mayInRelationaction_attribute_IssueEvent(problem,interpretation,from,to); | ||
1990 | neg find mustInRelationaction_attribute_IssueEvent(problem,interpretation,from,to); | ||
1991 | } | ||
1992 | |||
1993 | |||
1994 | ////////// | ||
1995 | // 5 Hints | ||
1996 | ////////// | ||
1997 | |||
1998 | ////////// | ||
1999 | // 6 Unit Propagations | ||
2000 | ////////// | ||
2001 | |||
2002 | // Collected propagation preconditions: | ||
2003 | |||
2004 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/generation.logicproblem b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/generation.logicproblem new file mode 100644 index 00000000..96543fe1 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/generation.logicproblem | |||
@@ -0,0 +1,1114 @@ | |||
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"> | ||
3 | <types xsi:type="language_1:TypeDeclaration" name="User class"/> | ||
4 | <types xsi:type="language_1:TypeDeclaration" name="Project class" subtypes="//@types.7 //@types.8" isAbstract="true"/> | ||
5 | <types xsi:type="language_1:TypeDeclaration" name="Commit class"/> | ||
6 | <types xsi:type="language_1:TypeDeclaration" name="Issue class"/> | ||
7 | <types xsi:type="language_1:TypeDeclaration" name="PullRequest class"/> | ||
8 | <types xsi:type="language_1:TypeDeclaration" name="IssueEvent class"/> | ||
9 | <types xsi:type="language_1:TypeDefinition" name="Action enum" elements="//@elements.0 //@elements.1 //@elements.2 //@elements.3 //@elements.4 //@elements.5 //@elements.6 //@elements.7 //@elements.8 //@elements.9 //@elements.10"/> | ||
10 | <types xsi:type="language_1:TypeDefinition" name="Project class DefinedPart" supertypes="//@types.1" elements="//@elements.11"/> | ||
11 | <types xsi:type="language_1:TypeDeclaration" name="Project class UndefinedPart" supertypes="//@types.1"/> | ||
12 | <assertions name="lowerMultiplicity committer Commit" annotations="//@annotations.0"> | ||
13 | <value xsi:type="language_1:Forall"> | ||
14 | <quantifiedVariables name="src"> | ||
15 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
16 | </quantifiedVariables> | ||
17 | <expression xsi:type="language_1:Exists"> | ||
18 | <quantifiedVariables name="trg 1"> | ||
19 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
20 | </quantifiedVariables> | ||
21 | <expression xsi:type="language_1:And"> | ||
22 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> | ||
23 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.0/@value/@quantifiedVariables.0"/> | ||
24 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.0/@value/@expression/@quantifiedVariables.0"/> | ||
25 | </operands> | ||
26 | </expression> | ||
27 | </expression> | ||
28 | </value> | ||
29 | </assertions> | ||
30 | <assertions name="upperMultiplicity committer Commit" annotations="//@annotations.1"> | ||
31 | <value xsi:type="language_1:Forall"> | ||
32 | <quantifiedVariables name="src"> | ||
33 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
34 | </quantifiedVariables> | ||
35 | <quantifiedVariables name="trg 1"> | ||
36 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
37 | </quantifiedVariables> | ||
38 | <quantifiedVariables name="trg 2"> | ||
39 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
40 | </quantifiedVariables> | ||
41 | <expression xsi:type="language_1:Impl"> | ||
42 | <leftOperand xsi:type="language_1:And"> | ||
43 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> | ||
44 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.0"/> | ||
45 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.1"/> | ||
46 | </operands> | ||
47 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> | ||
48 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.0"/> | ||
49 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.2"/> | ||
50 | </operands> | ||
51 | </leftOperand> | ||
52 | <rightOperand xsi:type="language_1:Not"> | ||
53 | <operand xsi:type="language_1:Distinct"> | ||
54 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.1"/> | ||
55 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.2"/> | ||
56 | </operand> | ||
57 | </rightOperand> | ||
58 | </expression> | ||
59 | </value> | ||
60 | </assertions> | ||
61 | <assertions name="upperMultiplicity parents Commit" annotations="//@annotations.2"> | ||
62 | <value xsi:type="language_1:Forall"> | ||
63 | <quantifiedVariables name="src"> | ||
64 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
65 | </quantifiedVariables> | ||
66 | <quantifiedVariables name="trg 1"> | ||
67 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
68 | </quantifiedVariables> | ||
69 | <quantifiedVariables name="trg 2"> | ||
70 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
71 | </quantifiedVariables> | ||
72 | <quantifiedVariables name="trg 3"> | ||
73 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
74 | </quantifiedVariables> | ||
75 | <expression xsi:type="language_1:Impl"> | ||
76 | <leftOperand xsi:type="language_1:And"> | ||
77 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> | ||
78 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/> | ||
79 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.1"/> | ||
80 | </operands> | ||
81 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> | ||
82 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/> | ||
83 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.2"/> | ||
84 | </operands> | ||
85 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> | ||
86 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/> | ||
87 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.3"/> | ||
88 | </operands> | ||
89 | </leftOperand> | ||
90 | <rightOperand xsi:type="language_1:Not"> | ||
91 | <operand xsi:type="language_1:Distinct"> | ||
92 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.1"/> | ||
93 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.2"/> | ||
94 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.3"/> | ||
95 | </operand> | ||
96 | </rightOperand> | ||
97 | </expression> | ||
98 | </value> | ||
99 | </assertions> | ||
100 | <assertions name="upperMultiplicity pullrequest Commit" annotations="//@annotations.3"> | ||
101 | <value xsi:type="language_1:Forall"> | ||
102 | <quantifiedVariables name="src"> | ||
103 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
104 | </quantifiedVariables> | ||
105 | <quantifiedVariables name="trg 1"> | ||
106 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
107 | </quantifiedVariables> | ||
108 | <quantifiedVariables name="trg 2"> | ||
109 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
110 | </quantifiedVariables> | ||
111 | <expression xsi:type="language_1:Impl"> | ||
112 | <leftOperand xsi:type="language_1:And"> | ||
113 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> | ||
114 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/> | ||
115 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.1"/> | ||
116 | </operands> | ||
117 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> | ||
118 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/> | ||
119 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.2"/> | ||
120 | </operands> | ||
121 | </leftOperand> | ||
122 | <rightOperand xsi:type="language_1:Not"> | ||
123 | <operand xsi:type="language_1:Distinct"> | ||
124 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.1"/> | ||
125 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.2"/> | ||
126 | </operand> | ||
127 | </rightOperand> | ||
128 | </expression> | ||
129 | </value> | ||
130 | </assertions> | ||
131 | <assertions name="upperMultiplicity pullrequest Issue" annotations="//@annotations.4"> | ||
132 | <value xsi:type="language_1:Forall"> | ||
133 | <quantifiedVariables name="src"> | ||
134 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
135 | </quantifiedVariables> | ||
136 | <quantifiedVariables name="trg 1"> | ||
137 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
138 | </quantifiedVariables> | ||
139 | <quantifiedVariables name="trg 2"> | ||
140 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
141 | </quantifiedVariables> | ||
142 | <expression xsi:type="language_1:Impl"> | ||
143 | <leftOperand xsi:type="language_1:And"> | ||
144 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> | ||
145 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.0"/> | ||
146 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.1"/> | ||
147 | </operands> | ||
148 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> | ||
149 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.0"/> | ||
150 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.2"/> | ||
151 | </operands> | ||
152 | </leftOperand> | ||
153 | <rightOperand xsi:type="language_1:Not"> | ||
154 | <operand xsi:type="language_1:Distinct"> | ||
155 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.1"/> | ||
156 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.2"/> | ||
157 | </operand> | ||
158 | </rightOperand> | ||
159 | </expression> | ||
160 | </value> | ||
161 | </assertions> | ||
162 | <assertions name="upperMultiplicity commit PullRequest" annotations="//@annotations.5"> | ||
163 | <value xsi:type="language_1:Forall"> | ||
164 | <quantifiedVariables name="src"> | ||
165 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
166 | </quantifiedVariables> | ||
167 | <quantifiedVariables name="trg 1"> | ||
168 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
169 | </quantifiedVariables> | ||
170 | <quantifiedVariables name="trg 2"> | ||
171 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
172 | </quantifiedVariables> | ||
173 | <expression xsi:type="language_1:Impl"> | ||
174 | <leftOperand xsi:type="language_1:And"> | ||
175 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> | ||
176 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.0"/> | ||
177 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.1"/> | ||
178 | </operands> | ||
179 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> | ||
180 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.0"/> | ||
181 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.2"/> | ||
182 | </operands> | ||
183 | </leftOperand> | ||
184 | <rightOperand xsi:type="language_1:Not"> | ||
185 | <operand xsi:type="language_1:Distinct"> | ||
186 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.1"/> | ||
187 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.2"/> | ||
188 | </operand> | ||
189 | </rightOperand> | ||
190 | </expression> | ||
191 | </value> | ||
192 | </assertions> | ||
193 | <assertions name="lowerMultiplicity user IssueEvent" annotations="//@annotations.6"> | ||
194 | <value xsi:type="language_1:Forall"> | ||
195 | <quantifiedVariables name="src"> | ||
196 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
197 | </quantifiedVariables> | ||
198 | <expression xsi:type="language_1:Exists"> | ||
199 | <quantifiedVariables name="trg 1"> | ||
200 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
201 | </quantifiedVariables> | ||
202 | <expression xsi:type="language_1:And"> | ||
203 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> | ||
204 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.0"/> | ||
205 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@expression/@quantifiedVariables.0"/> | ||
206 | </operands> | ||
207 | </expression> | ||
208 | </expression> | ||
209 | </value> | ||
210 | </assertions> | ||
211 | <assertions name="upperMultiplicity user IssueEvent" annotations="//@annotations.7"> | ||
212 | <value xsi:type="language_1:Forall"> | ||
213 | <quantifiedVariables name="src"> | ||
214 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
215 | </quantifiedVariables> | ||
216 | <quantifiedVariables name="trg 1"> | ||
217 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
218 | </quantifiedVariables> | ||
219 | <quantifiedVariables name="trg 2"> | ||
220 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
221 | </quantifiedVariables> | ||
222 | <expression xsi:type="language_1:Impl"> | ||
223 | <leftOperand xsi:type="language_1:And"> | ||
224 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> | ||
225 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.0"/> | ||
226 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.1"/> | ||
227 | </operands> | ||
228 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> | ||
229 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.0"/> | ||
230 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.2"/> | ||
231 | </operands> | ||
232 | </leftOperand> | ||
233 | <rightOperand xsi:type="language_1:Not"> | ||
234 | <operand xsi:type="language_1:Distinct"> | ||
235 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.1"/> | ||
236 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.2"/> | ||
237 | </operand> | ||
238 | </rightOperand> | ||
239 | </expression> | ||
240 | </value> | ||
241 | </assertions> | ||
242 | <assertions name="oppositeReference pullrequest Commit" annotations="//@annotations.8"> | ||
243 | <value xsi:type="language_1:Forall"> | ||
244 | <quantifiedVariables name="src"> | ||
245 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
246 | </quantifiedVariables> | ||
247 | <quantifiedVariables name="trg"> | ||
248 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
249 | </quantifiedVariables> | ||
250 | <expression xsi:type="language_1:Iff"> | ||
251 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> | ||
252 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/> | ||
253 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.1"/> | ||
254 | </leftOperand> | ||
255 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> | ||
256 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.1"/> | ||
257 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/> | ||
258 | </rightOperand> | ||
259 | </expression> | ||
260 | </value> | ||
261 | </assertions> | ||
262 | <assertions name="lowerMultiplicity action IssueEvent" annotations="//@annotations.9"> | ||
263 | <value xsi:type="language_1:Forall"> | ||
264 | <quantifiedVariables name="src"> | ||
265 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
266 | </quantifiedVariables> | ||
267 | <expression xsi:type="language_1:Exists"> | ||
268 | <quantifiedVariables name="trg 1"> | ||
269 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
270 | </quantifiedVariables> | ||
271 | <expression xsi:type="language_1:And"> | ||
272 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
273 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/> | ||
274 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@expression/@quantifiedVariables.0"/> | ||
275 | </operands> | ||
276 | </expression> | ||
277 | </expression> | ||
278 | </value> | ||
279 | </assertions> | ||
280 | <assertions name="upperMultiplicity action IssueEvent" annotations="//@annotations.10"> | ||
281 | <value xsi:type="language_1:Forall"> | ||
282 | <quantifiedVariables name="src"> | ||
283 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
284 | </quantifiedVariables> | ||
285 | <quantifiedVariables name="trg 1"> | ||
286 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
287 | </quantifiedVariables> | ||
288 | <quantifiedVariables name="trg 2"> | ||
289 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
290 | </quantifiedVariables> | ||
291 | <expression xsi:type="language_1:Impl"> | ||
292 | <leftOperand xsi:type="language_1:And"> | ||
293 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
294 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/> | ||
295 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.1"/> | ||
296 | </operands> | ||
297 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
298 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/> | ||
299 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.2"/> | ||
300 | </operands> | ||
301 | </leftOperand> | ||
302 | <rightOperand xsi:type="language_1:Not"> | ||
303 | <operand xsi:type="language_1:Distinct"> | ||
304 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.1"/> | ||
305 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.2"/> | ||
306 | </operand> | ||
307 | </rightOperand> | ||
308 | </expression> | ||
309 | </value> | ||
310 | </assertions> | ||
311 | <assertions name="errorpattern queries loopInParent" annotations="//@annotations.27"> | ||
312 | <value xsi:type="language_1:Forall"> | ||
313 | <quantifiedVariables name="p0"> | ||
314 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
315 | </quantifiedVariables> | ||
316 | <expression xsi:type="language_1:Not"> | ||
317 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12"> | ||
318 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/> | ||
319 | </operand> | ||
320 | </expression> | ||
321 | </value> | ||
322 | </assertions> | ||
323 | <assertions name="errorpattern queries consecutiveClosesWithoutReopen" annotations="//@annotations.28"> | ||
324 | <value xsi:type="language_1:Forall"> | ||
325 | <quantifiedVariables name="p0"> | ||
326 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
327 | </quantifiedVariables> | ||
328 | <expression xsi:type="language_1:Not"> | ||
329 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19"> | ||
330 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/> | ||
331 | </operand> | ||
332 | </expression> | ||
333 | </value> | ||
334 | </assertions> | ||
335 | <assertions name="errorpattern queries consecutiveReopensWithoutClose" annotations="//@annotations.29"> | ||
336 | <value xsi:type="language_1:Forall"> | ||
337 | <quantifiedVariables name="p0"> | ||
338 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
339 | </quantifiedVariables> | ||
340 | <expression xsi:type="language_1:Not"> | ||
341 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> | ||
342 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/> | ||
343 | </operand> | ||
344 | </expression> | ||
345 | </value> | ||
346 | </assertions> | ||
347 | <assertions name="errorpattern queries consecutiveSubWithoutUnSub" annotations="//@annotations.30"> | ||
348 | <value xsi:type="language_1:Forall"> | ||
349 | <quantifiedVariables name="p0"> | ||
350 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
351 | </quantifiedVariables> | ||
352 | <quantifiedVariables name="p1"> | ||
353 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
354 | </quantifiedVariables> | ||
355 | <expression xsi:type="language_1:Not"> | ||
356 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21"> | ||
357 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/> | ||
358 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.1"/> | ||
359 | </operand> | ||
360 | </expression> | ||
361 | </value> | ||
362 | </assertions> | ||
363 | <assertions name="errorpattern queries consecutiveUnSubWithoutSub" annotations="//@annotations.31"> | ||
364 | <value xsi:type="language_1:Forall"> | ||
365 | <quantifiedVariables name="p0"> | ||
366 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
367 | </quantifiedVariables> | ||
368 | <quantifiedVariables name="p1"> | ||
369 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
370 | </quantifiedVariables> | ||
371 | <expression xsi:type="language_1:Not"> | ||
372 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22"> | ||
373 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/> | ||
374 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.1"/> | ||
375 | </operand> | ||
376 | </expression> | ||
377 | </value> | ||
378 | </assertions> | ||
379 | <assertions name="errorpattern queries noCommitter" annotations="//@annotations.32"> | ||
380 | <value xsi:type="language_1:Forall"> | ||
381 | <quantifiedVariables name="p0"> | ||
382 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
383 | </quantifiedVariables> | ||
384 | <expression xsi:type="language_1:Not"> | ||
385 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25"> | ||
386 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/> | ||
387 | </operand> | ||
388 | </expression> | ||
389 | </value> | ||
390 | </assertions> | ||
391 | <assertions name="errorpattern queries noUser" annotations="//@annotations.33"> | ||
392 | <value xsi:type="language_1:Forall"> | ||
393 | <quantifiedVariables name="p0"> | ||
394 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
395 | </quantifiedVariables> | ||
396 | <expression xsi:type="language_1:Not"> | ||
397 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26"> | ||
398 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/> | ||
399 | </operand> | ||
400 | </expression> | ||
401 | </value> | ||
402 | </assertions> | ||
403 | <relations xsi:type="language_1:RelationDeclaration" name="issue reference Project"> | ||
404 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> | ||
405 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
406 | </relations> | ||
407 | <relations xsi:type="language_1:RelationDeclaration" name="projectMembers reference Project"> | ||
408 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> | ||
409 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
410 | </relations> | ||
411 | <relations xsi:type="language_1:RelationDeclaration" name="commits reference Project"> | ||
412 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> | ||
413 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
414 | </relations> | ||
415 | <relations xsi:type="language_1:RelationDeclaration" name="committer reference Commit"> | ||
416 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
417 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
418 | </relations> | ||
419 | <relations xsi:type="language_1:RelationDeclaration" name="parents reference Commit"> | ||
420 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
421 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
422 | </relations> | ||
423 | <relations xsi:type="language_1:RelationDeclaration" name="pullrequest reference Commit"> | ||
424 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
425 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
426 | </relations> | ||
427 | <relations xsi:type="language_1:RelationDeclaration" name="pullrequest reference Issue"> | ||
428 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
429 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
430 | </relations> | ||
431 | <relations xsi:type="language_1:RelationDeclaration" name="issueevent reference Issue"> | ||
432 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
433 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
434 | </relations> | ||
435 | <relations xsi:type="language_1:RelationDeclaration" name="commit reference PullRequest"> | ||
436 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> | ||
437 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
438 | </relations> | ||
439 | <relations xsi:type="language_1:RelationDeclaration" name="user reference IssueEvent"> | ||
440 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
441 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
442 | </relations> | ||
443 | <relations xsi:type="language_1:RelationDeclaration" name="action attribute IssueEvent"> | ||
444 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
445 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
446 | </relations> | ||
447 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries directParent" annotations="//@annotations.11"> | ||
448 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
449 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
450 | <variables name="parameter a"> | ||
451 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
452 | </variables> | ||
453 | <variables name="parameter b"> | ||
454 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
455 | </variables> | ||
456 | <value xsi:type="language_1:Or"> | ||
457 | <operands xsi:type="language_1:And"> | ||
458 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> | ||
459 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> | ||
460 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.1"/> | ||
461 | </operands> | ||
462 | <operands xsi:type="language_1:InstanceOf"> | ||
463 | <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.1"/> | ||
464 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
465 | </operands> | ||
466 | </operands> | ||
467 | </value> | ||
468 | </relations> | ||
469 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries loopInParent" annotations="//@annotations.12"> | ||
470 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
471 | <variables name="parameter a"> | ||
472 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
473 | </variables> | ||
474 | <value xsi:type="language_1:Or"> | ||
475 | <operands xsi:type="language_1:And"> | ||
476 | <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.11"> | ||
477 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> | ||
478 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> | ||
479 | </operands> | ||
480 | </operands> | ||
481 | </value> | ||
482 | </relations> | ||
483 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries checkAction" annotations="//@annotations.13"> | ||
484 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
485 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
486 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
487 | <variables name="parameter i"> | ||
488 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
489 | </variables> | ||
490 | <variables name="parameter e"> | ||
491 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
492 | </variables> | ||
493 | <variables name="parameter t"> | ||
494 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
495 | </variables> | ||
496 | <value xsi:type="language_1:Or"> | ||
497 | <operands xsi:type="language_1:And"> | ||
498 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> | ||
499 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/> | ||
500 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/> | ||
501 | </operands> | ||
502 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
503 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/> | ||
504 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.2"/> | ||
505 | </operands> | ||
506 | </operands> | ||
507 | </value> | ||
508 | </relations> | ||
509 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries checkUserAction" annotations="//@annotations.14"> | ||
510 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
511 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
512 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
513 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
514 | <variables name="parameter i"> | ||
515 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
516 | </variables> | ||
517 | <variables name="parameter u"> | ||
518 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
519 | </variables> | ||
520 | <variables name="parameter e"> | ||
521 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
522 | </variables> | ||
523 | <variables name="parameter t"> | ||
524 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
525 | </variables> | ||
526 | <value xsi:type="language_1:Or"> | ||
527 | <operands xsi:type="language_1:And"> | ||
528 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> | ||
529 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> | ||
530 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.2"/> | ||
531 | </operands> | ||
532 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> | ||
533 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.2"/> | ||
534 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> | ||
535 | </operands> | ||
536 | <operands xsi:type="language_1:InstanceOf"> | ||
537 | <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> | ||
538 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
539 | </operands> | ||
540 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
541 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.2"/> | ||
542 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.3"/> | ||
543 | </operands> | ||
544 | </operands> | ||
545 | </value> | ||
546 | </relations> | ||
547 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries isReopen" annotations="//@annotations.15"> | ||
548 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
549 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
550 | <variables name="parameter i"> | ||
551 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
552 | </variables> | ||
553 | <variables name="parameter e"> | ||
554 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
555 | </variables> | ||
556 | <value xsi:type="language_1:Or"> | ||
557 | <operands xsi:type="language_1:Exists"> | ||
558 | <quantifiedVariables name="variable a"> | ||
559 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
560 | </quantifiedVariables> | ||
561 | <expression xsi:type="language_1:And"> | ||
562 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> | ||
563 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> | ||
564 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/> | ||
565 | </operands> | ||
566 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
567 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/> | ||
568 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> | ||
569 | </operands> | ||
570 | <operands xsi:type="language_1:Equals"> | ||
571 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> | ||
572 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.5"/> | ||
573 | </operands> | ||
574 | </expression> | ||
575 | </operands> | ||
576 | </value> | ||
577 | </relations> | ||
578 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries isClose" annotations="//@annotations.16"> | ||
579 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
580 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
581 | <variables name="parameter i"> | ||
582 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
583 | </variables> | ||
584 | <variables name="parameter e"> | ||
585 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
586 | </variables> | ||
587 | <value xsi:type="language_1:Or"> | ||
588 | <operands xsi:type="language_1:Exists"> | ||
589 | <quantifiedVariables name="variable a"> | ||
590 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
591 | </quantifiedVariables> | ||
592 | <expression xsi:type="language_1:And"> | ||
593 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> | ||
594 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> | ||
595 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/> | ||
596 | </operands> | ||
597 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
598 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/> | ||
599 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.0"/> | ||
600 | </operands> | ||
601 | <operands xsi:type="language_1:Equals"> | ||
602 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.0"/> | ||
603 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> | ||
604 | </operands> | ||
605 | </expression> | ||
606 | </operands> | ||
607 | </value> | ||
608 | </relations> | ||
609 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries isUnSubscribe" annotations="//@annotations.17"> | ||
610 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
611 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
612 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
613 | <variables name="parameter i"> | ||
614 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
615 | </variables> | ||
616 | <variables name="parameter u"> | ||
617 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
618 | </variables> | ||
619 | <variables name="parameter e"> | ||
620 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
621 | </variables> | ||
622 | <value xsi:type="language_1:Or"> | ||
623 | <operands xsi:type="language_1:Exists"> | ||
624 | <quantifiedVariables name="variable a"> | ||
625 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
626 | </quantifiedVariables> | ||
627 | <expression xsi:type="language_1:And"> | ||
628 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> | ||
629 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> | ||
630 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.2"/> | ||
631 | </operands> | ||
632 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> | ||
633 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.2"/> | ||
634 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/> | ||
635 | </operands> | ||
636 | <operands xsi:type="language_1:InstanceOf"> | ||
637 | <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/> | ||
638 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
639 | </operands> | ||
640 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
641 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.2"/> | ||
642 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/> | ||
643 | </operands> | ||
644 | <operands xsi:type="language_1:Equals"> | ||
645 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/> | ||
646 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.6"/> | ||
647 | </operands> | ||
648 | </expression> | ||
649 | </operands> | ||
650 | </value> | ||
651 | </relations> | ||
652 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries isSubscribe" annotations="//@annotations.18"> | ||
653 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
654 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
655 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
656 | <variables name="parameter i"> | ||
657 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
658 | </variables> | ||
659 | <variables name="parameter u"> | ||
660 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
661 | </variables> | ||
662 | <variables name="parameter e"> | ||
663 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
664 | </variables> | ||
665 | <value xsi:type="language_1:Or"> | ||
666 | <operands xsi:type="language_1:Exists"> | ||
667 | <quantifiedVariables name="variable a"> | ||
668 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
669 | </quantifiedVariables> | ||
670 | <expression xsi:type="language_1:And"> | ||
671 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> | ||
672 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/> | ||
673 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/> | ||
674 | </operands> | ||
675 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> | ||
676 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/> | ||
677 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.1"/> | ||
678 | </operands> | ||
679 | <operands xsi:type="language_1:InstanceOf"> | ||
680 | <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.1"/> | ||
681 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
682 | </operands> | ||
683 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> | ||
684 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/> | ||
685 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/> | ||
686 | </operands> | ||
687 | <operands xsi:type="language_1:Equals"> | ||
688 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/> | ||
689 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> | ||
690 | </operands> | ||
691 | </expression> | ||
692 | </operands> | ||
693 | </value> | ||
694 | </relations> | ||
695 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries consecutiveClosesWithoutReopen" annotations="//@annotations.19"> | ||
696 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
697 | <variables name="parameter i"> | ||
698 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
699 | </variables> | ||
700 | <value xsi:type="language_1:Or"> | ||
701 | <operands xsi:type="language_1:Exists"> | ||
702 | <quantifiedVariables name="variable a1"> | ||
703 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
704 | </quantifiedVariables> | ||
705 | <quantifiedVariables name="variable a2"> | ||
706 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
707 | </quantifiedVariables> | ||
708 | <quantifiedVariables name="variable virtual0"> | ||
709 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
710 | </quantifiedVariables> | ||
711 | <quantifiedVariables name="variable virtual1"> | ||
712 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
713 | </quantifiedVariables> | ||
714 | <expression xsi:type="language_1:Forall"> | ||
715 | <quantifiedVariables name="variable 0"> | ||
716 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
717 | </quantifiedVariables> | ||
718 | <expression xsi:type="language_1:And"> | ||
719 | <operands xsi:type="language_1:Equals"> | ||
720 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.2"/> | ||
721 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> | ||
722 | </operands> | ||
723 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> | ||
724 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> | ||
725 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.0"/> | ||
726 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.2"/> | ||
727 | </operands> | ||
728 | <operands xsi:type="language_1:Equals"> | ||
729 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.3"/> | ||
730 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> | ||
731 | </operands> | ||
732 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> | ||
733 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> | ||
734 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.1"/> | ||
735 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.3"/> | ||
736 | </operands> | ||
737 | <operands xsi:type="language_1:Distinct"> | ||
738 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.0"/> | ||
739 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.1"/> | ||
740 | </operands> | ||
741 | <operands xsi:type="language_1:Not"> | ||
742 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> | ||
743 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> | ||
744 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@expression/@quantifiedVariables.0"/> | ||
745 | </operand> | ||
746 | </operands> | ||
747 | </expression> | ||
748 | </expression> | ||
749 | </operands> | ||
750 | </value> | ||
751 | </relations> | ||
752 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries consecutiveReopensWithoutClose" annotations="//@annotations.20"> | ||
753 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
754 | <variables name="parameter i"> | ||
755 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
756 | </variables> | ||
757 | <value xsi:type="language_1:Or"> | ||
758 | <operands xsi:type="language_1:Exists"> | ||
759 | <quantifiedVariables name="variable a1"> | ||
760 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
761 | </quantifiedVariables> | ||
762 | <quantifiedVariables name="variable a2"> | ||
763 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
764 | </quantifiedVariables> | ||
765 | <quantifiedVariables name="variable virtual0"> | ||
766 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
767 | </quantifiedVariables> | ||
768 | <quantifiedVariables name="variable virtual1"> | ||
769 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
770 | </quantifiedVariables> | ||
771 | <expression xsi:type="language_1:Forall"> | ||
772 | <quantifiedVariables name="variable 0"> | ||
773 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
774 | </quantifiedVariables> | ||
775 | <expression xsi:type="language_1:And"> | ||
776 | <operands xsi:type="language_1:Equals"> | ||
777 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.2"/> | ||
778 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.5"/> | ||
779 | </operands> | ||
780 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> | ||
781 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> | ||
782 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/> | ||
783 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.2"/> | ||
784 | </operands> | ||
785 | <operands xsi:type="language_1:Equals"> | ||
786 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.3"/> | ||
787 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.5"/> | ||
788 | </operands> | ||
789 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> | ||
790 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> | ||
791 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/> | ||
792 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.3"/> | ||
793 | </operands> | ||
794 | <operands xsi:type="language_1:Distinct"> | ||
795 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/> | ||
796 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/> | ||
797 | </operands> | ||
798 | <operands xsi:type="language_1:Not"> | ||
799 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16"> | ||
800 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> | ||
801 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@expression/@quantifiedVariables.0"/> | ||
802 | </operand> | ||
803 | </operands> | ||
804 | </expression> | ||
805 | </expression> | ||
806 | </operands> | ||
807 | </value> | ||
808 | </relations> | ||
809 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries consecutiveSubWithoutUnSub" annotations="//@annotations.21"> | ||
810 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
811 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
812 | <variables name="parameter i"> | ||
813 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
814 | </variables> | ||
815 | <variables name="parameter u"> | ||
816 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
817 | </variables> | ||
818 | <value xsi:type="language_1:Or"> | ||
819 | <operands xsi:type="language_1:Exists"> | ||
820 | <quantifiedVariables name="variable a1"> | ||
821 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
822 | </quantifiedVariables> | ||
823 | <quantifiedVariables name="variable a2"> | ||
824 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
825 | </quantifiedVariables> | ||
826 | <quantifiedVariables name="variable virtual0"> | ||
827 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
828 | </quantifiedVariables> | ||
829 | <quantifiedVariables name="variable virtual1"> | ||
830 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
831 | </quantifiedVariables> | ||
832 | <expression xsi:type="language_1:Forall"> | ||
833 | <quantifiedVariables name="variable 0"> | ||
834 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
835 | </quantifiedVariables> | ||
836 | <expression xsi:type="language_1:And"> | ||
837 | <operands xsi:type="language_1:Equals"> | ||
838 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/> | ||
839 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> | ||
840 | </operands> | ||
841 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14"> | ||
842 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/> | ||
843 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/> | ||
844 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/> | ||
845 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/> | ||
846 | </operands> | ||
847 | <operands xsi:type="language_1:Equals"> | ||
848 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.3"/> | ||
849 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> | ||
850 | </operands> | ||
851 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14"> | ||
852 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/> | ||
853 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/> | ||
854 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/> | ||
855 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.3"/> | ||
856 | </operands> | ||
857 | <operands xsi:type="language_1:Distinct"> | ||
858 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/> | ||
859 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/> | ||
860 | </operands> | ||
861 | <operands xsi:type="language_1:Not"> | ||
862 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17"> | ||
863 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/> | ||
864 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/> | ||
865 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@expression/@quantifiedVariables.0"/> | ||
866 | </operand> | ||
867 | </operands> | ||
868 | </expression> | ||
869 | </expression> | ||
870 | </operands> | ||
871 | </value> | ||
872 | </relations> | ||
873 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries consecutiveUnSubWithoutSub" annotations="//@annotations.22"> | ||
874 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
875 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
876 | <variables name="parameter i"> | ||
877 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> | ||
878 | </variables> | ||
879 | <variables name="parameter u"> | ||
880 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
881 | </variables> | ||
882 | <value xsi:type="language_1:Or"> | ||
883 | <operands xsi:type="language_1:Exists"> | ||
884 | <quantifiedVariables name="variable a1"> | ||
885 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
886 | </quantifiedVariables> | ||
887 | <quantifiedVariables name="variable a2"> | ||
888 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
889 | </quantifiedVariables> | ||
890 | <quantifiedVariables name="variable virtual0"> | ||
891 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
892 | </quantifiedVariables> | ||
893 | <quantifiedVariables name="variable virtual1"> | ||
894 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> | ||
895 | </quantifiedVariables> | ||
896 | <expression xsi:type="language_1:Forall"> | ||
897 | <quantifiedVariables name="variable 0"> | ||
898 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
899 | </quantifiedVariables> | ||
900 | <expression xsi:type="language_1:And"> | ||
901 | <operands xsi:type="language_1:Equals"> | ||
902 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> | ||
903 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.6"/> | ||
904 | </operands> | ||
905 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14"> | ||
906 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> | ||
907 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.1"/> | ||
908 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> | ||
909 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> | ||
910 | </operands> | ||
911 | <operands xsi:type="language_1:Equals"> | ||
912 | <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.3"/> | ||
913 | <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.6"/> | ||
914 | </operands> | ||
915 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14"> | ||
916 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> | ||
917 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.1"/> | ||
918 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> | ||
919 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.3"/> | ||
920 | </operands> | ||
921 | <operands xsi:type="language_1:Distinct"> | ||
922 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> | ||
923 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> | ||
924 | </operands> | ||
925 | <operands xsi:type="language_1:Not"> | ||
926 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18"> | ||
927 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> | ||
928 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.1"/> | ||
929 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@expression/@quantifiedVariables.0"/> | ||
930 | </operand> | ||
931 | </operands> | ||
932 | </expression> | ||
933 | </expression> | ||
934 | </operands> | ||
935 | </value> | ||
936 | </relations> | ||
937 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries committer" annotations="//@annotations.23"> | ||
938 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
939 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
940 | <variables name="parameter c"> | ||
941 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
942 | </variables> | ||
943 | <variables name="parameter u"> | ||
944 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
945 | </variables> | ||
946 | <value xsi:type="language_1:Or"> | ||
947 | <operands xsi:type="language_1:And"> | ||
948 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> | ||
949 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/> | ||
950 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.1"/> | ||
951 | </operands> | ||
952 | <operands xsi:type="language_1:InstanceOf"> | ||
953 | <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.1"/> | ||
954 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
955 | </operands> | ||
956 | </operands> | ||
957 | </value> | ||
958 | </relations> | ||
959 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries eventUser" annotations="//@annotations.24"> | ||
960 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
961 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
962 | <variables name="parameter e"> | ||
963 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
964 | </variables> | ||
965 | <variables name="parameter u"> | ||
966 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
967 | </variables> | ||
968 | <value xsi:type="language_1:Or"> | ||
969 | <operands xsi:type="language_1:And"> | ||
970 | <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> | ||
971 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/> | ||
972 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.1"/> | ||
973 | </operands> | ||
974 | <operands xsi:type="language_1:InstanceOf"> | ||
975 | <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.1"/> | ||
976 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
977 | </operands> | ||
978 | </operands> | ||
979 | </value> | ||
980 | </relations> | ||
981 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries noCommitter" annotations="//@annotations.25"> | ||
982 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
983 | <variables name="parameter c"> | ||
984 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
985 | </variables> | ||
986 | <value xsi:type="language_1:Or"> | ||
987 | <operands xsi:type="language_1:Forall"> | ||
988 | <quantifiedVariables name="variable 0"> | ||
989 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
990 | </quantifiedVariables> | ||
991 | <expression xsi:type="language_1:And"> | ||
992 | <operands xsi:type="language_1:InstanceOf"> | ||
993 | <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/> | ||
994 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> | ||
995 | </operands> | ||
996 | <operands xsi:type="language_1:Not"> | ||
997 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23"> | ||
998 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/> | ||
999 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/> | ||
1000 | </operand> | ||
1001 | </operands> | ||
1002 | </expression> | ||
1003 | </operands> | ||
1004 | </value> | ||
1005 | </relations> | ||
1006 | <relations xsi:type="language_1:RelationDefinition" name="pattern queries noUser" annotations="//@annotations.26"> | ||
1007 | <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
1008 | <variables name="parameter e"> | ||
1009 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
1010 | </variables> | ||
1011 | <value xsi:type="language_1:Or"> | ||
1012 | <operands xsi:type="language_1:Forall"> | ||
1013 | <quantifiedVariables name="variable 0"> | ||
1014 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> | ||
1015 | </quantifiedVariables> | ||
1016 | <expression xsi:type="language_1:And"> | ||
1017 | <operands xsi:type="language_1:InstanceOf"> | ||
1018 | <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> | ||
1019 | <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> | ||
1020 | </operands> | ||
1021 | <operands xsi:type="language_1:Not"> | ||
1022 | <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24"> | ||
1023 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> | ||
1024 | <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/> | ||
1025 | </operand> | ||
1026 | </operands> | ||
1027 | </expression> | ||
1028 | </operands> | ||
1029 | </value> | ||
1030 | </relations> | ||
1031 | <elements name="SUBSCRIBED literal Action" definedInType="//@types.6"/> | ||
1032 | <elements name="MENTIONED literal Action" definedInType="//@types.6"/> | ||
1033 | <elements name="CLOSED literal Action" definedInType="//@types.6"/> | ||
1034 | <elements name="REFERENCED literal Action" definedInType="//@types.6"/> | ||
1035 | <elements name="ASSIGNED literal Action" definedInType="//@types.6"/> | ||
1036 | <elements name="REOPENED literal Action" definedInType="//@types.6"/> | ||
1037 | <elements name="UNSUBSCRIBED literal Action" definedInType="//@types.6"/> | ||
1038 | <elements name="MERGED literal Action" definedInType="//@types.6"/> | ||
1039 | <elements name="HEAD_REF_CLEANED literal Action" definedInType="//@types.6"/> | ||
1040 | <elements name="HEAD_REF_DELETED literal Action" definedInType="//@types.6"/> | ||
1041 | <elements name="HEAD_REF_RESTORED literal Action" definedInType="//@types.6"/> | ||
1042 | <elements name="o 1" definedInType="//@types.7"/> | ||
1043 | <containmentHierarchies typesOrderedInHierarchy="//@types.4 //@types.5 //@types.2 //@types.0 //@types.1 //@types.3 //@types.7 //@types.8" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.6 //@relations.7"/> | ||
1044 | <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.3" lower="1"/> | ||
1045 | <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.3" upper="1"/> | ||
1046 | <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.2" relation="//@relations.4" upper="2"/> | ||
1047 | <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.3" relation="//@relations.5" upper="1"/> | ||
1048 | <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.4" relation="//@relations.6" upper="1"/> | ||
1049 | <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.8" upper="1"/> | ||
1050 | <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.6" relation="//@relations.9" lower="1"/> | ||
1051 | <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.9" upper="1"/> | ||
1052 | <annotations xsi:type="ecore2logicannotations:InverseRelationAssertion" target="//@assertions.8" inverseA="//@relations.5" inverseB="//@relations.8"/> | ||
1053 | <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.9" relation="//@relations.10" lower="1"/> | ||
1054 | <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.10" relation="//@relations.10" upper="1"/> | ||
1055 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="queries.directParent"/> | ||
1056 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="queries.loopInParent"/> | ||
1057 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="queries.checkAction"/> | ||
1058 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="queries.checkUserAction"/> | ||
1059 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="queries.isReopen"> | ||
1060 | <variableTrace targetLogicVariable="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> | ||
1061 | </annotations> | ||
1062 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="queries.isClose"> | ||
1063 | <variableTrace targetLogicVariable="//@relations.16/@value/@operands.0/@quantifiedVariables.0"/> | ||
1064 | </annotations> | ||
1065 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="queries.isUnSubscribe"> | ||
1066 | <variableTrace targetLogicVariable="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/> | ||
1067 | </annotations> | ||
1068 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="queries.isSubscribe"> | ||
1069 | <variableTrace targetLogicVariable="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/> | ||
1070 | </annotations> | ||
1071 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="queries.consecutiveClosesWithoutReopen"> | ||
1072 | <variableTrace targetLogicVariable="//@relations.19/@value/@operands.0/@quantifiedVariables.0"/> | ||
1073 | <variableTrace targetLogicVariable="//@relations.19/@value/@operands.0/@quantifiedVariables.1"/> | ||
1074 | <variableTrace targetLogicVariable="//@relations.19/@value/@operands.0/@expression/@quantifiedVariables.0"/> | ||
1075 | <variableTrace targetLogicVariable="//@relations.19/@value/@operands.0/@quantifiedVariables.2"/> | ||
1076 | <variableTrace targetLogicVariable="//@relations.19/@value/@operands.0/@quantifiedVariables.3"/> | ||
1077 | </annotations> | ||
1078 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="queries.consecutiveReopensWithoutClose"> | ||
1079 | <variableTrace targetLogicVariable="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/> | ||
1080 | <variableTrace targetLogicVariable="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/> | ||
1081 | <variableTrace targetLogicVariable="//@relations.20/@value/@operands.0/@expression/@quantifiedVariables.0"/> | ||
1082 | <variableTrace targetLogicVariable="//@relations.20/@value/@operands.0/@quantifiedVariables.2"/> | ||
1083 | <variableTrace targetLogicVariable="//@relations.20/@value/@operands.0/@quantifiedVariables.3"/> | ||
1084 | </annotations> | ||
1085 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="queries.consecutiveSubWithoutUnSub"> | ||
1086 | <variableTrace targetLogicVariable="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/> | ||
1087 | <variableTrace targetLogicVariable="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/> | ||
1088 | <variableTrace targetLogicVariable="//@relations.21/@value/@operands.0/@expression/@quantifiedVariables.0"/> | ||
1089 | <variableTrace targetLogicVariable="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/> | ||
1090 | <variableTrace targetLogicVariable="//@relations.21/@value/@operands.0/@quantifiedVariables.3"/> | ||
1091 | </annotations> | ||
1092 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="queries.consecutiveUnSubWithoutSub"> | ||
1093 | <variableTrace targetLogicVariable="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> | ||
1094 | <variableTrace targetLogicVariable="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> | ||
1095 | <variableTrace targetLogicVariable="//@relations.22/@value/@operands.0/@expression/@quantifiedVariables.0"/> | ||
1096 | <variableTrace targetLogicVariable="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> | ||
1097 | <variableTrace targetLogicVariable="//@relations.22/@value/@operands.0/@quantifiedVariables.3"/> | ||
1098 | </annotations> | ||
1099 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="queries.committer"/> | ||
1100 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="queries.eventUser"/> | ||
1101 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="queries.noCommitter"> | ||
1102 | <variableTrace targetLogicVariable="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/> | ||
1103 | </annotations> | ||
1104 | <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="queries.noUser"> | ||
1105 | <variableTrace targetLogicVariable="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/> | ||
1106 | </annotations> | ||
1107 | <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.11" query="//@annotations.12"/> | ||
1108 | <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.12" query="//@annotations.19"/> | ||
1109 | <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.13" query="//@annotations.20"/> | ||
1110 | <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.14" query="//@annotations.21"/> | ||
1111 | <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.15" query="//@annotations.22"/> | ||
1112 | <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.16" query="//@annotations.25"/> | ||
1113 | <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.17" query="//@annotations.26"/> | ||
1114 | </language:LogicProblem> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/init.partialmodel b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/init.partialmodel new file mode 100644 index 00000000..8bcbc8f2 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/init.partialmodel | |||
@@ -0,0 +1,98 @@ | |||
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="29" maxNewElements="29"> | ||
3 | <problem href="debug/generation.logicproblem#/"/> | ||
4 | <partialrelationinterpretation> | ||
5 | <interpretationOf href="debug/generation.logicproblem#//@relations.0"/> | ||
6 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.0/@parameters.0"/> | ||
7 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.0/@parameters.1"/> | ||
8 | </partialrelationinterpretation> | ||
9 | <partialrelationinterpretation> | ||
10 | <interpretationOf href="debug/generation.logicproblem#//@relations.1"/> | ||
11 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.1/@parameters.0"/> | ||
12 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.1/@parameters.1"/> | ||
13 | </partialrelationinterpretation> | ||
14 | <partialrelationinterpretation> | ||
15 | <interpretationOf href="debug/generation.logicproblem#//@relations.2"/> | ||
16 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.2/@parameters.0"/> | ||
17 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.2/@parameters.1"/> | ||
18 | </partialrelationinterpretation> | ||
19 | <partialrelationinterpretation> | ||
20 | <interpretationOf href="debug/generation.logicproblem#//@relations.3"/> | ||
21 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.3/@parameters.0"/> | ||
22 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.3/@parameters.1"/> | ||
23 | </partialrelationinterpretation> | ||
24 | <partialrelationinterpretation> | ||
25 | <interpretationOf href="debug/generation.logicproblem#//@relations.4"/> | ||
26 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.4/@parameters.0"/> | ||
27 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.4/@parameters.1"/> | ||
28 | </partialrelationinterpretation> | ||
29 | <partialrelationinterpretation> | ||
30 | <interpretationOf href="debug/generation.logicproblem#//@relations.5"/> | ||
31 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.5/@parameters.0"/> | ||
32 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.5/@parameters.1"/> | ||
33 | </partialrelationinterpretation> | ||
34 | <partialrelationinterpretation> | ||
35 | <interpretationOf href="debug/generation.logicproblem#//@relations.6"/> | ||
36 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.6/@parameters.0"/> | ||
37 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.6/@parameters.1"/> | ||
38 | </partialrelationinterpretation> | ||
39 | <partialrelationinterpretation> | ||
40 | <interpretationOf href="debug/generation.logicproblem#//@relations.7"/> | ||
41 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.7/@parameters.0"/> | ||
42 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.7/@parameters.1"/> | ||
43 | </partialrelationinterpretation> | ||
44 | <partialrelationinterpretation> | ||
45 | <interpretationOf href="debug/generation.logicproblem#//@relations.8"/> | ||
46 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.8/@parameters.0"/> | ||
47 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.8/@parameters.1"/> | ||
48 | </partialrelationinterpretation> | ||
49 | <partialrelationinterpretation> | ||
50 | <interpretationOf href="debug/generation.logicproblem#//@relations.9"/> | ||
51 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.9/@parameters.0"/> | ||
52 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.9/@parameters.1"/> | ||
53 | </partialrelationinterpretation> | ||
54 | <partialrelationinterpretation> | ||
55 | <interpretationOf href="debug/generation.logicproblem#//@relations.10"/> | ||
56 | <param1 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.10/@parameters.0"/> | ||
57 | <param2 xsi:type="language:ComplexTypeReference" href="debug/generation.logicproblem#//@relations.10/@parameters.1"/> | ||
58 | </partialrelationinterpretation> | ||
59 | <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/> | ||
60 | <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/> | ||
61 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/> | ||
62 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/> | ||
63 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/> | ||
64 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/> | ||
65 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0"> | ||
66 | <interpretationOf href="debug/generation.logicproblem#//@types.0"/> | ||
67 | </partialtypeinterpratation> | ||
68 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1"> | ||
69 | <elements href="debug/generation.logicproblem#//@elements.11"/> | ||
70 | <interpretationOf href="debug/generation.logicproblem#//@types.1"/> | ||
71 | </partialtypeinterpratation> | ||
72 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2"> | ||
73 | <interpretationOf href="debug/generation.logicproblem#//@types.2"/> | ||
74 | </partialtypeinterpratation> | ||
75 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3"> | ||
76 | <interpretationOf href="debug/generation.logicproblem#//@types.3"/> | ||
77 | </partialtypeinterpratation> | ||
78 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4"> | ||
79 | <interpretationOf href="debug/generation.logicproblem#//@types.4"/> | ||
80 | </partialtypeinterpratation> | ||
81 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5"> | ||
82 | <interpretationOf href="debug/generation.logicproblem#//@types.5"/> | ||
83 | </partialtypeinterpratation> | ||
84 | <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6" supertypeInterpretation="//@partialtypeinterpratation.5"> | ||
85 | <interpretationOf href="debug/generation.logicproblem#//@types.8"/> | ||
86 | </partialtypeinterpratation> | ||
87 | <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/> | ||
88 | <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/> | ||
89 | <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/> | ||
90 | <openWorldElements name="New Objects"/> | ||
91 | <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/> | ||
92 | <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/> | ||
93 | <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/> | ||
94 | <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/> | ||
95 | <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/> | ||
96 | <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/> | ||
97 | <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/> | ||
98 | </partialinterpretation:PartialInterpretation> | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/problem.als b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/problem.als new file mode 100644 index 00000000..dbdb8ba6 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/problem.als | |||
@@ -0,0 +1,151 @@ | |||
1 | one sig util'language { | ||
2 | AsDeclaration'pattern'queries'directParent : type'Commit'class->type'Commit'class, | ||
3 | util'root : one type'PullRequest'class + (type'IssueEvent'class + (type'Commit'class + (type'User'class + (type'Project'class + (type'Issue'class + (type'Project'class'DefinedPart + type'Project'class'UndefinedPart)))))), | ||
4 | util'contains : (type'PullRequest'class + (type'IssueEvent'class + (type'Commit'class + (type'User'class + (type'Project'class + (type'Issue'class + (type'Project'class'DefinedPart + type'Project'class'UndefinedPart))))))) lone->set (type'PullRequest'class + (type'IssueEvent'class + (type'Commit'class + (type'User'class + (type'Project'class + (type'Issue'class + (type'Project'class'DefinedPart + type'Project'class'UndefinedPart))))))) | ||
5 | } | ||
6 | abstract sig util'Object { | ||
7 | } | ||
8 | sig type'User'class extends util'Object { | ||
9 | } | ||
10 | abstract sig type'Project'class extends util'Object { | ||
11 | issue'reference'Project : set type'Issue'class, | ||
12 | projectMembers'reference'Project : set type'User'class, | ||
13 | commits'reference'Project : set type'Commit'class | ||
14 | } | ||
15 | sig type'Commit'class extends util'Object { | ||
16 | committer'reference'Commit : one type'User'class, | ||
17 | parents'reference'Commit : set type'Commit'class, | ||
18 | pullrequest'reference'Commit : lone type'PullRequest'class | ||
19 | } | ||
20 | sig type'Issue'class extends util'Object { | ||
21 | pullrequest'reference'Issue : lone type'PullRequest'class, | ||
22 | issueevent'reference'Issue : set type'IssueEvent'class | ||
23 | } | ||
24 | sig type'PullRequest'class extends util'Object { | ||
25 | commit'reference'PullRequest : lone type'Commit'class | ||
26 | } | ||
27 | sig type'IssueEvent'class extends util'Object { | ||
28 | user'reference'IssueEvent : one type'User'class, | ||
29 | action'attribute'IssueEvent : one type'Action'enum | ||
30 | } | ||
31 | abstract sig type'Action'enum extends util'Object { | ||
32 | } | ||
33 | abstract sig type'Project'class'DefinedPart extends type'Project'class { | ||
34 | } | ||
35 | sig type'Project'class'UndefinedPart extends type'Project'class { | ||
36 | } | ||
37 | one sig element'SUBSCRIBED'literal'Action extends type'Action'enum { | ||
38 | } | ||
39 | one sig element'MENTIONED'literal'Action extends type'Action'enum { | ||
40 | } | ||
41 | one sig element'CLOSED'literal'Action extends type'Action'enum { | ||
42 | } | ||
43 | one sig element'REFERENCED'literal'Action extends type'Action'enum { | ||
44 | } | ||
45 | one sig element'ASSIGNED'literal'Action extends type'Action'enum { | ||
46 | } | ||
47 | one sig element'REOPENED'literal'Action extends type'Action'enum { | ||
48 | } | ||
49 | one sig element'UNSUBSCRIBED'literal'Action extends type'Action'enum { | ||
50 | } | ||
51 | one sig element'MERGED'literal'Action extends type'Action'enum { | ||
52 | } | ||
53 | one sig element'HEAD_REF_CLEANED'literal'Action extends type'Action'enum { | ||
54 | } | ||
55 | one sig element'HEAD_REF_DELETED'literal'Action extends type'Action'enum { | ||
56 | } | ||
57 | one sig element'HEAD_REF_RESTORED'literal'Action extends type'Action'enum { | ||
58 | } | ||
59 | one sig element'o'1 extends type'Project'class'DefinedPart { | ||
60 | } | ||
61 | pred pattern'queries'directParent [parameter'a: type'Commit'class, parameter'b: type'Commit'class] { | ||
62 | parameter'b in parameter'a.parents'reference'Commit && parameter'b in type'Commit'class | ||
63 | } | ||
64 | pred pattern'queries'loopInParent [parameter'a: type'Commit'class] { | ||
65 | parameter'a->parameter'a in ^ (util'language.AsDeclaration'pattern'queries'directParent) | ||
66 | } | ||
67 | pred pattern'queries'checkAction [parameter'i: type'Issue'class, parameter'e: type'IssueEvent'class, parameter't: type'Action'enum] { | ||
68 | parameter'e in parameter'i.issueevent'reference'Issue && parameter't in parameter'e.action'attribute'IssueEvent | ||
69 | } | ||
70 | pred pattern'queries'checkUserAction [parameter'i: type'Issue'class, parameter'u: type'User'class, parameter'e: type'IssueEvent'class, parameter't: type'Action'enum] { | ||
71 | parameter'e in parameter'i.issueevent'reference'Issue && (parameter'u in parameter'e.user'reference'IssueEvent && (parameter'u in type'User'class && parameter't in parameter'e.action'attribute'IssueEvent)) | ||
72 | } | ||
73 | pred pattern'queries'isReopen [parameter'i: type'Issue'class, parameter'e: type'IssueEvent'class] { | ||
74 | some variable'a: type'Action'enum { parameter'e in parameter'i.issueevent'reference'Issue && (variable'a in parameter'e.action'attribute'IssueEvent && variable'a = element'REOPENED'literal'Action) } | ||
75 | } | ||
76 | pred pattern'queries'isClose [parameter'i: type'Issue'class, parameter'e: type'IssueEvent'class] { | ||
77 | some variable'a: type'Action'enum { parameter'e in parameter'i.issueevent'reference'Issue && (variable'a in parameter'e.action'attribute'IssueEvent && variable'a = element'CLOSED'literal'Action) } | ||
78 | } | ||
79 | pred pattern'queries'isUnSubscribe [parameter'i: type'Issue'class, parameter'u: type'User'class, parameter'e: type'IssueEvent'class] { | ||
80 | some variable'a: type'Action'enum { parameter'e in parameter'i.issueevent'reference'Issue && (parameter'u in parameter'e.user'reference'IssueEvent && (parameter'u in type'User'class && (variable'a in parameter'e.action'attribute'IssueEvent && variable'a = element'UNSUBSCRIBED'literal'Action))) } | ||
81 | } | ||
82 | pred pattern'queries'isSubscribe [parameter'i: type'Issue'class, parameter'u: type'User'class, parameter'e: type'IssueEvent'class] { | ||
83 | some variable'a: type'Action'enum { parameter'e in parameter'i.issueevent'reference'Issue && (parameter'u in parameter'e.user'reference'IssueEvent && (parameter'u in type'User'class && (variable'a in parameter'e.action'attribute'IssueEvent && variable'a = element'SUBSCRIBED'literal'Action))) } | ||
84 | } | ||
85 | pred pattern'queries'consecutiveClosesWithoutReopen [parameter'i: type'Issue'class] { | ||
86 | some variable'a1: type'IssueEvent'class, variable'a2: type'IssueEvent'class, variable'virtual0: type'Action'enum, variable'virtual1: type'Action'enum { all variable'0: type'IssueEvent'class { variable'virtual0 = element'CLOSED'literal'Action && (pattern'queries'checkAction [ parameter'i , variable'a1 , variable'virtual0 ] && (variable'virtual1 = element'CLOSED'literal'Action && (pattern'queries'checkAction [ parameter'i , variable'a2 , variable'virtual1 ] && (variable'a1 != variable'a2 && not (pattern'queries'isReopen [ parameter'i , variable'0 ]))))) } } | ||
87 | } | ||
88 | pred pattern'queries'consecutiveReopensWithoutClose [parameter'i: type'Issue'class] { | ||
89 | some variable'a1: type'IssueEvent'class, variable'a2: type'IssueEvent'class, variable'virtual0: type'Action'enum, variable'virtual1: type'Action'enum { all variable'0: type'IssueEvent'class { variable'virtual0 = element'REOPENED'literal'Action && (pattern'queries'checkAction [ parameter'i , variable'a1 , variable'virtual0 ] && (variable'virtual1 = element'REOPENED'literal'Action && (pattern'queries'checkAction [ parameter'i , variable'a2 , variable'virtual1 ] && (variable'a1 != variable'a2 && not (pattern'queries'isClose [ parameter'i , variable'0 ]))))) } } | ||
90 | } | ||
91 | pred pattern'queries'consecutiveSubWithoutUnSub [parameter'i: type'Issue'class, parameter'u: type'User'class] { | ||
92 | some variable'a1: type'IssueEvent'class, variable'a2: type'IssueEvent'class, variable'virtual0: type'Action'enum, variable'virtual1: type'Action'enum { all variable'0: type'IssueEvent'class { variable'virtual0 = element'SUBSCRIBED'literal'Action && (pattern'queries'checkUserAction [ parameter'i , parameter'u , variable'a1 , variable'virtual0 ] && (variable'virtual1 = element'SUBSCRIBED'literal'Action && (pattern'queries'checkUserAction [ parameter'i , parameter'u , variable'a2 , variable'virtual1 ] && (variable'a1 != variable'a2 && not (pattern'queries'isUnSubscribe [ parameter'i , parameter'u , variable'0 ]))))) } } | ||
93 | } | ||
94 | pred pattern'queries'consecutiveUnSubWithoutSub [parameter'i: type'Issue'class, parameter'u: type'User'class] { | ||
95 | some variable'a1: type'IssueEvent'class, variable'a2: type'IssueEvent'class, variable'virtual0: type'Action'enum, variable'virtual1: type'Action'enum { all variable'0: type'IssueEvent'class { variable'virtual0 = element'UNSUBSCRIBED'literal'Action && (pattern'queries'checkUserAction [ parameter'i , parameter'u , variable'a1 , variable'virtual0 ] && (variable'virtual1 = element'UNSUBSCRIBED'literal'Action && (pattern'queries'checkUserAction [ parameter'i , parameter'u , variable'a2 , variable'virtual1 ] && (variable'a1 != variable'a2 && not (pattern'queries'isSubscribe [ parameter'i , parameter'u , variable'0 ]))))) } } | ||
96 | } | ||
97 | pred pattern'queries'committer [parameter'c: type'Commit'class, parameter'u: type'User'class] { | ||
98 | parameter'u in parameter'c.committer'reference'Commit && parameter'u in type'User'class | ||
99 | } | ||
100 | pred pattern'queries'eventUser [parameter'e: type'IssueEvent'class, parameter'u: type'User'class] { | ||
101 | parameter'u in parameter'e.user'reference'IssueEvent && parameter'u in type'User'class | ||
102 | } | ||
103 | pred pattern'queries'noCommitter [parameter'c: type'Commit'class] { | ||
104 | all variable'0: type'User'class { parameter'c in type'Commit'class && not (pattern'queries'committer [ parameter'c , variable'0 ]) } | ||
105 | } | ||
106 | pred pattern'queries'noUser [parameter'e: type'IssueEvent'class] { | ||
107 | all variable'0: type'User'class { parameter'e in type'IssueEvent'class && not (pattern'queries'eventUser [ parameter'e , variable'0 ]) } | ||
108 | } | ||
109 | fact EqualsAsDeclaration'pattern'queries'directParent { | ||
110 | all a: type'Commit'class, b: type'Commit'class { pattern'queries'directParent [ a , b ] <=> a->b in util'language.AsDeclaration'pattern'queries'directParent } | ||
111 | } | ||
112 | fact util'containmentDefinition { | ||
113 | util'language.util'contains = issue'reference'Project + (projectMembers'reference'Project + (commits'reference'Project + (pullrequest'reference'Issue + issueevent'reference'Issue))) | ||
114 | } | ||
115 | fact util'noParentForRoot { | ||
116 | no parent: type'PullRequest'class + (type'IssueEvent'class + (type'Commit'class + (type'User'class + (type'Project'class + (type'Issue'class + (type'Project'class'DefinedPart + type'Project'class'UndefinedPart)))))) { parent->(util'language.util'root) in util'language.util'contains } | ||
117 | } | ||
118 | fact util'atLeastOneParent { | ||
119 | all child: type'PullRequest'class + (type'IssueEvent'class + (type'Commit'class + (type'User'class + (type'Project'class + (type'Issue'class + (type'Project'class'DefinedPart + type'Project'class'UndefinedPart)))))) { child = util'language.util'root or (some parent: type'PullRequest'class + (type'IssueEvent'class + (type'Commit'class + (type'User'class + (type'Project'class + (type'Issue'class + (type'Project'class'DefinedPart + type'Project'class'UndefinedPart)))))) { parent->child in util'language.util'contains }) } | ||
120 | } | ||
121 | fact util'noCircularContainment { | ||
122 | no circle: type'PullRequest'class + (type'IssueEvent'class + (type'Commit'class + (type'User'class + (type'Project'class + (type'Issue'class + (type'Project'class'DefinedPart + type'Project'class'UndefinedPart)))))) { circle->circle in ^ (util'language.util'contains) } | ||
123 | } | ||
124 | fact upperMultiplicity'parents'Commit { | ||
125 | all src: type'Commit'class, trg'1: type'Commit'class, trg'2: type'Commit'class, trg'3: type'Commit'class { trg'1 in src.parents'reference'Commit && (trg'2 in src.parents'reference'Commit && trg'3 in src.parents'reference'Commit) => not (trg'1 != trg'2 && (trg'1 != trg'3 && trg'2 != trg'3)) } | ||
126 | } | ||
127 | fact oppositeReference'pullrequest'Commit { | ||
128 | pullrequest'reference'Commit = ~ commit'reference'PullRequest | ||
129 | } | ||
130 | fact errorpattern'queries'loopInParent { | ||
131 | all p0: type'Commit'class { not (pattern'queries'loopInParent [ p0 ]) } | ||
132 | } | ||
133 | fact errorpattern'queries'consecutiveClosesWithoutReopen { | ||
134 | all p0: type'Issue'class { not (pattern'queries'consecutiveClosesWithoutReopen [ p0 ]) } | ||
135 | } | ||
136 | fact errorpattern'queries'consecutiveReopensWithoutClose { | ||
137 | all p0: type'Issue'class { not (pattern'queries'consecutiveReopensWithoutClose [ p0 ]) } | ||
138 | } | ||
139 | fact errorpattern'queries'consecutiveSubWithoutUnSub { | ||
140 | all p0: type'Issue'class, p1: type'User'class { not (pattern'queries'consecutiveSubWithoutUnSub [ p0 , p1 ]) } | ||
141 | } | ||
142 | fact errorpattern'queries'consecutiveUnSubWithoutSub { | ||
143 | all p0: type'Issue'class, p1: type'User'class { not (pattern'queries'consecutiveUnSubWithoutSub [ p0 , p1 ]) } | ||
144 | } | ||
145 | fact errorpattern'queries'noCommitter { | ||
146 | all p0: type'Commit'class { not (pattern'queries'noCommitter [ p0 ]) } | ||
147 | } | ||
148 | fact errorpattern'queries'noUser { | ||
149 | all p0: type'IssueEvent'class { not (pattern'queries'noUser [ p0 ]) } | ||
150 | } | ||
151 | run { } for exactly 41 util'Object , 1 Int , exactly 0 String \ No newline at end of file | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig index 9d3dd0e9..c0ba6fab 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig | |||
@@ -6,7 +6,7 @@ generate { | |||
6 | metamodel = {package ecore excluding{EClassifier.instanceClass, EClassifier.defaultValue, | 6 | metamodel = {package ecore excluding{EClassifier.instanceClass, EClassifier.defaultValue, |
7 | EEnumLiteral.instance, EStructuralFeature.defaultValue, EStructuralFeature.changeable, | 7 | EEnumLiteral.instance, EStructuralFeature.defaultValue, EStructuralFeature.changeable, |
8 | EStructuralFeature.derived, ENamedElement.name, EClass.interface, EClass.abstract, EClassifier.instanceTypeName, | 8 | EStructuralFeature.derived, ENamedElement.name, EClass.interface, EClass.abstract, EClassifier.instanceTypeName, |
9 | EClassifier.instanceClassName, EPackage.nsPrefix, EPackage.nsURI, EAnnotation.source, | 9 | EClassifier.instanceClassName, EPackage.nsPrefix, EPackage.nsURI, |
10 | EAttribute.iD, EDataType.serializable, EEnumLiteral.literal, EEnumLiteral.value, | 10 | EAttribute.iD, EDataType.serializable, EEnumLiteral.literal, EEnumLiteral.value, |
11 | EReference.resolveProxies, EReference.container, EReference.containment, EStringToStringMapEntry.key, | 11 | EReference.resolveProxies, EReference.container, EReference.containment, EStringToStringMapEntry.key, |
12 | EStringToStringMapEntry.value, EStructuralFeature.defaultValueLiteral, EStructuralFeature.transient, | 12 | EStringToStringMapEntry.value, EStructuralFeature.defaultValueLiteral, EStructuralFeature.transient, |
@@ -19,7 +19,7 @@ generate { | |||
19 | EClass. eAllOperations, EClass.eAllStructuralFeatures, EClass.eAttributes, EClass.eIDAttribute, EClass.eReferences, | 19 | EClass. eAllOperations, EClass.eAllStructuralFeatures, EClass.eAttributes, EClass.eIDAttribute, EClass.eReferences, |
20 | EAttribute.eAttributeType, EGenericType.eRawType, EReference.eReferenceType, | 20 | EAttribute.eAttributeType, EGenericType.eRawType, EReference.eReferenceType, |
21 | //Generic Types | 21 | //Generic Types |
22 | EClass.eGenericSuperTypes, ETypedElement.eGenericType, EOperation.eGenericExceptions, EObject, EAnnotation.references, EAnnotation.contents | 22 | EClass.eGenericSuperTypes, ETypedElement.eGenericType, EOperation.eGenericExceptions, EObject, EAnnotation, EModelElement.eAnnotations, EAnnotation.details, EAnnotation.contents, EAnnotation.references, EAnnotation.source, EAnnotation.eModelElement |
23 | 23 | ||
24 | }} | 24 | }} |
25 | partial-model = { "inputs/ecore.xmi"} | 25 | partial-model = { "inputs/ecore.xmi"} |
@@ -30,22 +30,22 @@ generate { | |||
30 | 30 | ||
31 | //median run time | 31 | //median run time |
32 | scope = { | 32 | scope = { |
33 | #node = 30 // (warm-up: 10) 30, 50, 80, 100, 120 .... | 33 | #node = 101 // (warm-up: 10) 30, 50, 80, 100, 120 .... |
34 | } | 34 | } |
35 | 35 | ||
36 | number = 1 | 36 | number = 1 |
37 | runs = 1 | 37 | runs = 1 |
38 | config = { | 38 | config = { |
39 | log-level = none, | 39 | log-level = none, |
40 | runtime = 300, // the runtime is in seconds, want to set is to 5 mins | 40 | //runtime = 300, // the runtime is in seconds, want to set is to 5 mins |
41 | "optional-wf" = "false", | 41 | "optional-wf" = "true", |
42 | "realistic-guidance" = "Composite", | 42 | "realistic-guidance" = "Composite", |
43 | "allow-must-violations" = "false", | 43 | "allow-must-violations" = "true", |
44 | "domain" = "Ecore", | 44 | "domain" = "Ecore", |
45 | "scopePropagator" = "typeHierarchy" | 45 | "scopePropagator" = "typeHierarchy" |
46 | } | 46 | } |
47 | 47 | ||
48 | debug = "debug" | 48 | debug = "debug" |
49 | statistics = "statistics/Ecore/warmup.csv" //give different set up different filenames | 49 | statistics = "statistics/Ecore/warmup.csv" //give different set up different filenames |
50 | output = "output/Ecore/run_time/" | 50 | output = "output/Alloy/Ecore/" |
51 | } | 51 | } |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig index e9f9a8d5..22b0facb 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig | |||
@@ -4,7 +4,7 @@ import viatra "../../../Domains/github-graph/queries/queries/github.vql" | |||
4 | generate { | 4 | generate { |
5 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, | 5 | metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, |
6 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, | 6 | Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, |
7 | IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} | 7 | IssueEvent.actor_url, Project.deleted}} |
8 | partial-model = { "inputs/github.xmi"} | 8 | partial-model = { "inputs/github.xmi"} |
9 | constraints = { package queries } | 9 | constraints = { package queries } |
10 | 10 | ||
@@ -12,14 +12,14 @@ generate { | |||
12 | solver = ViatraSolver | 12 | solver = ViatraSolver |
13 | 13 | ||
14 | scope = { | 14 | scope = { |
15 | #node = 30 | 15 | #node = 41 |
16 | } | 16 | } |
17 | 17 | ||
18 | number = 1 | 18 | number = 1 |
19 | runs = 5 | 19 | runs = 100 |
20 | config = { | 20 | config = { |
21 | log-level = none, | 21 | log-level = none, |
22 | runtime = 300, | 22 | //runtime = 300, |
23 | "optional-wf" = "false", | 23 | "optional-wf" = "false", |
24 | "realistic-guidance" = "Composite", | 24 | "realistic-guidance" = "Composite", |
25 | "allow-must-violations" = "false", | 25 | "allow-must-violations" = "false", |
@@ -28,8 +28,8 @@ generate { | |||
28 | } | 28 | } |
29 | 29 | ||
30 | debug = "debug" | 30 | debug = "debug" |
31 | statistics = "statistics/Github/warmup.csv" | 31 | statistics = "statistics/runtime/Github/statistics.csv" |
32 | output = "output/Github/Composite" | 32 | output = "output/Real/Github/" |
33 | } | 33 | } |
34 | 34 | ||
35 | // generate { | 35 | // generate { |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java index e4e5b61f..f41e61ee 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java | |||
@@ -31,14 +31,9 @@ public class Main { | |||
31 | private static String fileReadFolder = "output/Ecore_100/"; | 31 | private static String fileReadFolder = "output/Ecore_100/"; |
32 | 32 | ||
33 | public static void main(String args[]) { | 33 | public static void main(String args[]) { |
34 | String ecoreFile = args[0]; | ||
35 | System.out.println("Generation Started"); | 34 | System.out.println("Generation Started"); |
36 | 35 | ||
37 | System.out.println(System.getProperty("java.library.path")); | 36 | String message = runWithPath(args[0]); |
38 | |||
39 | long begin = System.currentTimeMillis(); | ||
40 | String message = runWithPath(ecoreFile); | ||
41 | long elapsed = System.currentTimeMillis() - begin; | ||
42 | 37 | ||
43 | if(message != null) { | 38 | if(message != null) { |
44 | System.out.println(message); | 39 | System.out.println(message); |
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv index 4e752917..1cc1302f 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv | |||
@@ -1,3 +1,3 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls | 1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls |
2 | 1,1,ModelResultImpl,1606,10223,12802,105,12895,1128,389,150,0,354,2147,0,8,1911,4420,2032,16,0,2,0,2105,2083,618,0 | 2 | 1,1,ModelResultImpl,1720,10871,57313,271,57355,1062,840,223,0,383,17405,0,5,7417,12196,4062,13,24,14,0,12282,7657,929,0 |
3 | 3 | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/warmup.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/warmup.csv index 989c2411..f531c6b8 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/warmup.csv +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Github/warmup.csv | |||
@@ -1,7 +1,102 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | 1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls |
2 | 1,1,ModelResultImpl,1483,2558,3108,60043900,1609,456,424,87,272,0,1 | 2 | 1,1,ModelResultImpl,1837,6117,12674,162,12793,948,419,38,0,340,2142,0,4,2431,5503,1800,15,15,2,0,1353,2849,233,0 |
3 | 1,2,ModelResultImpl,1483,1126,1487,9020100,931,292,1,60,256,0,1 | 3 | 1,2,ModelResultImpl,1837,3840,8029,24,8019,137,207,14,0,1,1447,0,4,2129,3825,969,13,22,0,0,959,2840,222,0 |
4 | 1,3,ModelResultImpl,1483,927,1424,9739900,827,263,0,51,217,0,0 | 4 | 1,3,ModelResultImpl,1837,3355,8112,22,8105,107,161,8,0,0,1591,0,1,2496,3768,1001,17,20,0,0,902,3074,225,0 |
5 | 1,4,ModelResultImpl,1483,886,1069,8613600,495,208,1,25,97,0,0 | 5 | 1,4,ModelResultImpl,1837,3652,15894,39,15875,128,340,11,0,0,3134,0,4,3748,7781,2384,26,16,1,0,1203,4288,250,0 |
6 | 1,5,ModelResultImpl,1483,768,1268,9369800,856,262,0,35,223,0,0 | 6 | 1,5,ModelResultImpl,1837,3293,7261,17,7251,79,160,8,0,0,1362,0,1,2298,3539,888,13,17,0,0,784,3009,248,0 |
7 | 1,6,ModelResultImpl,1837,3235,10546,18,10530,114,213,9,0,0,1938,0,5,2260,5176,1318,22,22,0,0,1086,2910,227,0 | ||
8 | 1,7,ModelResultImpl,1837,2354,8484,13,8475,85,163,7,0,0,1700,0,1,2884,4027,1186,15,11,0,0,832,3420,244,0 | ||
9 | 1,8,ModelResultImpl,1837,2380,7128,13,7120,70,143,7,0,0,1371,0,1,2260,3366,899,10,15,0,0,814,2955,234,0 | ||
10 | 1,9,ModelResultImpl,1837,2277,8266,18,8258,83,175,8,0,0,1522,0,1,2282,4002,1080,12,10,0,0,890,2949,232,0 | ||
11 | 1,10,ModelResultImpl,1837,2470,8318,14,8308,82,183,9,0,0,1647,0,1,2284,3854,1058,19,16,0,0,916,2676,228,0 | ||
12 | 1,11,ModelResultImpl,1837,2767,7245,16,7235,107,153,8,0,0,1341,0,2,2470,3496,949,19,23,0,0,723,2833,265,0 | ||
13 | 1,12,ModelResultImpl,1837,2197,6661,13,6653,62,134,7,0,0,1356,0,2,2365,3121,804,10,14,0,0,746,2914,258,0 | ||
14 | 1,13,ModelResultImpl,1837,2278,8037,11,8027,67,172,8,0,0,1500,0,1,2086,3874,1062,11,8,0,0,861,3068,268,0 | ||
15 | 1,14,ModelResultImpl,1837,2159,8654,17,8645,112,179,9,0,0,1588,0,1,2540,4095,1158,18,16,0,0,960,3014,231,0 | ||
16 | 1,15,ModelResultImpl,1837,2122,7507,10,7495,70,152,6,0,0,1424,0,1,2382,3574,990,14,56,0,0,794,3119,227,0 | ||
17 | 1,16,ModelResultImpl,1837,2221,7044,15,7038,66,135,6,0,0,1423,0,1,2107,3225,799,14,9,0,0,901,2955,215,0 | ||
18 | 1,17,ModelResultImpl,1837,2032,6883,11,6871,61,144,7,0,0,1242,0,1,1961,3346,864,10,8,0,0,772,3019,266,0 | ||
19 | 1,18,ModelResultImpl,1837,2077,7848,10,7840,59,154,7,0,0,1441,0,1,2705,3772,1122,10,15,0,0,829,3163,260,0 | ||
20 | 1,19,ModelResultImpl,1837,2139,6288,11,6280,61,126,6,0,0,1143,0,1,1898,3057,852,7,13,0,0,661,2669,241,0 | ||
21 | 1,20,ModelResultImpl,1837,2052,6709,16,6698,56,138,7,0,0,1235,0,5,2215,3252,906,9,12,0,0,714,2741,255,0 | ||
22 | 1,21,ModelResultImpl,1837,1979,7165,12,7158,52,138,6,0,0,1362,0,1,2316,3411,888,10,12,0,0,853,3042,235,0 | ||
23 | 1,22,ModelResultImpl,1837,2275,6871,11,6862,61,131,5,0,0,1288,0,2,2411,3309,930,11,8,0,0,724,2969,206,0 | ||
24 | 1,23,ModelResultImpl,1837,2226,8932,9,8925,58,192,9,0,0,1575,0,2,2740,4460,1315,9,8,0,0,847,3387,295,0 | ||
25 | 1,24,ModelResultImpl,1837,2628,6715,10,6707,60,134,6,0,0,1310,0,1,1970,3175,812,8,9,0,0,758,2841,221,0 | ||
26 | 1,25,ModelResultImpl,1837,2552,7769,11,7759,70,163,7,0,0,1393,0,1,2365,3748,1056,9,13,0,0,817,2772,236,0 | ||
27 | 1,26,ModelResultImpl,1837,2219,7586,10,7576,55,156,7,0,0,1421,0,1,2377,3585,1027,10,12,0,0,830,2775,227,0 | ||
28 | 1,27,ModelResultImpl,1837,1974,7241,15,7233,71,147,5,0,0,1312,0,1,2151,3417,961,10,20,0,0,845,2699,183,0 | ||
29 | 1,28,ModelResultImpl,1837,2181,7117,10,7106,83,141,6,0,0,1393,0,1,2264,3296,920,21,10,0,0,760,2815,224,0 | ||
30 | 1,29,ModelResultImpl,1837,2109,7350,13,7338,60,145,6,0,0,1416,0,1,2363,3536,999,9,9,0,0,759,2961,234,0 | ||
31 | 1,30,ModelResultImpl,1837,2086,7998,18,7985,54,156,8,0,0,1455,0,2,2805,3930,1146,14,15,0,0,810,3249,253,0 | ||
32 | 1,31,ModelResultImpl,1837,2091,7463,10,7450,72,146,7,0,0,1430,0,2,2444,3545,1015,11,13,0,0,782,3023,250,0 | ||
33 | 1,32,ModelResultImpl,1837,2201,7078,12,7070,69,142,7,0,0,1279,0,2,1978,3475,901,8,8,0,0,774,2808,246,0 | ||
34 | 1,33,ModelResultImpl,1837,1888,6669,9,6662,66,122,7,0,0,1338,0,1,2607,3161,901,9,13,0,0,669,2945,264,0 | ||
35 | 1,34,ModelResultImpl,1837,2096,6852,9,6846,58,129,6,0,1,1304,0,1,2389,3259,852,9,8,0,0,821,3071,240,0 | ||
36 | 1,35,ModelResultImpl,1837,1912,6954,10,6947,53,131,6,0,0,1410,0,2,2039,3232,869,14,10,0,0,776,3004,239,0 | ||
37 | 1,36,ModelResultImpl,1837,2431,7681,7,7672,67,165,7,0,2,1348,0,1,2249,3748,1069,14,12,0,0,801,2859,232,0 | ||
38 | 1,37,ModelResultImpl,1837,1979,7307,8,7299,56,144,7,0,0,1317,0,1,2712,3570,1017,12,10,0,0,777,3062,247,0 | ||
39 | 1,38,ModelResultImpl,1837,1959,6786,7,6775,52,135,6,0,0,1309,0,1,2248,3212,875,11,9,0,0,736,2808,233,0 | ||
40 | 1,39,ModelResultImpl,1837,2133,6693,10,6682,63,133,7,0,0,1224,0,1,2072,3218,866,8,15,0,0,753,2869,242,0 | ||
41 | 1,40,ModelResultImpl,1837,2043,7444,8,7435,70,146,7,0,0,1384,0,1,2463,3527,1015,8,12,0,0,823,3042,238,0 | ||
42 | 1,41,ModelResultImpl,1837,2017,6678,8,6667,56,134,6,0,0,1211,0,1,1837,3180,858,9,9,0,0,755,2801,245,0 | ||
43 | 1,42,ModelResultImpl,1837,2142,8098,12,8089,73,162,6,0,0,1584,0,1,2274,3680,1066,14,16,0,0,946,2877,208,0 | ||
44 | 1,43,ModelResultImpl,1837,2143,8116,17,8101,61,178,8,0,0,1449,0,2,2213,3959,1107,15,11,0,0,844,3002,255,0 | ||
45 | 1,44,ModelResultImpl,1837,2182,8124,12,8116,63,178,7,0,0,1483,0,1,1854,3861,1036,10,11,0,0,927,3004,247,0 | ||
46 | 1,45,ModelResultImpl,1837,2210,8320,11,8309,65,176,7,0,0,1547,0,1,2307,3924,1123,12,15,0,0,892,2877,228,0 | ||
47 | 1,46,ModelResultImpl,1837,2368,8485,14,8478,80,172,6,0,0,1652,0,1,2473,3958,1133,16,19,0,0,897,3020,221,0 | ||
48 | 1,47,ModelResultImpl,1837,2783,14961,11,14949,76,318,12,0,0,2829,0,1,2742,7176,2130,14,14,0,0,1483,3287,262,0 | ||
49 | 1,48,ModelResultImpl,1837,2348,8657,9,8644,82,178,7,0,0,1596,0,2,2535,4116,1177,13,11,0,0,901,2903,228,0 | ||
50 | 1,49,ModelResultImpl,1837,2405,7564,13,7549,68,162,7,0,0,1377,0,2,2016,3615,1036,8,11,0,0,817,2696,238,0 | ||
51 | 1,50,ModelResultImpl,1837,2207,7821,11,7812,65,167,8,0,0,1456,0,3,2500,3729,1100,12,14,0,0,824,2846,272,0 | ||
52 | 1,51,ModelResultImpl,1837,2222,7165,9,7156,61,135,6,0,0,1459,0,1,2287,3249,838,8,11,0,0,877,2879,200,0 | ||
53 | 1,52,ModelResultImpl,1837,2053,7991,8,7984,55,149,6,0,0,1623,0,1,2518,3645,982,10,12,0,0,937,3141,214,0 | ||
54 | 1,53,ModelResultImpl,1837,2225,8130,7,8122,63,169,8,0,0,1502,0,2,2657,3958,1117,15,20,0,0,824,3164,263,0 | ||
55 | 1,54,ModelResultImpl,1837,2131,7761,7,7753,69,152,7,0,0,1402,0,1,2033,3739,1014,9,11,0,0,906,3327,268,0 | ||
56 | 1,55,ModelResultImpl,1837,3913,9755,8,9741,92,209,9,0,0,1688,0,2,2517,4669,1409,15,18,0,0,1025,2895,231,0 | ||
57 | 1,56,ModelResultImpl,1837,2172,7846,11,7836,53,155,6,0,0,1530,0,2,2523,3687,992,12,13,0,0,835,3010,213,0 | ||
58 | 1,57,ModelResultImpl,1837,2329,7936,24,7913,73,161,10,0,0,1431,0,1,2383,3802,1098,11,13,0,0,808,2999,242,0 | ||
59 | 1,58,ModelResultImpl,1837,2806,6725,7,6717,79,136,7,0,0,1239,0,1,1901,3209,847,13,16,0,0,756,2855,241,0 | ||
60 | 1,59,ModelResultImpl,1837,1972,8194,10,8185,65,149,6,0,0,1590,0,2,3030,3850,1112,8,10,0,0,886,3387,230,0 | ||
61 | 1,60,ModelResultImpl,1837,1907,6172,8,6164,61,124,6,0,0,1182,0,1,2171,2924,787,7,9,0,0,697,2671,243,0 | ||
62 | 1,61,ModelResultImpl,1837,1929,7400,12,7391,63,138,6,0,0,1420,0,2,2342,3481,943,10,11,0,0,850,2980,233,0 | ||
63 | 1,62,ModelResultImpl,1837,1985,7669,10,7662,57,148,7,0,0,1416,0,1,2961,3731,1042,9,10,0,0,848,3309,290,0 | ||
64 | 1,63,ModelResultImpl,1837,2045,9181,10,9174,89,203,11,0,0,1759,0,1,2125,4390,1158,11,14,0,0,1002,2953,223,0 | ||
65 | 1,64,ModelResultImpl,1837,2467,12967,11,12950,98,279,11,0,0,2220,0,1,2297,6234,1958,15,17,0,0,1292,2781,247,0 | ||
66 | 1,65,ModelResultImpl,1837,2679,6673,7,6665,67,128,6,0,0,1280,0,1,2298,3116,815,10,13,0,0,784,2717,199,0 | ||
67 | 1,66,ModelResultImpl,1837,4230,8564,7,8557,110,190,8,0,0,1563,0,1,2508,4065,1120,23,25,0,0,926,3035,236,0 | ||
68 | 1,67,ModelResultImpl,1837,2004,6411,7,6402,76,125,7,0,0,1139,0,1,2236,3148,789,13,10,0,0,740,2802,245,0 | ||
69 | 1,68,ModelResultImpl,1837,2033,6886,11,6878,52,136,6,0,0,1276,0,1,2357,3298,921,11,8,0,0,756,2924,223,0 | ||
70 | 1,69,ModelResultImpl,1837,2106,11529,10,11518,55,290,11,0,0,2009,0,2,2614,5745,1722,11,11,0,0,1093,2962,253,0 | ||
71 | 1,70,ModelResultImpl,1837,2732,9237,9,9227,77,196,9,0,0,1651,0,1,2480,4450,1312,23,17,0,0,948,2829,243,0 | ||
72 | 1,71,ModelResultImpl,1837,2308,7444,6,7433,71,156,7,0,0,1313,0,1,1825,3583,973,10,17,0,0,855,2861,252,0 | ||
73 | 1,72,ModelResultImpl,1837,1950,10129,10,10121,63,205,8,0,0,1880,0,3,2784,4770,1425,11,13,0,0,1029,3327,240,0 | ||
74 | 1,73,ModelResultImpl,1837,2052,8735,58,8723,57,185,7,0,0,1587,0,1,2368,4237,1260,8,9,0,0,865,3017,244,0 | ||
75 | 1,74,ModelResultImpl,1837,2314,6782,6,6774,56,130,6,0,0,1277,0,1,2332,3219,857,11,13,0,0,759,2866,217,0 | ||
76 | 1,75,ModelResultImpl,1837,1937,8288,8,8278,56,155,7,0,0,1592,0,1,2691,3928,1103,12,10,0,0,881,3433,255,0 | ||
77 | 1,76,ModelResultImpl,1837,1949,6292,7,6280,54,124,6,0,0,1244,0,1,1977,2948,705,10,11,0,0,761,2718,204,0 | ||
78 | 1,77,ModelResultImpl,1837,2036,7303,7,7291,58,142,6,0,0,1372,0,1,2317,3420,948,11,9,0,0,848,2992,232,0 | ||
79 | 1,78,ModelResultImpl,1837,2116,7548,8,7539,61,147,8,0,0,1466,0,1,2739,3609,1011,9,11,0,0,810,3148,258,0 | ||
80 | 1,79,ModelResultImpl,1837,1914,7609,9,7600,56,140,6,0,0,1541,0,1,2988,3599,1012,11,11,0,0,795,3224,247,0 | ||
81 | 1,80,ModelResultImpl,1837,1975,7818,9,7809,68,152,7,0,0,1448,0,1,2403,3784,1089,9,9,0,0,818,3213,264,0 | ||
82 | 1,81,ModelResultImpl,1837,2005,7659,9,7651,53,145,6,0,0,1476,0,1,2342,3564,952,8,10,0,0,885,3211,238,0 | ||
83 | 1,82,ModelResultImpl,1837,2010,7084,7,7076,65,136,7,0,0,1352,0,1,2493,3332,896,14,13,0,0,822,2989,253,0 | ||
84 | 1,83,ModelResultImpl,1837,2199,6854,12,6844,56,141,8,0,0,1246,0,1,2272,3328,885,11,10,0,0,741,2768,227,0 | ||
85 | 1,84,ModelResultImpl,1837,2520,8156,8,8147,69,174,8,0,0,1484,0,1,2667,3934,1098,10,10,0,0,938,3217,266,0 | ||
86 | 1,85,ModelResultImpl,1837,3333,7368,7,7361,76,145,8,0,0,1375,0,2,2377,3553,990,15,11,0,0,799,3080,285,0 | ||
87 | 1,86,ModelResultImpl,1837,1947,7934,9,7921,56,160,7,0,0,1553,0,1,2234,3697,1031,7,9,0,0,914,3106,237,0 | ||
88 | 1,87,ModelResultImpl,1837,1944,7279,8,7269,61,147,8,0,0,1356,0,1,2349,3526,964,9,10,0,0,784,3028,272,0 | ||
89 | 1,88,ModelResultImpl,1837,2133,7005,6,6997,52,133,7,0,0,1266,0,1,2166,3398,919,14,9,0,0,817,3048,250,0 | ||
90 | 1,89,ModelResultImpl,1837,1830,7421,7,7414,49,130,7,0,0,1499,0,1,2643,3480,939,8,11,0,0,827,3284,248,0 | ||
91 | 1,90,ModelResultImpl,1837,1819,6537,9,6527,52,115,6,0,0,1334,0,1,2625,3066,816,8,8,0,0,726,2982,229,0 | ||
92 | 1,91,ModelResultImpl,1837,1872,5674,8,5666,48,112,7,0,0,1031,0,1,1999,2809,691,9,10,0,0,649,2818,273,0 | ||
93 | 1,92,ModelResultImpl,1837,1841,6782,9,6766,57,118,5,0,0,1443,0,1,2317,3056,810,9,8,0,0,805,2905,222,0 | ||
94 | 1,93,ModelResultImpl,1837,1816,7569,9,7561,46,132,6,0,0,1532,0,1,2694,3498,942,7,11,0,0,898,3259,217,0 | ||
95 | 1,94,ModelResultImpl,1837,1932,6539,8,6532,48,118,6,0,0,1224,0,1,2529,3191,847,11,10,0,0,697,3021,248,0 | ||
96 | 1,95,ModelResultImpl,1837,1776,6516,6,6509,47,118,6,0,0,1235,0,1,2213,3129,772,14,10,0,0,777,3020,226,0 | ||
97 | 1,96,ModelResultImpl,1837,1800,6836,8,6828,50,123,6,0,0,1307,0,1,2509,3300,867,8,9,0,0,760,3126,246,0 | ||
98 | 1,97,ModelResultImpl,1837,1909,6676,8,6667,62,122,7,0,0,1306,0,1,2625,3208,866,8,9,0,0,718,3035,262,0 | ||
99 | 1,98,ModelResultImpl,1837,1786,6203,8,6191,49,116,7,0,0,1157,0,1,2114,3032,815,8,9,0,0,682,2890,270,0 | ||
100 | 1,99,ModelResultImpl,1837,1762,7047,8,7040,55,127,7,0,0,1358,0,1,2875,3376,927,9,13,0,0,751,3246,259,0 | ||
101 | 1,100,ModelResultImpl,1837,1836,6691,7,6684,48,122,6,0,0,1262,0,1,2604,3290,871,10,10,0,0,693,3119,251,0 | ||
7 | 102 | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv index 12b0bf9d..d39e8cd0 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv | |||
@@ -1,12 +1,3 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls | 1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls |
2 | 1,1,ModelResultImpl,1643,5499,8730,150,8800,955,382,107,0,365,1483,0,6,1361,3560,1527,16,0,2,0,790,2113,919,0 | 2 | 1,1,ModelResultImpl,1639,5885,29226,380,29273,882,863,372,0,373,7868,0,11,6069,10459,5104,15,33,2,0,3693,6279,4704,0 |
3 | 1,2,ModelResultImpl,1643,3215,5612,28,5605,106,218,63,0,0,747,0,1,1428,2734,1077,16,0,1,0,493,1942,979,0 | ||
4 | 1,3,ModelResultImpl,1643,2911,6335,24,6328,102,206,54,0,0,1142,0,1,1884,2985,1085,24,0,1,0,560,2741,1014,0 | ||
5 | 1,4,ModelResultImpl,1643,2587,4554,22,4549,78,123,25,0,0,814,0,2,1151,2105,845,12,0,0,0,418,1833,531,0 | ||
6 | 1,5,ModelResultImpl,1643,2416,4379,16,4373,75,150,52,0,0,647,0,1,1556,2165,833,16,0,0,0,360,1967,1030,0 | ||
7 | 1,6,ModelResultImpl,1643,2028,4553,16,4547,65,123,25,0,0,814,0,2,1149,2127,821,12,0,0,0,417,1894,507,0 | ||
8 | 1,7,ModelResultImpl,1643,2041,4786,19,4777,59,154,44,0,0,755,0,1,1383,2264,901,15,0,0,0,474,2113,906,0 | ||
9 | 1,8,ModelResultImpl,1643,2032,6211,15,6202,57,208,46,0,0,1040,0,1,1798,3051,1088,12,0,0,0,561,2882,951,0 | ||
10 | 1,9,ModelResultImpl,1643,1958,4846,17,4839,75,122,26,0,0,876,0,1,1362,2205,892,16,0,0,0,421,1936,542,0 | ||
11 | 1,10,ModelResultImpl,1643,2092,5974,28,5964,71,199,58,0,0,930,0,2,1643,2898,1133,12,0,0,0,541,2259,993,0 | ||
12 | 3 | ||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/base/Github/statistics.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/base/Github/statistics.csv new file mode 100644 index 00000000..b6f7adc3 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/base/Github/statistics.csv | |||
@@ -0,0 +1,12 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,Solution1DetailedStatistics,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls | ||
2 | 1,1,ModelResultImpl,2242,6308,1413,176,1512,(TransformationExecutionTime50|ForwardTime:425|Backtrackingtime:42|GlobalConstraintEvaluationTime:31|FitnessCalculationTime:9|ActivationSelectionTime:1|SolutionCopyTime:7|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),680,50,12,0,413,479,0,7,84,425,77,31,9,1,83,0,83,30,0 | ||
3 | 1,2,ModelResultImpl,2242,5017,676,19,645,(TransformationExecutionTime38|ForwardTime:347|Backtrackingtime:62|GlobalConstraintEvaluationTime:18|FitnessCalculationTime:12|ActivationSelectionTime:0|SolutionCopyTime:4|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),74,38,9,0,0,81,0,4,108,347,93,18,12,0,107,0,107,30,0 | ||
4 | 1,3,ModelResultImpl,2242,3852,422,20,401,(TransformationExecutionTime20|ForwardTime:201|Backtrackingtime:21|GlobalConstraintEvaluationTime:20|FitnessCalculationTime:15|ActivationSelectionTime:0|SolutionCopyTime:2|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),61,20,4,0,0,53,0,2,88,201,42,20,15,0,89,0,89,32,0 | ||
5 | 1,4,ModelResultImpl,2242,3481,371,25,362,(TransformationExecutionTime16|ForwardTime:181|Backtrackingtime:26|GlobalConstraintEvaluationTime:19|FitnessCalculationTime:12|ActivationSelectionTime:0|SolutionCopyTime:3|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),56,16,3,0,0,42,0,3,105,181,36,19,12,0,104,0,104,30,0 | ||
6 | 1,5,ModelResultImpl,2242,3814,475,25,457,(TransformationExecutionTime19|ForwardTime:211|Backtrackingtime:26|GlobalConstraintEvaluationTime:15|FitnessCalculationTime:12|ActivationSelectionTime:0|SolutionCopyTime:3|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),50,19,2,0,1,114,0,3,107,211,44,15,12,0,107,0,107,31,0 | ||
7 | 1,6,ModelResultImpl,2242,2816,212,17,201,(TransformationExecutionTime10|ForwardTime:103|Backtrackingtime:2|GlobalConstraintEvaluationTime:14|FitnessCalculationTime:10|ActivationSelectionTime:0|SolutionCopyTime:1|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),38,10,2,0,1,16,0,1,66,103,13,14,10,0,65,0,65,30,0 | ||
8 | 1,7,ModelResultImpl,2242,2601,278,23,262,(TransformationExecutionTime12|ForwardTime:140|Backtrackingtime:11|GlobalConstraintEvaluationTime:10|FitnessCalculationTime:10|ActivationSelectionTime:0|SolutionCopyTime:2|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),42,12,1,0,0,28,0,2,79,140,27,10,10,0,79,0,79,31,0 | ||
9 | 1,8,ModelResultImpl,2242,2427,200,16,191,(TransformationExecutionTime7|ForwardTime:95|Backtrackingtime:6|GlobalConstraintEvaluationTime:10|FitnessCalculationTime:8|ActivationSelectionTime:0|SolutionCopyTime:2|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),39,7,1,0,0,19,0,2,78,95,15,10,8,0,77,0,77,30,0 | ||
10 | 1,9,ModelResultImpl,2242,2358,355,16,344,(TransformationExecutionTime13|ForwardTime:189|Backtrackingtime:18|GlobalConstraintEvaluationTime:20|FitnessCalculationTime:14|ActivationSelectionTime:0|SolutionCopyTime:5|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),37,13,1,0,0,40,0,5,98,189,29,20,14,0,97,0,97,30,0 | ||
11 | 1,10,ModelResultImpl,2242,2415,220,18,208,(TransformationExecutionTime8|ForwardTime:101|Backtrackingtime:5|GlobalConstraintEvaluationTime:10|FitnessCalculationTime:8|ActivationSelectionTime:0|SolutionCopyTime:3|NumericalSolverSumTime:0|NumericalSolverProblemFormingTime:0|NumericalSolverSolvingTime:0|NumericalSolverInterpretingSolution:0),49,8,1,0,0,19,0,3,79,101,17,10,8,0,78,0,78,30,0 | ||
12 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/runtime/Github/statistics.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/runtime/Github/statistics.csv new file mode 100644 index 00000000..2fa5bafe --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/runtime/Github/statistics.csv | |||
@@ -0,0 +1,102 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls | ||
2 | 1,1,ModelResultImpl,2436,7220,11084,118,11208,873,333,37,0,427,2056,0,5,2369,4931,1557,16,24,1,0,1092,3058,289,0 | ||
3 | 1,2,ModelResultImpl,2436,2992,6563,23,6555,125,151,13,0,0,1226,0,2,2457,3226,840,12,30,0,0,692,2676,324,0 | ||
4 | 1,3,ModelResultImpl,2436,2752,6147,16,6140,85,129,12,0,0,1128,0,1,2602,3038,878,16,16,0,0,609,2825,411,0 | ||
5 | 1,4,ModelResultImpl,2436,2245,5882,16,5875,69,115,8,0,0,1104,0,2,2513,2941,768,8,14,0,0,627,2809,363,0 | ||
6 | 1,5,ModelResultImpl,2436,2462,5898,17,5892,77,167,9,0,0,1114,0,2,2397,2920,740,10,13,0,0,625,2666,367,0 | ||
7 | 1,6,ModelResultImpl,2436,2206,6460,16,6446,75,140,9,0,0,1172,0,2,2152,3275,840,10,15,0,0,658,2547,325,0 | ||
8 | 1,7,ModelResultImpl,2436,3093,8809,20,8798,90,250,11,0,0,1647,0,3,2628,4379,1216,17,29,0,0,856,2969,312,0 | ||
9 | 1,8,ModelResultImpl,2436,10023,15618,19,15611,97,396,26,0,0,2374,0,2,2450,8397,2603,23,30,0,0,1344,2674,348,0 | ||
10 | 1,9,ModelResultImpl,2436,2487,7617,27,7602,71,166,9,0,0,1449,0,2,2436,3774,1098,13,16,0,0,718,2599,309,0 | ||
11 | 1,10,ModelResultImpl,2436,2940,8028,15,8020,81,175,11,0,0,1503,0,3,2621,3974,1169,17,19,0,0,704,2860,353,0 | ||
12 | 1,11,ModelResultImpl,2436,2607,6080,15,6070,63,113,6,0,0,1155,0,2,2407,3046,821,12,15,0,0,601,2824,266,0 | ||
13 | 1,12,ModelResultImpl,2436,2012,5989,12,5983,69,114,7,0,0,1202,0,1,2414,2914,794,13,15,0,0,622,2686,292,0 | ||
14 | 1,13,ModelResultImpl,2436,2331,6596,16,6589,80,139,8,0,0,1129,0,2,2354,3369,955,18,20,0,0,597,2515,273,0 | ||
15 | 1,14,ModelResultImpl,2436,3256,7740,15,7729,90,171,11,0,1,1347,0,2,2306,3902,1147,19,25,0,0,736,2530,298,0 | ||
16 | 1,15,ModelResultImpl,2436,2242,7267,14,7258,70,155,9,0,0,1231,0,1,2517,3649,1043,12,15,0,0,786,2753,303,0 | ||
17 | 1,16,ModelResultImpl,2436,2466,7153,20,7143,68,145,7,0,0,1216,0,3,2388,3687,1057,11,14,0,0,644,2568,258,0 | ||
18 | 1,17,ModelResultImpl,2436,2673,7837,16,7824,74,170,12,0,0,1297,0,2,2047,3966,1139,13,15,0,0,795,2397,324,0 | ||
19 | 1,18,ModelResultImpl,2436,2815,9328,16,9314,107,213,10,0,0,1524,0,1,2420,4808,1314,16,19,0,0,908,2998,285,0 | ||
20 | 1,19,ModelResultImpl,2436,2179,7559,18,7552,73,153,9,0,0,1353,0,1,2571,3738,1134,9,14,0,0,717,2764,331,0 | ||
21 | 1,20,ModelResultImpl,2436,2145,6837,14,6826,68,141,8,0,0,1136,0,1,2266,3529,987,14,20,0,0,650,2626,276,0 | ||
22 | 1,21,ModelResultImpl,2436,2203,6641,13,6632,68,139,8,0,0,1056,0,1,2179,3388,1015,11,25,0,0,656,2443,263,0 | ||
23 | 1,22,ModelResultImpl,2436,2191,7014,108,7000,76,147,10,0,0,1154,0,1,2504,3571,1081,17,21,0,0,669,2681,355,0 | ||
24 | 1,23,ModelResultImpl,2436,2276,8024,12,8017,87,160,9,0,0,1404,0,1,2582,3981,1182,15,17,0,0,818,2915,302,0 | ||
25 | 1,24,ModelResultImpl,2436,2317,7036,12,7028,75,145,9,0,0,1245,0,1,1866,3501,953,13,19,0,0,763,2541,296,0 | ||
26 | 1,25,ModelResultImpl,2436,2324,8080,14,8072,76,164,10,0,0,1423,0,1,2669,4059,1226,13,17,0,0,750,2922,349,0 | ||
27 | 1,26,ModelResultImpl,2436,2299,8684,12,8676,67,176,9,0,0,1752,0,1,2738,4321,1268,10,16,0,0,714,3241,342,0 | ||
28 | 1,27,ModelResultImpl,2436,2100,7844,12,7834,74,173,13,0,0,1305,0,1,2462,4039,1182,16,20,0,0,729,2673,334,0 | ||
29 | 1,28,ModelResultImpl,2436,2266,7497,13,7491,62,149,9,0,0,1397,0,2,2439,3691,1089,10,14,0,0,743,2722,319,0 | ||
30 | 1,29,ModelResultImpl,2436,2264,6602,11,6589,66,138,10,0,0,1054,0,2,2256,3400,989,11,13,0,0,663,2566,323,0 | ||
31 | 1,30,ModelResultImpl,2436,2261,7345,13,7337,62,144,7,0,0,1304,0,1,2520,3679,1091,10,16,0,0,718,2713,238,0 | ||
32 | 1,31,ModelResultImpl,2436,2539,6763,11,6748,74,138,8,0,0,1135,0,3,2234,3427,987,9,16,0,0,675,2502,265,0 | ||
33 | 1,32,ModelResultImpl,2436,2257,7952,15,7940,67,161,11,0,0,1337,0,1,2584,3990,1194,10,15,0,0,838,2987,375,0 | ||
34 | 1,33,ModelResultImpl,2436,2169,6231,11,6224,62,129,8,0,0,1082,0,1,1750,3164,864,12,14,0,0,637,2438,280,0 | ||
35 | 1,34,ModelResultImpl,2436,2227,7685,12,7677,66,159,10,0,0,1456,0,1,2018,3784,1069,16,19,0,0,792,2742,335,0 | ||
36 | 1,35,ModelResultImpl,2436,2110,6739,12,6726,68,139,8,0,0,1168,0,3,2406,3459,926,15,16,0,0,667,2667,260,0 | ||
37 | 1,36,ModelResultImpl,2436,2432,9946,16,9939,77,203,10,0,0,2068,0,2,3363,4894,1406,19,20,0,0,848,3666,341,0 | ||
38 | 1,37,ModelResultImpl,2436,2759,6376,9,6367,74,141,11,0,0,1118,0,1,2179,3217,965,20,22,0,0,581,2334,344,0 | ||
39 | 1,38,ModelResultImpl,2436,2526,7310,12,7301,69,150,9,0,0,1283,0,2,2284,3611,1042,20,17,0,0,780,2753,315,0 | ||
40 | 1,39,ModelResultImpl,2436,2152,6745,12,6737,69,132,8,0,0,1229,0,1,2336,3335,978,15,17,0,0,670,2522,271,0 | ||
41 | 1,40,ModelResultImpl,2436,2439,6258,12,6249,76,139,10,0,0,1069,0,3,1881,3154,917,9,16,0,0,609,2181,307,0 | ||
42 | 1,41,ModelResultImpl,2436,2454,6898,10,6891,61,146,9,0,0,1181,0,1,2389,3492,983,9,17,0,0,718,2672,311,0 | ||
43 | 1,42,ModelResultImpl,2436,2155,6061,16,6054,63,125,8,0,0,1050,0,1,1936,2960,869,13,13,0,0,679,2282,299,0 | ||
44 | 1,43,ModelResultImpl,2436,2235,7792,11,7784,84,159,10,0,0,1516,0,2,2384,3754,1110,18,16,0,0,783,2762,317,0 | ||
45 | 1,44,ModelResultImpl,2436,2262,7389,10,7381,59,151,9,0,0,1355,0,1,2568,3683,1077,11,13,0,0,726,2787,326,0 | ||
46 | 1,45,ModelResultImpl,2436,2134,6916,14,6907,61,138,9,0,0,1213,0,1,2418,3442,1042,12,16,0,0,692,2665,309,0 | ||
47 | 1,46,ModelResultImpl,2436,2247,6803,12,6797,58,143,10,0,0,1100,0,1,2210,3441,1038,14,13,0,0,693,2473,354,0 | ||
48 | 1,47,ModelResultImpl,2436,2271,6398,14,6388,70,130,8,0,0,1017,0,1,2306,3291,958,9,17,0,0,639,2565,286,0 | ||
49 | 1,48,ModelResultImpl,2436,2183,8123,14,8113,61,166,11,0,0,1503,0,4,2742,4049,1172,12,16,0,0,807,2943,364,0 | ||
50 | 1,49,ModelResultImpl,2436,2124,7114,12,7106,63,143,7,0,0,1210,0,1,2431,3628,1080,9,14,0,0,661,2656,267,0 | ||
51 | 1,50,ModelResultImpl,2436,2253,6152,12,6143,66,125,7,0,0,1022,0,1,2244,3176,909,15,14,0,0,572,2439,278,0 | ||
52 | 1,51,ModelResultImpl,2436,2103,5803,17,5794,65,124,8,0,0,1069,0,2,1785,2859,774,13,15,0,0,625,2274,286,0 | ||
53 | 1,52,ModelResultImpl,2436,2406,6811,13,6802,69,142,9,0,0,1175,0,3,1929,3392,976,15,21,0,0,716,2489,294,0 | ||
54 | 1,53,ModelResultImpl,2436,2198,6228,13,6215,62,126,8,0,0,1074,0,1,2108,3152,861,9,14,0,0,647,2452,310,0 | ||
55 | 1,54,ModelResultImpl,2436,2150,9054,11,9048,61,176,8,0,0,1935,0,1,2887,4385,1240,12,15,0,0,827,3257,288,0 | ||
56 | 1,55,ModelResultImpl,2436,2198,6914,13,6906,68,149,9,0,0,1142,0,2,2065,3549,1022,10,14,0,0,670,2623,285,0 | ||
57 | 1,56,ModelResultImpl,2436,2109,6268,14,6258,63,134,9,0,0,996,0,1,2342,3264,946,9,14,0,0,600,2475,332,0 | ||
58 | 1,57,ModelResultImpl,2436,2147,6410,12,6402,64,131,8,0,0,1071,0,2,2394,3283,951,13,16,0,0,606,2533,274,0 | ||
59 | 1,58,ModelResultImpl,2436,2146,5775,14,5765,62,121,8,0,0,978,0,1,1536,2906,795,11,13,0,0,624,2300,299,0 | ||
60 | 1,59,ModelResultImpl,2436,2238,6474,15,6467,79,138,10,0,0,1070,0,1,2337,3330,961,19,23,0,0,603,2466,337,0 | ||
61 | 1,60,ModelResultImpl,2436,2065,8370,11,8364,58,172,8,0,0,1658,0,1,2839,4219,1119,10,13,0,0,760,3179,290,0 | ||
62 | 1,61,ModelResultImpl,2436,2060,6616,12,6606,61,139,10,0,0,1278,0,1,2189,3266,910,10,12,0,0,664,2548,342,0 | ||
63 | 1,62,ModelResultImpl,2436,2184,6687,13,6678,77,142,10,0,0,1227,0,1,2258,3362,950,9,16,0,0,638,2466,316,0 | ||
64 | 1,63,ModelResultImpl,2436,2054,7579,14,7571,60,153,10,0,0,1369,0,1,2484,3740,1095,10,17,0,0,787,2860,357,0 | ||
65 | 1,64,ModelResultImpl,2436,2129,6559,15,6549,67,135,8,0,0,1134,0,1,1896,3291,896,12,17,0,0,712,2568,297,0 | ||
66 | 1,65,ModelResultImpl,2436,2099,7535,11,7528,60,155,10,0,0,1355,0,2,2327,3756,1125,12,14,0,0,752,2728,350,0 | ||
67 | 1,66,ModelResultImpl,2436,2138,6999,12,6991,58,139,9,0,0,1210,0,1,2420,3522,1054,11,18,0,0,689,2657,302,0 | ||
68 | 1,67,ModelResultImpl,2436,2066,6193,9,6183,58,132,8,0,0,1087,0,1,1754,3093,853,12,13,0,0,660,2460,305,0 | ||
69 | 1,68,ModelResultImpl,2436,2173,7889,13,7882,75,158,10,0,0,1410,0,1,2768,3911,1151,9,16,0,0,802,2934,356,0 | ||
70 | 1,69,ModelResultImpl,2436,2277,6903,13,6894,74,144,9,0,0,1134,0,1,2230,3498,1035,13,14,0,0,705,2608,311,0 | ||
71 | 1,70,ModelResultImpl,2436,2115,7746,13,7738,94,151,7,0,0,1379,0,1,2873,3963,1137,18,22,0,0,642,3069,252,0 | ||
72 | 1,71,ModelResultImpl,2436,2176,7486,11,7479,71,154,10,0,0,1294,0,1,2527,3730,1160,9,14,0,0,745,2884,332,0 | ||
73 | 1,72,ModelResultImpl,2436,2158,7647,11,7633,62,158,9,0,0,1403,0,1,2437,3790,1121,12,19,0,0,727,2728,296,0 | ||
74 | 1,73,ModelResultImpl,2436,2122,6465,14,6454,68,146,12,0,0,1110,0,1,1876,3265,914,12,19,0,0,671,2540,413,0 | ||
75 | 1,74,ModelResultImpl,2436,2181,7503,12,7496,77,152,10,0,0,1396,0,1,2475,3675,1095,17,17,0,0,742,2765,345,0 | ||
76 | 1,75,ModelResultImpl,2436,2755,6765,14,6753,68,143,9,0,0,1165,0,2,1854,3399,942,12,14,0,0,716,2408,277,0 | ||
77 | 1,76,ModelResultImpl,2436,2208,6995,13,6986,54,139,9,0,0,1321,0,1,2271,3445,1003,13,17,0,0,700,2578,300,0 | ||
78 | 1,77,ModelResultImpl,2436,2155,13652,14,13640,66,282,16,0,0,2511,0,2,3579,6828,1908,14,23,0,0,1441,5046,570,0 | ||
79 | 1,78,ModelResultImpl,2436,2153,6910,12,6897,58,139,8,0,0,1172,0,2,2104,3490,1034,11,14,0,0,696,2453,262,0 | ||
80 | 1,79,ModelResultImpl,2436,2133,6576,10,6569,62,131,7,0,0,1155,0,1,2242,3311,880,11,12,0,0,692,2629,259,0 | ||
81 | 1,80,ModelResultImpl,2436,2107,6000,9,5990,63,132,10,0,0,1010,0,1,1891,3040,880,12,11,0,0,601,2328,373,0 | ||
82 | 1,81,ModelResultImpl,2436,2234,7024,14,7016,64,144,8,0,0,1232,0,1,2389,3511,1024,12,14,0,0,714,2704,303,0 | ||
83 | 1,82,ModelResultImpl,2436,2375,7166,14,7158,74,144,8,0,0,1276,0,1,2127,3549,985,18,22,0,0,773,2677,265,0 | ||
84 | 1,83,ModelResultImpl,2436,2081,7324,10,7316,62,146,9,0,0,1275,0,1,2463,3656,1144,11,12,0,0,694,2725,335,0 | ||
85 | 1,84,ModelResultImpl,2436,2113,6294,10,6285,58,130,8,0,0,1056,0,1,2282,3216,889,9,12,0,0,636,2505,273,0 | ||
86 | 1,85,ModelResultImpl,2436,2183,5660,12,5653,60,120,8,0,0,972,0,1,1624,2818,756,15,14,0,0,627,2223,280,0 | ||
87 | 1,86,ModelResultImpl,2436,2184,9069,9,9062,58,188,10,0,0,1648,0,1,3206,4670,1308,11,14,0,0,810,3517,358,0 | ||
88 | 1,87,ModelResultImpl,2436,2180,5831,10,5825,58,125,9,0,0,907,0,1,2054,3006,831,17,18,0,0,610,2309,281,0 | ||
89 | 1,88,ModelResultImpl,2436,2142,7243,11,7233,62,146,9,0,0,1285,0,2,2267,3620,1038,18,12,0,0,730,2716,268,0 | ||
90 | 1,89,ModelResultImpl,2436,2316,6986,13,6974,82,146,11,0,0,1193,0,1,2190,3548,1042,13,14,0,0,677,2553,341,0 | ||
91 | 1,90,ModelResultImpl,2436,2176,7202,9,7192,61,144,9,0,0,1234,0,1,2240,3693,1044,10,13,0,0,700,2538,272,0 | ||
92 | 1,91,ModelResultImpl,2436,2144,6845,10,6836,59,143,11,0,0,1112,0,1,2486,3508,1059,11,11,0,0,662,2661,402,0 | ||
93 | 1,92,ModelResultImpl,2436,2291,7195,10,7186,63,147,9,0,0,1260,0,1,2415,3753,1032,14,16,0,0,618,2841,318,0 | ||
94 | 1,93,ModelResultImpl,2436,2318,7516,14,7506,60,147,8,0,0,1239,0,1,2558,3846,1137,11,12,0,0,729,2939,270,0 | ||
95 | 1,94,ModelResultImpl,2436,2102,7173,11,7167,59,154,10,0,0,1264,0,2,2240,3618,1018,8,14,0,0,728,2758,363,0 | ||
96 | 1,95,ModelResultImpl,2436,2170,6642,11,6632,67,134,8,0,0,1169,0,1,2198,3321,943,9,13,0,0,688,2491,274,0 | ||
97 | 1,96,ModelResultImpl,2436,2289,7678,11,7669,73,160,11,0,0,1242,0,1,2521,3955,1099,21,24,0,0,765,2857,316,0 | ||
98 | 1,97,ModelResultImpl,2436,2079,8228,12,8220,67,164,7,0,0,1435,0,1,3043,4248,1151,12,15,0,0,777,3304,246,0 | ||
99 | 1,98,ModelResultImpl,2436,2065,6976,11,6967,59,140,9,0,0,1239,0,1,2465,3500,1037,11,13,0,0,683,2624,307,0 | ||
100 | 1,99,ModelResultImpl,2436,2095,7581,9,7574,63,151,8,0,0,1307,0,1,2458,3811,1105,15,14,0,0,784,2769,277,0 | ||
101 | 1,100,ModelResultImpl,2436,2164,6739,11,6729,70,138,10,0,0,1166,0,1,2144,3347,1029,11,11,0,0,684,2496,345,0 | ||
102 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/runtime/Github/statistics_real.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/runtime/Github/statistics_real.csv new file mode 100644 index 00000000..c60433f3 --- /dev/null +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/runtime/Github/statistics_real.csv | |||
@@ -0,0 +1,12 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls | ||
2 | 1,1,ModelResultImpl,2318,8713,11477,137,11602,1015,370,38,0,386,1985,0,7,2253,4806,1639,18,16,2,0,1304,2544,230,0 | ||
3 | 1,2,ModelResultImpl,2318,4109,9168,27,9153,143,269,18,0,0,1619,0,2,2288,4476,1242,16,22,0,0,949,2905,242,0 | ||
4 | 1,3,ModelResultImpl,2318,5518,9272,27,9248,121,221,12,0,0,1700,0,5,2425,4417,1273,30,24,0,0,957,2881,261,0 | ||
5 | 1,4,ModelResultImpl,2318,3405,7896,18,7888,65,175,7,0,0,1540,0,2,2413,3656,1064,11,11,0,0,875,2862,233,0 | ||
6 | 1,5,ModelResultImpl,2318,2660,6884,21,6875,71,147,7,0,0,1363,0,1,2511,3348,849,13,14,0,0,736,3163,279,0 | ||
7 | 1,6,ModelResultImpl,2318,3583,7557,15,7545,91,166,7,0,0,1526,0,1,2118,3585,951,16,21,1,0,788,2745,222,0 | ||
8 | 1,7,ModelResultImpl,2318,2668,6837,13,6827,63,152,7,0,0,1265,0,2,2418,3307,885,11,9,0,0,786,2897,250,0 | ||
9 | 1,8,ModelResultImpl,2318,3444,7171,11,7164,88,213,7,0,0,1294,0,2,1951,3560,940,14,15,0,0,741,2721,238,0 | ||
10 | 1,9,ModelResultImpl,2318,2289,7093,20,7082,77,152,6,0,0,1311,0,2,2651,3452,1008,9,12,0,0,717,3119,258,0 | ||
11 | 1,10,ModelResultImpl,2318,2356,7077,14,7066,68,149,6,0,0,1507,0,3,1902,3238,791,13,14,0,0,836,2939,225,0 | ||
12 | |||
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig index 1cbf8469..95aa7486 100644 --- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig +++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig | |||
@@ -9,16 +9,16 @@ generate { | |||
9 | solver = ViatraSolver | 9 | solver = ViatraSolver |
10 | 10 | ||
11 | scope = { | 11 | scope = { |
12 | #node = 30 | 12 | #node = 100 |
13 | } | 13 | } |
14 | 14 | ||
15 | number = 1 | 15 | number = 1 |
16 | runs = 10 | 16 | runs = 1 |
17 | config = { | 17 | config = { |
18 | log-level = none, | 18 | log-level = none, |
19 | "optional-wf" = "false", | 19 | "optional-wf" = "true", |
20 | "realistic-guidance" = "Composite", | 20 | "realistic-guidance" = "Composite", |
21 | "allow-must-violations" = "false", | 21 | "allow-must-violations" = "true", |
22 | "domain" = "Yakindumm", | 22 | "domain" = "Yakindumm", |
23 | "scopePropagator" = "typeHierarchy" | 23 | "scopePropagator" = "typeHierarchy" |
24 | } | 24 | } |