aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated1006
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem729
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel64
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel147
13 files changed, 16438 insertions, 1096 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated
index b42023a4..9bc66dee 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated
@@ -109,23 +109,21 @@ private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, in
109{ 109{
110 find interpretation(problem,interpretation); 110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element); 111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfPayload_class(problem,interpretation,element);
112 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 113 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 114 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
115 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
116 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
117 neg find mustInstanceOfPayload_class(problem,interpretation,element); 116 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
118 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); 117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
119 neg find isPrimitive(element); 118 neg find isPrimitive(element);
120} or { 119} or {
121 find interpretation(problem,interpretation); 120 find interpretation(problem,interpretation);
122 PartialInterpretation.openWorldElements(interpretation,element); 121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfPayload_class(problem,interpretation,element);
123 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 123 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
124 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 124 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
125 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
126 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
127 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
128 neg find mustInstanceOfPayload_class(problem,interpretation,element); 126 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
129 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); 127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
130 neg find isPrimitive(element); 128 neg find isPrimitive(element);
131} or 129} or
@@ -154,20 +152,18 @@ private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, i
154 find interpretation(problem,interpretation); 152 find interpretation(problem,interpretation);
155 PartialInterpretation.newElements(interpretation,element); 153 PartialInterpretation.newElements(interpretation,element);
156 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 154 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
157 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
158 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
159 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
160 neg find mustInstanceOfPayload_class(problem,interpretation,element); 155 neg find mustInstanceOfPayload_class(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
161 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); 158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
162 neg find isPrimitive(element); 159 neg find isPrimitive(element);
163} or { 160} or {
164 find interpretation(problem,interpretation); 161 find interpretation(problem,interpretation);
165 PartialInterpretation.openWorldElements(interpretation,element); 162 PartialInterpretation.openWorldElements(interpretation,element);
166 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 163 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
167 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
168 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
169 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
170 neg find mustInstanceOfPayload_class(problem,interpretation,element); 164 neg find mustInstanceOfPayload_class(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
171 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); 167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
172 neg find isPrimitive(element); 168 neg find isPrimitive(element);
173} or 169} or
@@ -195,23 +191,21 @@ private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, in
195{ 191{
196 find interpretation(problem,interpretation); 192 find interpretation(problem,interpretation);
197 PartialInterpretation.newElements(interpretation,element); 193 PartialInterpretation.newElements(interpretation,element);
198 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 194 neg find mustInstanceOfPayload_class(problem,interpretation,element);
199 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 195 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
200 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
201 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
202 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 196 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
203 neg find mustInstanceOfPayload_class(problem,interpretation,element); 197 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
198 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
204 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); 199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
205 neg find isPrimitive(element); 200 neg find isPrimitive(element);
206} or { 201} or {
207 find interpretation(problem,interpretation); 202 find interpretation(problem,interpretation);
208 PartialInterpretation.openWorldElements(interpretation,element); 203 PartialInterpretation.openWorldElements(interpretation,element);
209 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 204 neg find mustInstanceOfPayload_class(problem,interpretation,element);
210 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 205 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
211 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
212 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
213 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 206 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
214 neg find mustInstanceOfPayload_class(problem,interpretation,element); 207 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
208 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
215 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); 209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
216 neg find isPrimitive(element); 210 neg find isPrimitive(element);
217} or 211} or
@@ -239,21 +233,19 @@ private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, in
239{ 233{
240 find interpretation(problem,interpretation); 234 find interpretation(problem,interpretation);
241 PartialInterpretation.newElements(interpretation,element); 235 PartialInterpretation.newElements(interpretation,element);
242 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 236 neg find mustInstanceOfPayload_class(problem,interpretation,element);
243 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 237 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
244 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
245 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 238 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
246 neg find mustInstanceOfPayload_class(problem,interpretation,element); 239 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
247 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); 240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
248 neg find isPrimitive(element); 241 neg find isPrimitive(element);
249} or { 242} or {
250 find interpretation(problem,interpretation); 243 find interpretation(problem,interpretation);
251 PartialInterpretation.openWorldElements(interpretation,element); 244 PartialInterpretation.openWorldElements(interpretation,element);
252 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 245 neg find mustInstanceOfPayload_class(problem,interpretation,element);
253 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 246 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
254 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
255 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 247 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
256 neg find mustInstanceOfPayload_class(problem,interpretation,element); 248 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
257 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); 249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
258 neg find isPrimitive(element); 250 neg find isPrimitive(element);
259} or 251} or
@@ -281,25 +273,23 @@ private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretati
281{ 273{
282 find interpretation(problem,interpretation); 274 find interpretation(problem,interpretation);
283 PartialInterpretation.newElements(interpretation,element); 275 PartialInterpretation.newElements(interpretation,element);
284 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 276 neg find mustInstanceOfPayload_class(problem,interpretation,element);
285 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
286 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
287 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
288 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
289 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 279 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
290 neg find mustInstanceOfPayload_class(problem,interpretation,element); 280 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
281 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
291 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); 282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
292 neg find isPrimitive(element); 283 neg find isPrimitive(element);
293} or { 284} or {
294 find interpretation(problem,interpretation); 285 find interpretation(problem,interpretation);
295 PartialInterpretation.openWorldElements(interpretation,element); 286 PartialInterpretation.openWorldElements(interpretation,element);
296 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 287 neg find mustInstanceOfPayload_class(problem,interpretation,element);
297 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
298 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
299 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
300 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
301 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 290 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
302 neg find mustInstanceOfPayload_class(problem,interpretation,element); 291 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
292 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
303 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); 293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
304 neg find isPrimitive(element); 294 neg find isPrimitive(element);
305} or 295} or
@@ -327,70 +317,28 @@ private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpret
327{ 317{
328 find interpretation(problem,interpretation); 318 find interpretation(problem,interpretation);
329 PartialInterpretation.newElements(interpretation,element); 319 PartialInterpretation.newElements(interpretation,element);
330 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 320 neg find mustInstanceOfPayload_class(problem,interpretation,element);
331 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
332 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
333 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 322 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
323 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
335 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 324 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
336 neg find mustInstanceOfPayload_class(problem,interpretation,element); 325 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); 326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element); 327 neg find isPrimitive(element);
339} or { 328} or {
340 find interpretation(problem,interpretation); 329 find interpretation(problem,interpretation);
341 PartialInterpretation.openWorldElements(interpretation,element); 330 PartialInterpretation.openWorldElements(interpretation,element);
342 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 331 neg find mustInstanceOfPayload_class(problem,interpretation,element);
343 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
344 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
345 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
346 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 333 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
334 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
347 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 335 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
348 neg find mustInstanceOfPayload_class(problem,interpretation,element); 336 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
349 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); 337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
350 neg find isPrimitive(element); 338 neg find isPrimitive(element);
351} or 339} or
352{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); } 340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
353/** 341/**
354 * An element must be an instance of type "DirectedCommunicationLink class".
355 */
356private pattern mustInstanceOfDirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
357 Type.name(type,"DirectedCommunicationLink class");
358 find directInstanceOf(problem,interpretation,element,type);
359}
360private pattern scopeDisallowsNewDirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation) {
361 find interpretation(problem,interpretation);
362 PartialInterpretation.scopes(interpretation,scope);
363 Scope.targetTypeInterpretation(scope,typeInterpretation);
364 Scope.maxNewElements(scope,0);
365 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
366 Type.name(type,"DirectedCommunicationLink class");
367}
368
369/**
370 * An element may be an instance of type "DirectedCommunicationLink class".
371 */
372private pattern mayInstanceOfDirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
373{
374 find interpretation(problem,interpretation);
375 PartialInterpretation.newElements(interpretation,element);
376 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
377 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
378 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
379 neg find mustInstanceOfPayload_class(problem,interpretation,element);
380 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation);
381 neg find isPrimitive(element);
382} or {
383 find interpretation(problem,interpretation);
384 PartialInterpretation.openWorldElements(interpretation,element);
385 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
386 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
387 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
388 neg find mustInstanceOfPayload_class(problem,interpretation,element);
389 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation);
390 neg find isPrimitive(element);
391} or
392{ find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); }
393/**
394 * An element must be an instance of type "Payload class". 342 * An element must be an instance of type "Payload class".
395 */ 343 */
396private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
@@ -413,21 +361,19 @@ private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:
413{ 361{
414 find interpretation(problem,interpretation); 362 find interpretation(problem,interpretation);
415 PartialInterpretation.newElements(interpretation,element); 363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
416 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
417 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
418 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
419 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 367 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
420 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
421 neg find scopeDisallowsNewPayload_class(problem, interpretation); 368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
422 neg find isPrimitive(element); 369 neg find isPrimitive(element);
423} or { 370} or {
424 find interpretation(problem,interpretation); 371 find interpretation(problem,interpretation);
425 PartialInterpretation.openWorldElements(interpretation,element); 372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
426 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
427 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
428 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
429 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 376 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
430 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
431 neg find scopeDisallowsNewPayload_class(problem, interpretation); 377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
432 neg find isPrimitive(element); 378 neg find isPrimitive(element);
433} or 379} or
@@ -455,18 +401,16 @@ private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, i
455{ 401{
456 find interpretation(problem,interpretation); 402 find interpretation(problem,interpretation);
457 PartialInterpretation.newElements(interpretation,element); 403 PartialInterpretation.newElements(interpretation,element);
458 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
459 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 404 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
460 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 405 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
461 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 406 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
462 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); 407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
463 neg find isPrimitive(element); 408 neg find isPrimitive(element);
464} or { 409} or {
465 find interpretation(problem,interpretation); 410 find interpretation(problem,interpretation);
466 PartialInterpretation.openWorldElements(interpretation,element); 411 PartialInterpretation.openWorldElements(interpretation,element);
467 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
468 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 412 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
469 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 413 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
470 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 414 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
471 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); 415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
472 neg find isPrimitive(element); 416 neg find isPrimitive(element);
@@ -495,25 +439,23 @@ private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretatio
495{ 439{
496 find interpretation(problem,interpretation); 440 find interpretation(problem,interpretation);
497 PartialInterpretation.newElements(interpretation,element); 441 PartialInterpretation.newElements(interpretation,element);
498 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 442 neg find mustInstanceOfPayload_class(problem,interpretation,element);
499 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 443 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
502 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
503 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 444 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
504 neg find mustInstanceOfPayload_class(problem,interpretation,element); 445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
505 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); 448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
506 neg find isPrimitive(element); 449 neg find isPrimitive(element);
507} or { 450} or {
508 find interpretation(problem,interpretation); 451 find interpretation(problem,interpretation);
509 PartialInterpretation.openWorldElements(interpretation,element); 452 PartialInterpretation.openWorldElements(interpretation,element);
510 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 453 neg find mustInstanceOfPayload_class(problem,interpretation,element);
511 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 454 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
512 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
513 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
514 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
515 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 455 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
516 neg find mustInstanceOfPayload_class(problem,interpretation,element); 456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
517 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); 459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
518 neg find isPrimitive(element); 460 neg find isPrimitive(element);
519} or 461} or
@@ -541,25 +483,23 @@ private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretatio
541{ 483{
542 find interpretation(problem,interpretation); 484 find interpretation(problem,interpretation);
543 PartialInterpretation.newElements(interpretation,element); 485 PartialInterpretation.newElements(interpretation,element);
544 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 486 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
546 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
547 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
548 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
549 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
550 neg find mustInstanceOfPayload_class(problem,interpretation,element); 491 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
551 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); 492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
552 neg find isPrimitive(element); 493 neg find isPrimitive(element);
553} or { 494} or {
554 find interpretation(problem,interpretation); 495 find interpretation(problem,interpretation);
555 PartialInterpretation.openWorldElements(interpretation,element); 496 PartialInterpretation.openWorldElements(interpretation,element);
556 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 497 neg find mustInstanceOfPayload_class(problem,interpretation,element);
557 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
558 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
559 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
560 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
561 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
562 neg find mustInstanceOfPayload_class(problem,interpretation,element); 502 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
563 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); 503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
564 neg find isPrimitive(element); 504 neg find isPrimitive(element);
565} or 505} or
@@ -587,23 +527,21 @@ private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation
587{ 527{
588 find interpretation(problem,interpretation); 528 find interpretation(problem,interpretation);
589 PartialInterpretation.newElements(interpretation,element); 529 PartialInterpretation.newElements(interpretation,element);
590 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 530 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
592 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
593 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
594 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 532 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
595 neg find mustInstanceOfPayload_class(problem,interpretation,element); 533 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
534 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
596 neg find scopeDisallowsNewSmallSat_class(problem, interpretation); 535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
597 neg find isPrimitive(element); 536 neg find isPrimitive(element);
598} or { 537} or {
599 find interpretation(problem,interpretation); 538 find interpretation(problem,interpretation);
600 PartialInterpretation.openWorldElements(interpretation,element); 539 PartialInterpretation.openWorldElements(interpretation,element);
601 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 540 neg find mustInstanceOfPayload_class(problem,interpretation,element);
602 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
603 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
604 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
605 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 542 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
606 neg find mustInstanceOfPayload_class(problem,interpretation,element); 543 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
544 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
607 neg find scopeDisallowsNewSmallSat_class(problem, interpretation); 545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
608 neg find isPrimitive(element); 546 neg find isPrimitive(element);
609} or 547} or
@@ -631,27 +569,25 @@ private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:
631{ 569{
632 find interpretation(problem,interpretation); 570 find interpretation(problem,interpretation);
633 PartialInterpretation.newElements(interpretation,element); 571 PartialInterpretation.newElements(interpretation,element);
634 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 572 neg find mustInstanceOfPayload_class(problem,interpretation,element);
635 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 573 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
636 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
637 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
638 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 574 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
639 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 575 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
640 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 578 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
641 neg find mustInstanceOfPayload_class(problem,interpretation,element);
642 neg find scopeDisallowsNewCubeSat_class(problem, interpretation); 579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
643 neg find isPrimitive(element); 580 neg find isPrimitive(element);
644} or { 581} or {
645 find interpretation(problem,interpretation); 582 find interpretation(problem,interpretation);
646 PartialInterpretation.openWorldElements(interpretation,element); 583 PartialInterpretation.openWorldElements(interpretation,element);
647 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 584 neg find mustInstanceOfPayload_class(problem,interpretation,element);
648 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 585 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
649 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
650 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
651 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 586 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
652 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 587 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
653 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 590 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
654 neg find mustInstanceOfPayload_class(problem,interpretation,element);
655 neg find scopeDisallowsNewCubeSat_class(problem, interpretation); 591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
656 neg find isPrimitive(element); 592 neg find isPrimitive(element);
657} or 593} or
@@ -679,23 +615,21 @@ private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interp
679{ 615{
680 find interpretation(problem,interpretation); 616 find interpretation(problem,interpretation);
681 PartialInterpretation.newElements(interpretation,element); 617 PartialInterpretation.newElements(interpretation,element);
682 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 618 neg find mustInstanceOfPayload_class(problem,interpretation,element);
683 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
684 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
685 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 619 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
620 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
686 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 621 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
687 neg find mustInstanceOfPayload_class(problem,interpretation,element); 622 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
688 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); 623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
689 neg find isPrimitive(element); 624 neg find isPrimitive(element);
690} or { 625} or {
691 find interpretation(problem,interpretation); 626 find interpretation(problem,interpretation);
692 PartialInterpretation.openWorldElements(interpretation,element); 627 PartialInterpretation.openWorldElements(interpretation,element);
693 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 628 neg find mustInstanceOfPayload_class(problem,interpretation,element);
694 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
695 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
696 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 629 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
630 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
697 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 631 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
698 neg find mustInstanceOfPayload_class(problem,interpretation,element); 632 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
699 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); 633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
700 neg find isPrimitive(element); 634 neg find isPrimitive(element);
701} or 635} or
@@ -723,23 +657,21 @@ private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpre
723{ 657{
724 find interpretation(problem,interpretation); 658 find interpretation(problem,interpretation);
725 PartialInterpretation.newElements(interpretation,element); 659 PartialInterpretation.newElements(interpretation,element);
726 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 660 neg find mustInstanceOfPayload_class(problem,interpretation,element);
727 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
728 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
729 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
730 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 662 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
731 neg find mustInstanceOfPayload_class(problem,interpretation,element); 663 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
664 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
732 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); 665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
733 neg find isPrimitive(element); 666 neg find isPrimitive(element);
734} or { 667} or {
735 find interpretation(problem,interpretation); 668 find interpretation(problem,interpretation);
736 PartialInterpretation.openWorldElements(interpretation,element); 669 PartialInterpretation.openWorldElements(interpretation,element);
737 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 670 neg find mustInstanceOfPayload_class(problem,interpretation,element);
738 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
739 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
740 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
741 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 672 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
742 neg find mustInstanceOfPayload_class(problem,interpretation,element); 673 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
674 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
743 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); 675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
744 neg find isPrimitive(element); 676 neg find isPrimitive(element);
745} or 677} or
@@ -767,23 +699,21 @@ private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpr
767{ 699{
768 find interpretation(problem,interpretation); 700 find interpretation(problem,interpretation);
769 PartialInterpretation.newElements(interpretation,element); 701 PartialInterpretation.newElements(interpretation,element);
770 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 702 neg find mustInstanceOfPayload_class(problem,interpretation,element);
771 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
772 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
773 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
774 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 704 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
775 neg find mustInstanceOfPayload_class(problem,interpretation,element); 705 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
706 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
776 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); 707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
777 neg find isPrimitive(element); 708 neg find isPrimitive(element);
778} or { 709} or {
779 find interpretation(problem,interpretation); 710 find interpretation(problem,interpretation);
780 PartialInterpretation.openWorldElements(interpretation,element); 711 PartialInterpretation.openWorldElements(interpretation,element);
781 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 712 neg find mustInstanceOfPayload_class(problem,interpretation,element);
782 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
783 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
784 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
785 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 714 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
786 neg find mustInstanceOfPayload_class(problem,interpretation,element); 715 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
716 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
787 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); 717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
788 neg find isPrimitive(element); 718 neg find isPrimitive(element);
789} or 719} or
@@ -832,21 +762,19 @@ private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:Lo
832{ 762{
833 find interpretation(problem,interpretation); 763 find interpretation(problem,interpretation);
834 PartialInterpretation.newElements(interpretation,element); 764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfPayload_class(problem,interpretation,element);
835 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
836 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
837 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
838 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
839 neg find mustInstanceOfPayload_class(problem,interpretation,element); 768 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
840 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); 769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
841 neg find isPrimitive(element); 770 neg find isPrimitive(element);
842} or { 771} or {
843 find interpretation(problem,interpretation); 772 find interpretation(problem,interpretation);
844 PartialInterpretation.openWorldElements(interpretation,element); 773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfPayload_class(problem,interpretation,element);
845 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
846 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
847 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
848 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
849 neg find mustInstanceOfPayload_class(problem,interpretation,element); 777 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
850 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); 778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
851 neg find isPrimitive(element); 779 neg find isPrimitive(element);
852} or 780} or
@@ -895,19 +823,17 @@ private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:L
895{ 823{
896 find interpretation(problem,interpretation); 824 find interpretation(problem,interpretation);
897 PartialInterpretation.newElements(interpretation,element); 825 PartialInterpretation.newElements(interpretation,element);
898 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
899 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
900 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
901 neg find mustInstanceOfPayload_class(problem,interpretation,element); 826 neg find mustInstanceOfPayload_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
902 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); 829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
903 neg find isPrimitive(element); 830 neg find isPrimitive(element);
904} or { 831} or {
905 find interpretation(problem,interpretation); 832 find interpretation(problem,interpretation);
906 PartialInterpretation.openWorldElements(interpretation,element); 833 PartialInterpretation.openWorldElements(interpretation,element);
907 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
908 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
909 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
910 neg find mustInstanceOfPayload_class(problem,interpretation,element); 834 neg find mustInstanceOfPayload_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
911 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); 837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
912 neg find isPrimitive(element); 838 neg find isPrimitive(element);
913} or 839} or
@@ -956,23 +882,21 @@ private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:Lo
956{ 882{
957 find interpretation(problem,interpretation); 883 find interpretation(problem,interpretation);
958 PartialInterpretation.newElements(interpretation,element); 884 PartialInterpretation.newElements(interpretation,element);
959 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
960 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
961 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
962 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
963 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
964 neg find mustInstanceOfPayload_class(problem,interpretation,element); 885 neg find mustInstanceOfPayload_class(problem,interpretation,element);
886 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
887 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
965 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); 890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
966 neg find isPrimitive(element); 891 neg find isPrimitive(element);
967} or { 892} or {
968 find interpretation(problem,interpretation); 893 find interpretation(problem,interpretation);
969 PartialInterpretation.openWorldElements(interpretation,element); 894 PartialInterpretation.openWorldElements(interpretation,element);
970 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
971 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
972 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
973 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
974 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
975 neg find mustInstanceOfPayload_class(problem,interpretation,element); 895 neg find mustInstanceOfPayload_class(problem,interpretation,element);
896 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
897 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
976 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); 900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
977 neg find isPrimitive(element); 901 neg find isPrimitive(element);
978} or 902} or
@@ -1021,21 +945,19 @@ private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:Lo
1021{ 945{
1022 find interpretation(problem,interpretation); 946 find interpretation(problem,interpretation);
1023 PartialInterpretation.newElements(interpretation,element); 947 PartialInterpretation.newElements(interpretation,element);
1024 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1025 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
1026 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
1027 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1028 neg find mustInstanceOfPayload_class(problem,interpretation,element); 948 neg find mustInstanceOfPayload_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1029 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); 952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
1030 neg find isPrimitive(element); 953 neg find isPrimitive(element);
1031} or { 954} or {
1032 find interpretation(problem,interpretation); 955 find interpretation(problem,interpretation);
1033 PartialInterpretation.openWorldElements(interpretation,element); 956 PartialInterpretation.openWorldElements(interpretation,element);
1034 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1035 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
1036 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
1037 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1038 neg find mustInstanceOfPayload_class(problem,interpretation,element); 957 neg find mustInstanceOfPayload_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1039 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); 961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
1040 neg find isPrimitive(element); 962 neg find isPrimitive(element);
1041} or 963} or
@@ -1084,25 +1006,23 @@ private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProb
1084{ 1006{
1085 find interpretation(problem,interpretation); 1007 find interpretation(problem,interpretation);
1086 PartialInterpretation.newElements(interpretation,element); 1008 PartialInterpretation.newElements(interpretation,element);
1087 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1009 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1088 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1089 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1090 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1010 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1091 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 1011 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1092 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 1012 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1093 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1013 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1014 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1094 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); 1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1095 neg find isPrimitive(element); 1016 neg find isPrimitive(element);
1096} or { 1017} or {
1097 find interpretation(problem,interpretation); 1018 find interpretation(problem,interpretation);
1098 PartialInterpretation.openWorldElements(interpretation,element); 1019 PartialInterpretation.openWorldElements(interpretation,element);
1099 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1020 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1100 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1101 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1102 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1021 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1103 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 1022 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1104 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 1023 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1105 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1024 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1025 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1106 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); 1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1107 neg find isPrimitive(element); 1027 neg find isPrimitive(element);
1108} or 1028} or
@@ -1151,23 +1071,21 @@ private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicPro
1151{ 1071{
1152 find interpretation(problem,interpretation); 1072 find interpretation(problem,interpretation);
1153 PartialInterpretation.newElements(interpretation,element); 1073 PartialInterpretation.newElements(interpretation,element);
1154 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1074 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1155 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1157 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1075 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1158 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 1076 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1159 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1077 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1078 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1160 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); 1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1161 neg find isPrimitive(element); 1080 neg find isPrimitive(element);
1162} or { 1081} or {
1163 find interpretation(problem,interpretation); 1082 find interpretation(problem,interpretation);
1164 PartialInterpretation.openWorldElements(interpretation,element); 1083 PartialInterpretation.openWorldElements(interpretation,element);
1165 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1084 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1166 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1167 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1168 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1085 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1169 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 1086 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1170 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1087 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1088 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1171 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); 1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1172 neg find isPrimitive(element); 1090 neg find isPrimitive(element);
1173} or 1091} or
@@ -1216,23 +1134,21 @@ private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicPr
1216{ 1134{
1217 find interpretation(problem,interpretation); 1135 find interpretation(problem,interpretation);
1218 PartialInterpretation.newElements(interpretation,element); 1136 PartialInterpretation.newElements(interpretation,element);
1219 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1137 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1220 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1221 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1222 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1138 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1223 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 1139 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1224 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1140 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1141 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1225 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); 1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1226 neg find isPrimitive(element); 1143 neg find isPrimitive(element);
1227} or { 1144} or {
1228 find interpretation(problem,interpretation); 1145 find interpretation(problem,interpretation);
1229 PartialInterpretation.openWorldElements(interpretation,element); 1146 PartialInterpretation.openWorldElements(interpretation,element);
1230 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1147 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1231 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1232 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1233 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1148 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1234 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 1149 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1235 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1150 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1151 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1236 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); 1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1237 neg find isPrimitive(element); 1153 neg find isPrimitive(element);
1238} or 1154} or
@@ -1362,46 +1278,6 @@ private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1362 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); 1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1363} 1279}
1364/** 1280/**
1365 * Matcher for detecting tuples t where []communicationLink reference CommunicatingElement(source,target)
1366 */
1367private pattern mustInRelationcommunicationLink_reference_CommunicatingElement(
1368 problem:LogicProblem, interpretation:PartialInterpretation,
1369 source: DefinedElement, target:DefinedElement)
1370{
1371 find interpretation(problem,interpretation);
1372 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1373 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"communicationLink reference CommunicatingElement");
1374 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1375 BinaryElementRelationLink.param1(link,source);
1376 BinaryElementRelationLink.param2(link,target);
1377}
1378/**
1379 * Matcher for detecting tuples t where <>communicationLink reference CommunicatingElement(source,target)
1380 */
1381private pattern mayInRelationcommunicationLink_reference_CommunicatingElement(
1382 problem:LogicProblem, interpretation:PartialInterpretation,
1383 source: DefinedElement, target:DefinedElement)
1384{
1385 find interpretation(problem,interpretation);
1386 // The two endpoint of the link have to exist
1387 find mayExist(problem, interpretation, source);
1388 find mayExist(problem, interpretation, target);
1389 // Type consistency
1390 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1391 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,target);
1392 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1393 // the upper bound of the multiplicity should be considered.
1394 numberOfExistingReferences == count find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,_);
1395 check(numberOfExistingReferences < 1);
1396 // The reference is containment, then a new reference cannot be create if:
1397 // 1. Multiple parents
1398 neg find mustContains4(problem,interpretation,_,target);
1399 // 2. Circle in the containment hierarchy
1400 neg find mustTransitiveContains(source,target);
1401} or {
1402 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,target);
1403}
1404/**
1405 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target) 1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1406 */ 1282 */
1407private pattern mustInRelationpayload_reference_Spacecraft( 1283private pattern mustInRelationpayload_reference_Spacecraft(
@@ -1442,23 +1318,23 @@ private pattern mayInRelationpayload_reference_Spacecraft(
1442 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); 1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1443} 1319}
1444/** 1320/**
1445 * Matcher for detecting tuples t where []source reference DirectedCommunicationLink(source,target) 1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1446 */ 1322 */
1447private pattern mustInRelationsource_reference_DirectedCommunicationLink( 1323private pattern mustInRelationtarget_reference_CommSubsystem(
1448 problem:LogicProblem, interpretation:PartialInterpretation, 1324 problem:LogicProblem, interpretation:PartialInterpretation,
1449 source: DefinedElement, target:DefinedElement) 1325 source: DefinedElement, target:DefinedElement)
1450{ 1326{
1451 find interpretation(problem,interpretation); 1327 find interpretation(problem,interpretation);
1452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"source reference DirectedCommunicationLink"); 1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1454 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1455 BinaryElementRelationLink.param1(link,source); 1331 BinaryElementRelationLink.param1(link,source);
1456 BinaryElementRelationLink.param2(link,target); 1332 BinaryElementRelationLink.param2(link,target);
1457} 1333}
1458/** 1334/**
1459 * Matcher for detecting tuples t where <>source reference DirectedCommunicationLink(source,target) 1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1460 */ 1336 */
1461private pattern mayInRelationsource_reference_DirectedCommunicationLink( 1337private pattern mayInRelationtarget_reference_CommSubsystem(
1462 problem:LogicProblem, interpretation:PartialInterpretation, 1338 problem:LogicProblem, interpretation:PartialInterpretation,
1463 source: DefinedElement, target:DefinedElement) 1339 source: DefinedElement, target:DefinedElement)
1464{ 1340{
@@ -1467,117 +1343,107 @@ private pattern mayInRelationsource_reference_DirectedCommunicationLink(
1467 find mayExist(problem, interpretation, source); 1343 find mayExist(problem, interpretation, source);
1468 find mayExist(problem, interpretation, target); 1344 find mayExist(problem, interpretation, target);
1469 // Type consistency 1345 // Type consistency
1470 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,source); 1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1471 find mayInstanceOfCommSubsystem_class(problem,interpretation,target); 1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1472 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1473 // the upper bound of the multiplicity should be considered. 1349 // the upper bound of the multiplicity should be considered.
1474 numberOfExistingReferences == count find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,source,_); 1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1475 check(numberOfExistingReferences < 1); 1351 check(numberOfExistingReferences < 1);
1476} or { 1352} or {
1477 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,source,target); 1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1478} 1354}
1479/** 1355
1480 * Matcher for detecting tuples t where []target reference DirectedCommunicationLink(source,target) 1356//////////
1481 */ 1357// 1.3 Relation Definition Indexers
1482private pattern mustInRelationtarget_reference_DirectedCommunicationLink( 1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1483 problem:LogicProblem, interpretation:PartialInterpretation, 1361 problem:LogicProblem, interpretation:PartialInterpretation,
1484 source: DefinedElement, target:DefinedElement) 1362 var_Element)
1485{ 1363{
1486 find interpretation(problem,interpretation); 1364 find interpretation(problem,interpretation);
1487 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1488 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference DirectedCommunicationLink"); 1366 // Element is exported
1489 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1490 BinaryElementRelationLink.param1(link,source); 1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1491 BinaryElementRelationLink.param2(link,target); 1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1492} 1370}
1493/** 1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1494 * Matcher for detecting tuples t where <>target reference DirectedCommunicationLink(source,target)
1495 */
1496private pattern mayInRelationtarget_reference_DirectedCommunicationLink(
1497 problem:LogicProblem, interpretation:PartialInterpretation, 1372 problem:LogicProblem, interpretation:PartialInterpretation,
1498 source: DefinedElement, target:DefinedElement) 1373 var_Element)
1499{ 1374{
1500 find interpretation(problem,interpretation); 1375 find interpretation(problem,interpretation);
1501 // The two endpoint of the link have to exist 1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1502 find mayExist(problem, interpretation, source); 1377 // Element is exported
1503 find mayExist(problem, interpretation, target); 1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1504 // Type consistency 1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1505 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,source); 1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1506 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1507 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1508 // the upper bound of the multiplicity should be considered.
1509 numberOfExistingReferences == count find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,source,_);
1510 check(numberOfExistingReferences < 1);
1511} or {
1512 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,source,target);
1513} 1381}
1514 1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1515////////// 1383 problem:LogicProblem, interpretation:PartialInterpretation,
1516// 1.3 Relation Definition Indexers 1384 var_Element)
1517////////// 1385{
1518// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement 1386 find interpretation(problem,interpretation);
1519private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1520 problem:LogicProblem, interpretation:PartialInterpretation, 1395 problem:LogicProblem, interpretation:PartialInterpretation,
1521 var_Link) 1396 var_Element, var_Comm)
1522{ 1397{
1523 find interpretation(problem,interpretation); 1398 find interpretation(problem,interpretation);
1524 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1525 // Link is exported
1526 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1527 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1528 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1401 // Element is exported
1529 find mustEquivalent(problem, interpretation, var_virtual0, var_Link); 1402 // Comm is exported
1530 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1531 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1532 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1533 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1534 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1535 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1536 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1537 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1538 neg find mayEquivalent(problem, interpretation, var_Element, var_SourceElement);
1539} 1411}
1540private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1541 problem:LogicProblem, interpretation:PartialInterpretation, 1413 problem:LogicProblem, interpretation:PartialInterpretation,
1542 var_Link) 1414 var_Element, var_Comm)
1543{ 1415{
1544 find interpretation(problem,interpretation); 1416 find interpretation(problem,interpretation);
1545 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1546 // Link is exported
1547 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1548 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1549 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1419 // Element is exported
1550 find mayEquivalent(problem, interpretation, var_virtual0, var_Link); 1420 // Comm is exported
1551 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1552 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1553 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1554 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1555 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1556 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1557 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1558 find mayEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1559 neg find mustEquivalent(problem, interpretation, var_Element, var_SourceElement);
1560} 1429}
1561private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1562 problem:LogicProblem, interpretation:PartialInterpretation, 1431 problem:LogicProblem, interpretation:PartialInterpretation,
1563 var_Link) 1432 var_Element, var_Comm)
1564{ 1433{
1565 find interpretation(problem,interpretation); 1434 find interpretation(problem,interpretation);
1566 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1567 // Link is exported
1568 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1569 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1570 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1437 // Element is exported
1571 find mustEquivalent(problem, interpretation, var_virtual0, var_Link); 1438 // Comm is exported
1572 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1573 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1574 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1575 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1576 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1577 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1578 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1579 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1580 neg find mustEquivalent(problem, interpretation, var_Element, var_SourceElement);
1581} 1447}
1582// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads 1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1583private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( 1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
@@ -2208,22 +2074,18 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
2208 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2209 // Source is exported 2075 // Source is exported
2210 // Target is exported 2076 // Target is exported
2211 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2212 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2213 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2214 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2215 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2216 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2217 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2218 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2219 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); 2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2220 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual2); 2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2221 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2222 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceSubsystem); 2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2223 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2224 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3); 2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2225 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3); 2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2226 find mustEquivalent(problem, interpretation, var_virtual3, var_TargetSubsystem); 2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2227} 2089}
2228private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( 2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation, 2091 problem:LogicProblem, interpretation:PartialInterpretation,
@@ -2234,22 +2096,18 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli
2234 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2235 // Source is exported 2097 // Source is exported
2236 // Target is exported 2098 // Target is exported
2237 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2238 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2239 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2240 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2241 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2242 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2243 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2244 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2245 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); 2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2246 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual2); 2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2247 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2248 find mayEquivalent(problem, interpretation, var_virtual2, var_SourceSubsystem); 2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2249 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2250 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3); 2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2251 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3); 2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2252 find mayEquivalent(problem, interpretation, var_virtual3, var_TargetSubsystem); 2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2253} 2111}
2254private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( 2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2255 problem:LogicProblem, interpretation:PartialInterpretation, 2113 problem:LogicProblem, interpretation:PartialInterpretation,
@@ -2260,22 +2118,18 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat
2260 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2261 // Source is exported 2119 // Source is exported
2262 // Target is exported 2120 // Target is exported
2263 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2264 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2265 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2266 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2267 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2268 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2269 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2270 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2271 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); 2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2272 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual2); 2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2273 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2274 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceSubsystem); 2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2275 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2276 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3); 2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2277 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3); 2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2278 find mustEquivalent(problem, interpretation, var_virtual3, var_TargetSubsystem); 2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2279} 2133}
2280private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { 2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2281 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); 2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
@@ -2289,53 +2143,41 @@ private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_do
2289// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand 2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2290private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( 2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2291 problem:LogicProblem, interpretation:PartialInterpretation, 2145 problem:LogicProblem, interpretation:PartialInterpretation,
2292 var_Link) 2146 var_SourceSubsystem)
2293{ 2147{
2294 find interpretation(problem,interpretation); 2148 find interpretation(problem,interpretation);
2295 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2296 // Link is exported 2150 // SourceSubsystem is exported
2297 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2298 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2299 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2300 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2301 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2302 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2303 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2304 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2305 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); 2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2306} 2156}
2307private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( 2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2308 problem:LogicProblem, interpretation:PartialInterpretation, 2158 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Link) 2159 var_SourceSubsystem)
2310{ 2160{
2311 find interpretation(problem,interpretation); 2161 find interpretation(problem,interpretation);
2312 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2313 // Link is exported 2163 // SourceSubsystem is exported
2314 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2315 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2316 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2318 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2319 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2320 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2321 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2322 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); 2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2323} 2169}
2324private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( 2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2325 problem:LogicProblem, interpretation:PartialInterpretation, 2171 problem:LogicProblem, interpretation:PartialInterpretation,
2326 var_Link) 2172 var_SourceSubsystem)
2327{ 2173{
2328 find interpretation(problem,interpretation); 2174 find interpretation(problem,interpretation);
2329 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2330 // Link is exported 2176 // SourceSubsystem is exported
2331 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2332 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2333 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2334 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2335 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2336 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2337 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2338 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2339 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); 2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2340} 2182}
2341// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink 2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
@@ -2351,18 +2193,14 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
2351 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2352 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); 2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2353 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); 2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2354 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2355 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2356 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2357 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2358 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2359 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual2); 2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2360 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2361 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); 2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2362 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2363 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3);
2364 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3);
2365 find mustEquivalent(problem, interpretation, var_virtual3, var_TargetComm);
2366 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); 2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2367} 2205}
2368private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( 2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
@@ -2377,18 +2215,14 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli
2377 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2378 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm); 2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2379 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); 2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2380 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2381 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2382 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2383 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2384 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2385 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual2); 2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2386 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2387 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm); 2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2388 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2389 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3);
2390 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3);
2391 find mayEquivalent(problem, interpretation, var_virtual3, var_TargetComm);
2392 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); 2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2393} 2227}
2394private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( 2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
@@ -2403,18 +2237,14 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat
2403 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2404 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); 2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2405 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); 2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2406 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2407 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2408 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2409 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2410 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2411 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual2); 2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2412 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2413 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); 2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2414 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2415 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3);
2416 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3);
2417 find mustEquivalent(problem, interpretation, var_virtual3, var_TargetComm);
2418 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); 2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2419} 2249}
2420// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf 2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
@@ -2560,8 +2390,6 @@ private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterp
2560 2390
2561 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or 2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2562 2392
2563 { find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,target); }or
2564
2565 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); } 2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2566 2394
2567private pattern mustTransitiveContains(source,target) { 2395private pattern mustTransitiveContains(source,target) {
@@ -2574,9 +2402,9 @@ private pattern mustTransitiveContains(source,target) {
2574// 2.1 Invalidated by WF Queries 2402// 2.1 Invalidated by WF Queries
2575////////// 2403//////////
2576pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, 2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2577 var_Link) 2405 var_Element)
2578{ 2406{
2579 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Link); 2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2580} 2408}
2581pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, 2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2582 var_Mission) 2410 var_Mission)
@@ -2599,9 +2427,9 @@ pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queri
2599 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); 2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2600} 2428}
2601pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, 2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2602 var_Link) 2430 var_SourceSubsystem)
2603{ 2431{
2604 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link); 2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2605} 2433}
2606pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, 2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2607 var_Sat) 2435 var_Sat)
@@ -2646,32 +2474,14 @@ pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement
2646 check(numberOfExistingReferences < 1); 2474 check(numberOfExistingReferences < 1);
2647 missingMultiplicity == eval(1-numberOfExistingReferences); 2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2648} 2476}
2649pattern unfinishedLowerMultiplicity_source_reference_DirectedCommunicationLink(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2652 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"source reference DirectedCommunicationLink");
2653 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,object);
2654 numberOfExistingReferences == count find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,object,_);
2655 check(numberOfExistingReferences < 1);
2656 missingMultiplicity == eval(1-numberOfExistingReferences);
2657}
2658pattern unfinishedLowerMultiplicity_target_reference_DirectedCommunicationLink(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2659 find interpretation(problem,interpretation);
2660 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2661 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference DirectedCommunicationLink");
2662 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,object);
2663 numberOfExistingReferences == count find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,object,_);
2664 check(numberOfExistingReferences < 1);
2665 missingMultiplicity == eval(1-numberOfExistingReferences);
2666}
2667 2477
2668////////// 2478//////////
2669// 3.2 Unfinishedness Measured by WF Queries 2479// 3.2 Unfinishedness Measured by WF Queries
2670////////// 2480//////////
2671pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, 2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2672 var_Link) 2482 var_Element)
2673{ 2483{
2674 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Link); 2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2675} 2485}
2676pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, 2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2677 var_Mission) 2487 var_Mission)
@@ -2694,9 +2504,9 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie
2694 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); 2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2695} 2505}
2696pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, 2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2697 var_Link) 2507 var_SourceSubsystem)
2698{ 2508{
2699 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link); 2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2700} 2510}
2701pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, 2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2702 var_Sat) 2512 var_Sat)
@@ -2717,67 +2527,63 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie
2717private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2718{ 2528{
2719 find interpretation(problem,interpretation); 2529 find interpretation(problem,interpretation);
2720 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2721 find mustExist(problem, interpretation, root);
2722}or{
2723 find interpretation(problem,interpretation);
2724 find mustInstanceOfInterferometryMission_class(problem,interpretation,root); 2530 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2725 find mustExist(problem, interpretation, root); 2531 find mustExist(problem, interpretation, root);
2726}or{ 2532}or{
2727 find interpretation(problem,interpretation); 2533 find interpretation(problem,interpretation);
2728 find mustInstanceOfCubeSat6U_class(problem,interpretation,root); 2534 find mustInstanceOfPayload_class(problem,interpretation,root);
2729 find mustExist(problem, interpretation, root); 2535 find mustExist(problem, interpretation, root);
2730}or{ 2536}or{
2731 find interpretation(problem,interpretation); 2537 find interpretation(problem,interpretation);
2732 find mustInstanceOfCommSubsystem_class(problem,interpretation,root); 2538 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2733 find mustExist(problem, interpretation, root); 2539 find mustExist(problem, interpretation, root);
2734}or{ 2540}or{
2735 find interpretation(problem,interpretation); 2541 find interpretation(problem,interpretation);
2736 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,root); 2542 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2737 find mustExist(problem, interpretation, root); 2543 find mustExist(problem, interpretation, root);
2738}or{ 2544}or{
2739 find interpretation(problem,interpretation); 2545 find interpretation(problem,interpretation);
2740 find mustInstanceOfCubeSat3U_class(problem,interpretation,root); 2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2741 find mustExist(problem, interpretation, root); 2547 find mustExist(problem, interpretation, root);
2742}or{ 2548}or{
2743 find interpretation(problem,interpretation); 2549 find interpretation(problem,interpretation);
2744 find mustInstanceOfConstellationMission_class(problem,interpretation,root); 2550 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2745 find mustExist(problem, interpretation, root); 2551 find mustExist(problem, interpretation, root);
2746}or{ 2552}or{
2747 find interpretation(problem,interpretation); 2553 find interpretation(problem,interpretation);
2748 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root); 2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2749 find mustExist(problem, interpretation, root); 2555 find mustExist(problem, interpretation, root);
2750}or{ 2556}or{
2751 find interpretation(problem,interpretation); 2557 find interpretation(problem,interpretation);
2752 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root); 2558 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2753 find mustExist(problem, interpretation, root); 2559 find mustExist(problem, interpretation, root);
2754}or{ 2560}or{
2755 find interpretation(problem,interpretation); 2561 find interpretation(problem,interpretation);
2756 find mustInstanceOfPayload_class(problem,interpretation,root); 2562 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2757 find mustExist(problem, interpretation, root); 2563 find mustExist(problem, interpretation, root);
2758}or{ 2564}or{
2759 find interpretation(problem,interpretation); 2565 find interpretation(problem,interpretation);
2760 find mustInstanceOfCubeSat_class(problem,interpretation,root); 2566 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2761 find mustExist(problem, interpretation, root); 2567 find mustExist(problem, interpretation, root);
2762}or{ 2568}or{
2763 find interpretation(problem,interpretation); 2569 find interpretation(problem,interpretation);
2764 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); 2570 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2765 find mustExist(problem, interpretation, root); 2571 find mustExist(problem, interpretation, root);
2766}or{ 2572}or{
2767 find interpretation(problem,interpretation); 2573 find interpretation(problem,interpretation);
2768 find mustInstanceOfSmallSat_class(problem,interpretation,root); 2574 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2769 find mustExist(problem, interpretation, root); 2575 find mustExist(problem, interpretation, root);
2770}or{ 2576}or{
2771 find interpretation(problem,interpretation); 2577 find interpretation(problem,interpretation);
2772 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); 2578 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2773 find mustExist(problem, interpretation, root); 2579 find mustExist(problem, interpretation, root);
2774}or{ 2580}or{
2775 find interpretation(problem,interpretation); 2581 find interpretation(problem,interpretation);
2776 find mustInstanceOfSpacecraft_class(problem,interpretation,root); 2582 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2777 find mustExist(problem, interpretation, root); 2583 find mustExist(problem, interpretation, root);
2778}or{ 2584}or{
2779 find interpretation(problem,interpretation); 2585 find interpretation(problem,interpretation);
2780 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root); 2586 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2781 find mustExist(problem, interpretation, root); 2587 find mustExist(problem, interpretation, root);
2782}or{ 2588}or{
2783 find interpretation(problem,interpretation); 2589 find interpretation(problem,interpretation);
@@ -2864,87 +2670,87 @@ pattern createObject_KaCommSubsystem_class_UndefinedPart(
2864 find mayExist(problem, interpretation, newObject); 2670 find mayExist(problem, interpretation, newObject);
2865 neg find mustExist(problem, interpretation, newObject); 2671 neg find mustExist(problem, interpretation, newObject);
2866} 2672}
2867pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( 2673pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2868 problem:LogicProblem, interpretation:PartialInterpretation, 2674 problem:LogicProblem, interpretation:PartialInterpretation,
2869 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2870 container:DefinedElement) 2676 container:DefinedElement)
2871{ 2677{
2872 find interpretation(problem,interpretation); 2678 find interpretation(problem,interpretation);
2873 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2874 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2875 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2876 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2877 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2878 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 2684 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2879 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 2685 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2880 find mustExist(problem, interpretation, container); 2686 find mustExist(problem, interpretation, container);
2881 neg find mustExist(problem, interpretation, newObject); 2687 neg find mustExist(problem, interpretation, newObject);
2882} 2688}
2883pattern createObject_SmallSat_class( 2689pattern createObject_GroundStationNetwork_class_UndefinedPart(
2884 problem:LogicProblem, interpretation:PartialInterpretation, 2690 problem:LogicProblem, interpretation:PartialInterpretation,
2885 typeInterpretation:PartialComplexTypeInterpretation) 2691 typeInterpretation:PartialComplexTypeInterpretation)
2886{ 2692{
2887 find interpretation(problem,interpretation); 2693 find interpretation(problem,interpretation);
2888 neg find hasElementInContainment(problem,interpretation); 2694 neg find hasElementInContainment(problem,interpretation);
2889 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2890 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2891 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 2697 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2892 find mayExist(problem, interpretation, newObject); 2698 find mayExist(problem, interpretation, newObject);
2893 neg find mustExist(problem, interpretation, newObject); 2699 neg find mustExist(problem, interpretation, newObject);
2894} 2700}
2895pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft( 2701pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2896 problem:LogicProblem, interpretation:PartialInterpretation, 2702 problem:LogicProblem, interpretation:PartialInterpretation,
2897 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2898 container:DefinedElement) 2704 container:DefinedElement)
2899{ 2705{
2900 find interpretation(problem,interpretation); 2706 find interpretation(problem,interpretation);
2901 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2902 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); 2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2903 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2904 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); 2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2905 find mustInstanceOfSpacecraft_class(problem,interpretation,container); 2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2906 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); 2712 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2907 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); 2713 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2908 find mustExist(problem, interpretation, container); 2714 find mustExist(problem, interpretation, container);
2909 neg find mustExist(problem, interpretation, newObject); 2715 neg find mustExist(problem, interpretation, newObject);
2910} 2716}
2911pattern createObject_InterferometryPayload_class( 2717pattern createObject_SmallSat_class(
2912 problem:LogicProblem, interpretation:PartialInterpretation, 2718 problem:LogicProblem, interpretation:PartialInterpretation,
2913 typeInterpretation:PartialComplexTypeInterpretation) 2719 typeInterpretation:PartialComplexTypeInterpretation)
2914{ 2720{
2915 find interpretation(problem,interpretation); 2721 find interpretation(problem,interpretation);
2916 neg find hasElementInContainment(problem,interpretation); 2722 neg find hasElementInContainment(problem,interpretation);
2917 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2918 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); 2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2919 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); 2725 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2920 find mayExist(problem, interpretation, newObject); 2726 find mayExist(problem, interpretation, newObject);
2921 neg find mustExist(problem, interpretation, newObject); 2727 neg find mustExist(problem, interpretation, newObject);
2922} 2728}
2923pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommunicatingElement( 2729pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2924 problem:LogicProblem, interpretation:PartialInterpretation, 2730 problem:LogicProblem, interpretation:PartialInterpretation,
2925 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2926 container:DefinedElement) 2732 container:DefinedElement)
2927{ 2733{
2928 find interpretation(problem,interpretation); 2734 find interpretation(problem,interpretation);
2929 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2930 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2931 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2932 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommunicatingElement"); 2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2933 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); 2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2934 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 2740 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2935 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,container,newObject); 2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2936 find mustExist(problem, interpretation, container); 2742 find mustExist(problem, interpretation, container);
2937 neg find mustExist(problem, interpretation, newObject); 2743 neg find mustExist(problem, interpretation, newObject);
2938} 2744}
2939pattern createObject_DirectedCommunicationLink_class( 2745pattern createObject_XCommSubsystem_class_UndefinedPart(
2940 problem:LogicProblem, interpretation:PartialInterpretation, 2746 problem:LogicProblem, interpretation:PartialInterpretation,
2941 typeInterpretation:PartialComplexTypeInterpretation) 2747 typeInterpretation:PartialComplexTypeInterpretation)
2942{ 2748{
2943 find interpretation(problem,interpretation); 2749 find interpretation(problem,interpretation);
2944 neg find hasElementInContainment(problem,interpretation); 2750 neg find hasElementInContainment(problem,interpretation);
2945 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2946 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2947 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 2753 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2948 find mayExist(problem, interpretation, newObject); 2754 find mayExist(problem, interpretation, newObject);
2949 neg find mustExist(problem, interpretation, newObject); 2755 neg find mustExist(problem, interpretation, newObject);
2950} 2756}
@@ -2976,34 +2782,6 @@ pattern createObject_UHFCommSubsystem_class(
2976 find mayExist(problem, interpretation, newObject); 2782 find mayExist(problem, interpretation, newObject);
2977 neg find mustExist(problem, interpretation, newObject); 2783 neg find mustExist(problem, interpretation, newObject);
2978} 2784}
2979pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2980 problem:LogicProblem, interpretation:PartialInterpretation,
2981 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2982 container:DefinedElement)
2983{
2984 find interpretation(problem,interpretation);
2985 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2986 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2987 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2988 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2989 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2990 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2991 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2992 find mustExist(problem, interpretation, container);
2993 neg find mustExist(problem, interpretation, newObject);
2994}
2995pattern createObject_XCommSubsystem_class_UndefinedPart(
2996 problem:LogicProblem, interpretation:PartialInterpretation,
2997 typeInterpretation:PartialComplexTypeInterpretation)
2998{
2999 find interpretation(problem,interpretation);
3000 neg find hasElementInContainment(problem,interpretation);
3001 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3002 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
3003 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
3004 find mayExist(problem, interpretation, newObject);
3005 neg find mustExist(problem, interpretation, newObject);
3006}
3007pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( 2785pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
3008 problem:LogicProblem, interpretation:PartialInterpretation, 2786 problem:LogicProblem, interpretation:PartialInterpretation,
3009 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
@@ -3032,71 +2810,71 @@ pattern createObject_CubeSat6U_class(
3032 find mayExist(problem, interpretation, newObject); 2810 find mayExist(problem, interpretation, newObject);
3033 neg find mustExist(problem, interpretation, newObject); 2811 neg find mustExist(problem, interpretation, newObject);
3034} 2812}
3035pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( 2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
3036 problem:LogicProblem, interpretation:PartialInterpretation, 2814 problem:LogicProblem, interpretation:PartialInterpretation,
3037 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3038 container:DefinedElement) 2816 container:DefinedElement)
3039{ 2817{
3040 find interpretation(problem,interpretation); 2818 find interpretation(problem,interpretation);
3041 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3042 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
3043 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3044 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); 2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
3045 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3046 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
3047 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); 2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3048 find mustExist(problem, interpretation, container); 2826 find mustExist(problem, interpretation, container);
3049 neg find mustExist(problem, interpretation, newObject); 2827 neg find mustExist(problem, interpretation, newObject);
3050} 2828}
3051pattern createObject_GroundStationNetwork_class_UndefinedPart( 2829pattern createObject_CubeSat3U_class(
3052 problem:LogicProblem, interpretation:PartialInterpretation, 2830 problem:LogicProblem, interpretation:PartialInterpretation,
3053 typeInterpretation:PartialComplexTypeInterpretation) 2831 typeInterpretation:PartialComplexTypeInterpretation)
3054{ 2832{
3055 find interpretation(problem,interpretation); 2833 find interpretation(problem,interpretation);
3056 neg find hasElementInContainment(problem,interpretation); 2834 neg find hasElementInContainment(problem,interpretation);
3057 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3058 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
3059 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
3060 find mayExist(problem, interpretation, newObject); 2838 find mayExist(problem, interpretation, newObject);
3061 neg find mustExist(problem, interpretation, newObject); 2839 neg find mustExist(problem, interpretation, newObject);
3062} 2840}
3063pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( 2841pattern createObject_InterferometryMission_class_UndefinedPart(
3064 problem:LogicProblem, interpretation:PartialInterpretation, 2842 problem:LogicProblem, interpretation:PartialInterpretation,
3065 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2843 typeInterpretation:PartialComplexTypeInterpretation)
3066 container:DefinedElement)
3067{ 2844{
3068 find interpretation(problem,interpretation); 2845 find interpretation(problem,interpretation);
2846 neg find hasElementInContainment(problem,interpretation);
3069 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3070 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); 2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
3071 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2849 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
3072 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 2850 find mayExist(problem, interpretation, newObject);
3073 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3074 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
3075 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3076 find mustExist(problem, interpretation, container);
3077 neg find mustExist(problem, interpretation, newObject); 2851 neg find mustExist(problem, interpretation, newObject);
3078} 2852}
3079pattern createObject_CubeSat3U_class( 2853pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
3080 problem:LogicProblem, interpretation:PartialInterpretation, 2854 problem:LogicProblem, interpretation:PartialInterpretation,
3081 typeInterpretation:PartialComplexTypeInterpretation) 2855 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2856 container:DefinedElement)
3082{ 2857{
3083 find interpretation(problem,interpretation); 2858 find interpretation(problem,interpretation);
3084 neg find hasElementInContainment(problem,interpretation);
3085 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2859 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3086 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); 2860 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
3087 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); 2861 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3088 find mayExist(problem, interpretation, newObject); 2862 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2863 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2864 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2865 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2866 find mustExist(problem, interpretation, container);
3089 neg find mustExist(problem, interpretation, newObject); 2867 neg find mustExist(problem, interpretation, newObject);
3090} 2868}
3091pattern createObject_InterferometryMission_class_UndefinedPart( 2869pattern createObject_InterferometryPayload_class(
3092 problem:LogicProblem, interpretation:PartialInterpretation, 2870 problem:LogicProblem, interpretation:PartialInterpretation,
3093 typeInterpretation:PartialComplexTypeInterpretation) 2871 typeInterpretation:PartialComplexTypeInterpretation)
3094{ 2872{
3095 find interpretation(problem,interpretation); 2873 find interpretation(problem,interpretation);
3096 neg find hasElementInContainment(problem,interpretation); 2874 neg find hasElementInContainment(problem,interpretation);
3097 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3098 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); 2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
3099 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); 2877 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
3100 find mayExist(problem, interpretation, newObject); 2878 find mayExist(problem, interpretation, newObject);
3101 neg find mustExist(problem, interpretation, newObject); 2879 neg find mustExist(problem, interpretation, newObject);
3102} 2880}
@@ -3108,149 +2886,115 @@ pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, i
3108 find interpretation(problem,interpretation); 2886 find interpretation(problem,interpretation);
3109 PartialInterpretation.newElements(interpretation,element); 2887 PartialInterpretation.newElements(interpretation,element);
3110 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); 2888 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3111 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3112 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); 2889 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3113 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2890 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3115 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 2891 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3116 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 2892 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2893 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2894 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2895}
2896pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2897 find interpretation(problem,interpretation);
2898 PartialInterpretation.newElements(interpretation,element);
2899 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3117 neg find mustInstanceOfPayload_class(problem,interpretation,element); 2900 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2904 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3118} 2905}
3119pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2906pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3120 find interpretation(problem,interpretation); 2907 find interpretation(problem,interpretation);
3121 PartialInterpretation.newElements(interpretation,element); 2908 PartialInterpretation.newElements(interpretation,element);
3122 find mayInstanceOfSmallSat_class(problem,interpretation,element); 2909 find mayInstanceOfSmallSat_class(problem,interpretation,element);
3123 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2910 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3124 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3125 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 2911 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3126 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 2912 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3127 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3128 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 2913 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3129 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3130}
3131pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3132 find interpretation(problem,interpretation);
3133 PartialInterpretation.newElements(interpretation,element);
3134 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
3135 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3136 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
3137 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 2914 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3138 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2915 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3139 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3140} 2916}
3141pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2917pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3142 find interpretation(problem,interpretation); 2918 find interpretation(problem,interpretation);
3143 PartialInterpretation.newElements(interpretation,element); 2919 PartialInterpretation.newElements(interpretation,element);
3144 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2920 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2921 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2922 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
3145 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2925 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3146 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3147 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 2926 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3148 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3149 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3150} 2927}
3151pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2928pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3152 find interpretation(problem,interpretation); 2929 find interpretation(problem,interpretation);
3153 PartialInterpretation.newElements(interpretation,element); 2930 PartialInterpretation.newElements(interpretation,element);
3154 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 2931 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3155 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2932 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3157 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3158 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 2933 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3159 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 2934 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
3160 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
3161 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3162}
3163pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3164 find interpretation(problem,interpretation);
3165 PartialInterpretation.newElements(interpretation,element);
3166 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3167 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2935 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2936 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
3168 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 2937 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3169 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3170 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3171 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
3172 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3173 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3174} 2938}
3175pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2939pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3176 find interpretation(problem,interpretation); 2940 find interpretation(problem,interpretation);
3177 PartialInterpretation.newElements(interpretation,element); 2941 PartialInterpretation.newElements(interpretation,element);
3178 find mayInstanceOfCubeSat6U_class(problem,interpretation,element); 2942 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
3179 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2943 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3180 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 2944 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3181 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3182 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3183 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 2945 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3184 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3185 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 2946 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3186 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3187}
3188pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3189 find interpretation(problem,interpretation);
3190 PartialInterpretation.newElements(interpretation,element);
3191 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3192 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3193 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
3194 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 2947 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3195 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2948 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3196 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); 2949 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3198} 2950}
3199pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2951pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3200 find interpretation(problem,interpretation); 2952 find interpretation(problem,interpretation);
3201 PartialInterpretation.newElements(interpretation,element); 2953 PartialInterpretation.newElements(interpretation,element);
3202 find mayInstanceOfCubeSat3U_class(problem,interpretation,element); 2954 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
3203 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2955 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3204 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 2956 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3205 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3206 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3207 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3208 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 2957 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2958 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2959 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2960 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3209 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 2961 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3210 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3211} 2962}
3212pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2963pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3213 find interpretation(problem,interpretation); 2964 find interpretation(problem,interpretation);
3214 PartialInterpretation.newElements(interpretation,element); 2965 PartialInterpretation.newElements(interpretation,element);
3215 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); 2966 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3216 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 2967 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3217 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 2968 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3218 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2969 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3219 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); 2970 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3220 neg find mustInstanceOfPayload_class(problem,interpretation,element); 2971}
2972pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2976 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2977 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2978 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2979 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
3221} 2980}
3222 2981
3223////////// 2982//////////
3224// 4.3 Relation refinement 2983// 4.3 Relation refinement
3225////////// 2984//////////
3226pattern refineRelation_source_reference_DirectedCommunicationLink( 2985pattern refineRelation_target_reference_CommSubsystem(
3227 problem:LogicProblem, interpretation:PartialInterpretation,
3228 relationIterpretation:PartialRelationInterpretation,
3229 from: DefinedElement, to: DefinedElement)
3230{
3231 find interpretation(problem,interpretation);
3232 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3233 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"source reference DirectedCommunicationLink");
3234 find mustExist(problem, interpretation, from);
3235 find mustExist(problem, interpretation, to);
3236 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,from);
3237 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
3238 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,from,to);
3239 neg find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,from,to);
3240}
3241pattern refineRelation_target_reference_DirectedCommunicationLink(
3242 problem:LogicProblem, interpretation:PartialInterpretation, 2986 problem:LogicProblem, interpretation:PartialInterpretation,
3243 relationIterpretation:PartialRelationInterpretation, 2987 relationIterpretation:PartialRelationInterpretation,
3244 from: DefinedElement, to: DefinedElement) 2988 from: DefinedElement, to: DefinedElement)
3245{ 2989{
3246 find interpretation(problem,interpretation); 2990 find interpretation(problem,interpretation);
3247 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3248 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference DirectedCommunicationLink"); 2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
3249 find mustExist(problem, interpretation, from); 2993 find mustExist(problem, interpretation, from);
3250 find mustExist(problem, interpretation, to); 2994 find mustExist(problem, interpretation, to);
3251 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,from); 2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
3252 find mustInstanceOfCommSubsystem_class(problem,interpretation,to); 2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
3253 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to); 2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
3254 neg find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to); 2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
3255} 2999}
3256 3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem
index 605a5a23..ab54ab85 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem
@@ -1,35 +1,34 @@
1<?xml version="1.0" encoding="ASCII"?> 1<?xml version="1.0" encoding="ASCII"?>
2<language:LogicProblem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" xmlns:language_1="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partial2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/partial2logicannotation" xmlns:viatra2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation"> 2<language:LogicProblem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" xmlns:language_1="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partial2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/partial2logicannotation" xmlns:viatra2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation">
3 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class" subtypes="//@types.1 //@types.16 //@types.17" isAbstract="true"/> 3 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class" subtypes="//@types.1 //@types.15 //@types.16" isAbstract="true"/>
4 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class" subtypes="//@types.18 //@types.19" supertypes="//@types.0" isAbstract="true"/> 4 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class" subtypes="//@types.17 //@types.18" supertypes="//@types.0" isAbstract="true"/>
5 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class" subtypes="//@types.3 //@types.4 //@types.20 //@types.21" isAbstract="true"/> 5 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class" subtypes="//@types.3 //@types.4 //@types.19 //@types.20" isAbstract="true"/>
6 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class" subtypes="//@types.22 //@types.23" supertypes="//@types.2" isAbstract="true"/> 6 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class" subtypes="//@types.21 //@types.22" supertypes="//@types.2" isAbstract="true"/>
7 <types xsi:type="language_1:TypeDeclaration" name="Spacecraft class" subtypes="//@types.11 //@types.12" supertypes="//@types.2 //@types.21" isAbstract="true"/> 7 <types xsi:type="language_1:TypeDeclaration" name="Spacecraft class" subtypes="//@types.10 //@types.11" supertypes="//@types.2 //@types.20" isAbstract="true"/>
8 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class" subtypes="//@types.13 //@types.14 //@types.15 //@types.24 //@types.25" isAbstract="true"/> 8 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class" subtypes="//@types.12 //@types.13 //@types.14 //@types.23 //@types.24" isAbstract="true"/>
9 <types xsi:type="language_1:TypeDeclaration" name="DirectedCommunicationLink class"/> 9 <types xsi:type="language_1:TypeDeclaration" name="Payload class" subtypes="//@types.7" isAbstract="true"/>
10 <types xsi:type="language_1:TypeDeclaration" name="Payload class" subtypes="//@types.8" isAbstract="true"/> 10 <types xsi:type="language_1:TypeDeclaration" name="InterferometryPayload class" supertypes="//@types.6"/>
11 <types xsi:type="language_1:TypeDeclaration" name="InterferometryPayload class" supertypes="//@types.7"/> 11 <types xsi:type="language_1:TypeDeclaration" name="CubeSat3U class" supertypes="//@types.11"/>
12 <types xsi:type="language_1:TypeDeclaration" name="CubeSat3U class" supertypes="//@types.12"/> 12 <types xsi:type="language_1:TypeDeclaration" name="CubeSat6U class" supertypes="//@types.11"/>
13 <types xsi:type="language_1:TypeDeclaration" name="CubeSat6U class" supertypes="//@types.12"/>
14 <types xsi:type="language_1:TypeDeclaration" name="SmallSat class" supertypes="//@types.4"/> 13 <types xsi:type="language_1:TypeDeclaration" name="SmallSat class" supertypes="//@types.4"/>
15 <types xsi:type="language_1:TypeDeclaration" name="CubeSat class" subtypes="//@types.9 //@types.10" supertypes="//@types.4" isAbstract="true"/> 14 <types xsi:type="language_1:TypeDeclaration" name="CubeSat class" subtypes="//@types.8 //@types.9" supertypes="//@types.4" isAbstract="true"/>
16 <types xsi:type="language_1:TypeDeclaration" name="UHFCommSubsystem class" supertypes="//@types.5 //@types.25"/> 15 <types xsi:type="language_1:TypeDeclaration" name="UHFCommSubsystem class" supertypes="//@types.5 //@types.24"/>
17 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class" subtypes="//@types.26 //@types.27" supertypes="//@types.5" isAbstract="true"/> 16 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class" subtypes="//@types.25 //@types.26" supertypes="//@types.5" isAbstract="true"/>
18 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class" subtypes="//@types.28 //@types.29" supertypes="//@types.5" isAbstract="true"/> 17 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class" subtypes="//@types.27 //@types.28" supertypes="//@types.5" isAbstract="true"/>
19 <types xsi:type="language_1:TypeDefinition" name="ConstellationMission class DefinedPart" subtypes="//@types.18" supertypes="//@types.0" isAbstract="true" elements="//@elements.0"/> 18 <types xsi:type="language_1:TypeDefinition" name="ConstellationMission class DefinedPart" subtypes="//@types.17" supertypes="//@types.0" isAbstract="true" elements="//@elements.0"/>
20 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class UndefinedPart" subtypes="//@types.19" supertypes="//@types.0" isAbstract="true"/> 19 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class UndefinedPart" subtypes="//@types.18" supertypes="//@types.0" isAbstract="true"/>
21 <types xsi:type="language_1:TypeDefinition" name="InterferometryMission class DefinedPart" supertypes="//@types.1 //@types.16" elements="//@elements.0"/> 20 <types xsi:type="language_1:TypeDefinition" name="InterferometryMission class DefinedPart" supertypes="//@types.1 //@types.15" elements="//@elements.0"/>
22 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class UndefinedPart" supertypes="//@types.1 //@types.17"/> 21 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class UndefinedPart" supertypes="//@types.1 //@types.16"/>
23 <types xsi:type="language_1:TypeDefinition" name="CommunicatingElement class DefinedPart" subtypes="//@types.22" supertypes="//@types.2" isAbstract="true" elements="//@elements.1"/> 22 <types xsi:type="language_1:TypeDefinition" name="CommunicatingElement class DefinedPart" subtypes="//@types.21" supertypes="//@types.2" isAbstract="true" elements="//@elements.1"/>
24 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class UndefinedPart" subtypes="//@types.23 //@types.4" supertypes="//@types.2" isAbstract="true"/> 23 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class UndefinedPart" subtypes="//@types.22 //@types.4" supertypes="//@types.2" isAbstract="true"/>
25 <types xsi:type="language_1:TypeDefinition" name="GroundStationNetwork class DefinedPart" supertypes="//@types.3 //@types.20" elements="//@elements.1"/> 24 <types xsi:type="language_1:TypeDefinition" name="GroundStationNetwork class DefinedPart" supertypes="//@types.3 //@types.19" elements="//@elements.1"/>
26 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class UndefinedPart" supertypes="//@types.3 //@types.21"/> 25 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class UndefinedPart" supertypes="//@types.3 //@types.20"/>
27 <types xsi:type="language_1:TypeDefinition" name="CommSubsystem class DefinedPart" subtypes="//@types.26 //@types.28" supertypes="//@types.5" isAbstract="true" elements="//@elements.2 //@elements.3"/> 26 <types xsi:type="language_1:TypeDefinition" name="CommSubsystem class DefinedPart" subtypes="//@types.25 //@types.27" supertypes="//@types.5" isAbstract="true" elements="//@elements.2 //@elements.3"/>
28 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class UndefinedPart" subtypes="//@types.13 //@types.27 //@types.29" supertypes="//@types.5" isAbstract="true"/> 27 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class UndefinedPart" subtypes="//@types.12 //@types.26 //@types.28" supertypes="//@types.5" isAbstract="true"/>
29 <types xsi:type="language_1:TypeDefinition" name="XCommSubsystem class DefinedPart" supertypes="//@types.14 //@types.24" elements="//@elements.2"/> 28 <types xsi:type="language_1:TypeDefinition" name="XCommSubsystem class DefinedPart" supertypes="//@types.13 //@types.23" elements="//@elements.2"/>
30 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class UndefinedPart" supertypes="//@types.14 //@types.25"/> 29 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class UndefinedPart" supertypes="//@types.13 //@types.24"/>
31 <types xsi:type="language_1:TypeDefinition" name="KaCommSubsystem class DefinedPart" supertypes="//@types.15 //@types.24" elements="//@elements.3"/> 30 <types xsi:type="language_1:TypeDefinition" name="KaCommSubsystem class DefinedPart" supertypes="//@types.14 //@types.23" elements="//@elements.3"/>
32 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class UndefinedPart" supertypes="//@types.15 //@types.25"/> 31 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class UndefinedPart" supertypes="//@types.14 //@types.24"/>
33 <assertions name="lowerMultiplicity groundStationNetwork ConstellationMission" annotations="//@annotations.0"> 32 <assertions name="lowerMultiplicity groundStationNetwork ConstellationMission" annotations="//@annotations.0">
34 <value xsi:type="language_1:Forall"> 33 <value xsi:type="language_1:Forall">
35 <quantifiedVariables name="src"> 34 <quantifiedVariables name="src">
@@ -590,10 +589,10 @@
590 </expression> 589 </expression>
591 </value> 590 </value>
592 </assertions> 591 </assertions>
593 <assertions name="upperMultiplicity communicationLink CommunicatingElement" annotations="//@annotations.6"> 592 <assertions name="upperMultiplicity payload Spacecraft" annotations="//@annotations.6">
594 <value xsi:type="language_1:Forall"> 593 <value xsi:type="language_1:Forall">
595 <quantifiedVariables name="src"> 594 <quantifiedVariables name="src">
596 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 595 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
597 </quantifiedVariables> 596 </quantifiedVariables>
598 <quantifiedVariables name="trg 1"> 597 <quantifiedVariables name="trg 1">
599 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 598 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -621,16 +620,16 @@
621 </expression> 620 </expression>
622 </value> 621 </value>
623 </assertions> 622 </assertions>
624 <assertions name="upperMultiplicity payload Spacecraft" annotations="//@annotations.7"> 623 <assertions name="upperMultiplicity target CommSubsystem" annotations="//@annotations.7">
625 <value xsi:type="language_1:Forall"> 624 <value xsi:type="language_1:Forall">
626 <quantifiedVariables name="src"> 625 <quantifiedVariables name="src">
627 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 626 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
628 </quantifiedVariables> 627 </quantifiedVariables>
629 <quantifiedVariables name="trg 1"> 628 <quantifiedVariables name="trg 1">
630 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/> 629 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
631 </quantifiedVariables> 630 </quantifiedVariables>
632 <quantifiedVariables name="trg 2"> 631 <quantifiedVariables name="trg 2">
633 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/> 632 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
634 </quantifiedVariables> 633 </quantifiedVariables>
635 <expression xsi:type="language_1:Impl"> 634 <expression xsi:type="language_1:Impl">
636 <leftOperand xsi:type="language_1:And"> 635 <leftOperand xsi:type="language_1:And">
@@ -652,111 +651,13 @@
652 </expression> 651 </expression>
653 </value> 652 </value>
654 </assertions> 653 </assertions>
655 <assertions name="lowerMultiplicity source DirectedCommunicationLink" annotations="//@annotations.8"> 654 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.8">
656 <value xsi:type="language_1:Forall">
657 <quantifiedVariables name="src">
658 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
659 </quantifiedVariables>
660 <expression xsi:type="language_1:Exists">
661 <quantifiedVariables name="trg 1">
662 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
663 </quantifiedVariables>
664 <expression xsi:type="language_1:And">
665 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
666 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/>
667 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@expression/@quantifiedVariables.0"/>
668 </operands>
669 </expression>
670 </expression>
671 </value>
672 </assertions>
673 <assertions name="upperMultiplicity source DirectedCommunicationLink" annotations="//@annotations.9">
674 <value xsi:type="language_1:Forall">
675 <quantifiedVariables name="src">
676 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
677 </quantifiedVariables>
678 <quantifiedVariables name="trg 1">
679 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
680 </quantifiedVariables>
681 <quantifiedVariables name="trg 2">
682 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
683 </quantifiedVariables>
684 <expression xsi:type="language_1:Impl">
685 <leftOperand xsi:type="language_1:And">
686 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
687 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/>
688 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/>
689 </operands>
690 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
691 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/>
692 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/>
693 </operands>
694 </leftOperand>
695 <rightOperand xsi:type="language_1:Not">
696 <operand xsi:type="language_1:Distinct">
697 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/>
698 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/>
699 </operand>
700 </rightOperand>
701 </expression>
702 </value>
703 </assertions>
704 <assertions name="lowerMultiplicity target DirectedCommunicationLink" annotations="//@annotations.10">
705 <value xsi:type="language_1:Forall">
706 <quantifiedVariables name="src">
707 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
708 </quantifiedVariables>
709 <expression xsi:type="language_1:Exists">
710 <quantifiedVariables name="trg 1">
711 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
712 </quantifiedVariables>
713 <expression xsi:type="language_1:And">
714 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
715 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
716 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@expression/@quantifiedVariables.0"/>
717 </operands>
718 </expression>
719 </expression>
720 </value>
721 </assertions>
722 <assertions name="upperMultiplicity target DirectedCommunicationLink" annotations="//@annotations.11">
723 <value xsi:type="language_1:Forall">
724 <quantifiedVariables name="src">
725 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
726 </quantifiedVariables>
727 <quantifiedVariables name="trg 1">
728 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
729 </quantifiedVariables>
730 <quantifiedVariables name="trg 2">
731 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
732 </quantifiedVariables>
733 <expression xsi:type="language_1:Impl">
734 <leftOperand xsi:type="language_1:And">
735 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
736 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
737 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/>
738 </operands>
739 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
740 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
741 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.2"/>
742 </operands>
743 </leftOperand>
744 <rightOperand xsi:type="language_1:Not">
745 <operand xsi:type="language_1:Distinct">
746 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/>
747 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.2"/>
748 </operand>
749 </rightOperand>
750 </expression>
751 </value>
752 </assertions>
753 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.12">
754 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 655 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
755 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 656 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
756 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 657 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
757 </value> 658 </value>
758 </assertions> 659 </assertions>
759 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.13"> 660 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.9">
760 <value xsi:type="language_1:And"> 661 <value xsi:type="language_1:And">
761 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 662 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
762 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 663 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
@@ -768,98 +669,98 @@
768 </operands> 669 </operands>
769 </value> 670 </value>
770 </assertions> 671 </assertions>
771 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.35"> 672 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.32">
772 <value xsi:type="language_1:Forall"> 673 <value xsi:type="language_1:Forall">
773 <quantifiedVariables name="p0"> 674 <quantifiedVariables name="p0">
774 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 675 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
775 </quantifiedVariables> 676 </quantifiedVariables>
776 <expression xsi:type="language_1:Not"> 677 <expression xsi:type="language_1:Not">
777 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 678 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
778 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/> 679 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
779 </operand> 680 </operand>
780 </expression> 681 </expression>
781 </value> 682 </value>
782 </assertions> 683 </assertions>
783 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.36"> 684 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.33">
784 <value xsi:type="language_1:Forall"> 685 <value xsi:type="language_1:Forall">
785 <quantifiedVariables name="p0"> 686 <quantifiedVariables name="p0">
786 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 687 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
787 </quantifiedVariables> 688 </quantifiedVariables>
788 <expression xsi:type="language_1:Not"> 689 <expression xsi:type="language_1:Not">
789 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 690 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
790 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/> 691 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
791 </operand> 692 </operand>
792 </expression> 693 </expression>
793 </value> 694 </value>
794 </assertions> 695 </assertions>
795 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.37"> 696 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.34">
796 <value xsi:type="language_1:Forall"> 697 <value xsi:type="language_1:Forall">
797 <quantifiedVariables name="p0"> 698 <quantifiedVariables name="p0">
798 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 699 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
799 </quantifiedVariables> 700 </quantifiedVariables>
800 <expression xsi:type="language_1:Not"> 701 <expression xsi:type="language_1:Not">
801 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11"> 702 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
802 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/> 703 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/>
803 </operand> 704 </operand>
804 </expression> 705 </expression>
805 </value> 706 </value>
806 </assertions> 707 </assertions>
807 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.38"> 708 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.35">
808 <value xsi:type="language_1:Forall"> 709 <value xsi:type="language_1:Forall">
809 <quantifiedVariables name="p0"> 710 <quantifiedVariables name="p0">
810 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 711 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
811 </quantifiedVariables> 712 </quantifiedVariables>
812 <expression xsi:type="language_1:Not"> 713 <expression xsi:type="language_1:Not">
813 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12"> 714 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11">
814 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/> 715 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
815 </operand> 716 </operand>
816 </expression> 717 </expression>
817 </value> 718 </value>
818 </assertions> 719 </assertions>
819 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.39"> 720 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.36">
820 <value xsi:type="language_1:Forall"> 721 <value xsi:type="language_1:Forall">
821 <quantifiedVariables name="p0"> 722 <quantifiedVariables name="p0">
822 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 723 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
823 </quantifiedVariables> 724 </quantifiedVariables>
824 <expression xsi:type="language_1:Not"> 725 <expression xsi:type="language_1:Not">
825 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19"> 726 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
826 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.0"/> 727 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
827 </operand> 728 </operand>
828 </expression> 729 </expression>
829 </value> 730 </value>
830 </assertions> 731 </assertions>
831 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.40"> 732 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.37">
832 <value xsi:type="language_1:Forall"> 733 <value xsi:type="language_1:Forall">
833 <quantifiedVariables name="p0"> 734 <quantifiedVariables name="p0">
834 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 735 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
835 </quantifiedVariables> 736 </quantifiedVariables>
836 <expression xsi:type="language_1:Not"> 737 <expression xsi:type="language_1:Not">
837 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22"> 738 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21">
838 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.19/@value/@quantifiedVariables.0"/> 739 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
839 </operand> 740 </operand>
840 </expression> 741 </expression>
841 </value> 742 </value>
842 </assertions> 743 </assertions>
843 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.41"> 744 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.38">
844 <value xsi:type="language_1:Forall"> 745 <value xsi:type="language_1:Forall">
845 <quantifiedVariables name="p0"> 746 <quantifiedVariables name="p0">
846 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 747 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
847 </quantifiedVariables> 748 </quantifiedVariables>
848 <expression xsi:type="language_1:Not"> 749 <expression xsi:type="language_1:Not">
849 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23"> 750 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22">
850 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.20/@value/@quantifiedVariables.0"/> 751 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
851 </operand> 752 </operand>
852 </expression> 753 </expression>
853 </value> 754 </value>
854 </assertions> 755 </assertions>
855 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.42"> 756 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.39">
856 <value xsi:type="language_1:Forall"> 757 <value xsi:type="language_1:Forall">
857 <quantifiedVariables name="p0"> 758 <quantifiedVariables name="p0">
858 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 759 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
859 </quantifiedVariables> 760 </quantifiedVariables>
860 <expression xsi:type="language_1:Not"> 761 <expression xsi:type="language_1:Not">
861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26"> 762 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25">
862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.21/@value/@quantifiedVariables.0"/> 763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
863 </operand> 764 </operand>
864 </expression> 765 </expression>
865 </value> 766 </value>
@@ -876,64 +777,76 @@
876 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 777 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
877 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 778 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
878 </relations> 779 </relations>
879 <relations xsi:type="language_1:RelationDeclaration" name="communicationLink reference CommunicatingElement">
880 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
881 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
882 </relations>
883 <relations xsi:type="language_1:RelationDeclaration" name="payload reference Spacecraft"> 780 <relations xsi:type="language_1:RelationDeclaration" name="payload reference Spacecraft">
884 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 781 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
885 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
886 </relations>
887 <relations xsi:type="language_1:RelationDeclaration" name="source reference DirectedCommunicationLink">
888 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 782 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
889 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
890 </relations> 783 </relations>
891 <relations xsi:type="language_1:RelationDeclaration" name="target reference DirectedCommunicationLink"> 784 <relations xsi:type="language_1:RelationDeclaration" name="target reference CommSubsystem">
892 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 785 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
893 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 786 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
894 </relations> 787 </relations>
895 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.14"> 788 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.10">
896 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 789 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
897 <variables name="parameter Link"> 790 <variables name="parameter Element">
898 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 791 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
899 </variables> 792 </variables>
900 <value xsi:type="language_1:Or"> 793 <value xsi:type="language_1:Or">
901 <operands xsi:type="language_1:Exists"> 794 <operands xsi:type="language_1:Exists">
902 <quantifiedVariables name="variable Element"> 795 <quantifiedVariables name="variable Comm1">
903 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
904 </quantifiedVariables>
905 <quantifiedVariables name="variable SourceComm">
906 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 796 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
907 </quantifiedVariables> 797 </quantifiedVariables>
908 <quantifiedVariables name="variable SourceElement"> 798 <quantifiedVariables name="variable Comm2">
909 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 799 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
910 </quantifiedVariables> 800 </quantifiedVariables>
911 <expression xsi:type="language_1:And"> 801 <expression xsi:type="language_1:And">
912 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> 802 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
913 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.0"/> 803 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@variables.0"/>
914 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/> 804 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.0"/>
915 </operands> 805 </operands>
916 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 806 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
917 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/> 807 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@variables.0"/>
918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/> 808 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.1"/>
919 </operands> 809 </operands>
810 <operands xsi:type="language_1:Distinct">
811 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.0"/>
812 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.1"/>
813 </operands>
814 </expression>
815 </operands>
816 </value>
817 </relations>
818 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem" annotations="//@annotations.11">
819 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
820 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
821 <variables name="parameter Element">
822 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
823 </variables>
824 <variables name="parameter Comm">
825 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
826 </variables>
827 <value xsi:type="language_1:Or">
828 <operands xsi:type="language_1:Exists">
829 <quantifiedVariables name="variable 0">
830 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
831 </quantifiedVariables>
832 <expression xsi:type="language_1:And">
920 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 833 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
921 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.2"/> 834 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.0"/>
922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/> 835 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/>
836 </operands>
837 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
838 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/>
839 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@value/@operands.0/@quantifiedVariables.0"/>
923 </operands> 840 </operands>
924 <operands xsi:type="language_1:InstanceOf"> 841 <operands xsi:type="language_1:InstanceOf">
925 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/> 842 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@value/@operands.0/@quantifiedVariables.0"/>
926 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 843 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
927 </operands> 844 </operands>
928 <operands xsi:type="language_1:Distinct">
929 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.0"/>
930 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.2"/>
931 </operands>
932 </expression> 845 </expression>
933 </operands> 846 </operands>
934 </value> 847 </value>
935 </relations> 848 </relations>
936 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.15"> 849 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.12">
937 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 850 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
938 <variables name="parameter Mission"> 851 <variables name="parameter Mission">
939 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 852 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -941,18 +854,18 @@
941 <value xsi:type="language_1:Or"> 854 <value xsi:type="language_1:Or">
942 <operands xsi:type="language_1:And"> 855 <operands xsi:type="language_1:And">
943 <operands xsi:type="language_1:InstanceOf"> 856 <operands xsi:type="language_1:InstanceOf">
944 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/> 857 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
945 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 858 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
946 </operands> 859 </operands>
947 <operands xsi:type="language_1:Not"> 860 <operands xsi:type="language_1:Not">
948 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
949 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/> 862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
950 </operand> 863 </operand>
951 </operands> 864 </operands>
952 </operands> 865 </operands>
953 </value> 866 </value>
954 </relations> 867 </relations>
955 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.16"> 868 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.13">
956 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 869 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
957 <variables name="parameter Mission"> 870 <variables name="parameter Mission">
958 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 871 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -967,26 +880,26 @@
967 </quantifiedVariables> 880 </quantifiedVariables>
968 <expression xsi:type="language_1:And"> 881 <expression xsi:type="language_1:And">
969 <operands xsi:type="language_1:InstanceOf"> 882 <operands xsi:type="language_1:InstanceOf">
970 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/> 883 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
971 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 884 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
972 </operands> 885 </operands>
973 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 886 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
974 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/> 887 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
975 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/> 888 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/>
976 </operands> 889 </operands>
977 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 890 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
978 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/> 891 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
979 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.1"/> 892 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.1"/>
980 </operands> 893 </operands>
981 <operands xsi:type="language_1:Distinct"> 894 <operands xsi:type="language_1:Distinct">
982 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/> 895 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/>
983 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.1"/> 896 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.1"/>
984 </operands> 897 </operands>
985 </expression> 898 </expression>
986 </operands> 899 </operands>
987 </value> 900 </value>
988 </relations> 901 </relations>
989 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.17"> 902 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.14">
990 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 903 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
991 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 904 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
992 <variables name="parameter Mission"> 905 <variables name="parameter Mission">
@@ -998,26 +911,26 @@
998 <value xsi:type="language_1:Or"> 911 <value xsi:type="language_1:Or">
999 <operands xsi:type="language_1:Exists"> 912 <operands xsi:type="language_1:Exists">
1000 <quantifiedVariables name="variable Payload"> 913 <quantifiedVariables name="variable Payload">
1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/> 914 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
1002 </quantifiedVariables> 915 </quantifiedVariables>
1003 <expression xsi:type="language_1:And"> 916 <expression xsi:type="language_1:And">
1004 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 917 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/> 918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/>
1006 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.1"/> 919 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.1"/>
1007 </operands> 920 </operands>
1008 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> 921 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
1009 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.1"/> 922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.1"/>
1010 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/> 923 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/>
1011 </operands> 924 </operands>
1012 <operands xsi:type="language_1:InstanceOf"> 925 <operands xsi:type="language_1:InstanceOf">
1013 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/> 926 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/>
1014 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/> 927 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
1015 </operands> 928 </operands>
1016 </expression> 929 </expression>
1017 </operands> 930 </operands>
1018 </value> 931 </value>
1019 </relations> 932 </relations>
1020 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.18"> 933 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.15">
1021 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 934 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1022 <variables name="parameter Spacecraft"> 935 <variables name="parameter Spacecraft">
1023 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 936 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1032,32 +945,32 @@
1032 </quantifiedVariables> 945 </quantifiedVariables>
1033 <expression xsi:type="language_1:And"> 946 <expression xsi:type="language_1:And">
1034 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 947 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1035 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/> 948 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
1036 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/> 949 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1037 </operands> 950 </operands>
1038 <operands xsi:type="language_1:InstanceOf"> 951 <operands xsi:type="language_1:InstanceOf">
1039 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/> 952 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1040 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 953 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1041 </operands> 954 </operands>
1042 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 955 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1043 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/> 956 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
1044 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 957 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1045 </operands> 958 </operands>
1046 <operands xsi:type="language_1:InstanceOf"> 959 <operands xsi:type="language_1:InstanceOf">
1047 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 960 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1048 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 961 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1049 </operands> 962 </operands>
1050 <operands xsi:type="language_1:Not"> 963 <operands xsi:type="language_1:Not">
1051 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 964 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
1052 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 965 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1053 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/> 966 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1054 </operand> 967 </operand>
1055 </operands> 968 </operands>
1056 </expression> 969 </expression>
1057 </operands> 970 </operands>
1058 </value> 971 </value>
1059 </relations> 972 </relations>
1060 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.19"> 973 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.16">
1061 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 974 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1062 <variables name="parameter Spacecraft"> 975 <variables name="parameter Spacecraft">
1063 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 976 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1072,32 +985,32 @@
1072 </quantifiedVariables> 985 </quantifiedVariables>
1073 <expression xsi:type="language_1:And"> 986 <expression xsi:type="language_1:And">
1074 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 987 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1075 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/> 988 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
1076 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 989 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1077 </operands> 990 </operands>
1078 <operands xsi:type="language_1:InstanceOf"> 991 <operands xsi:type="language_1:InstanceOf">
1079 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 992 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1080 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 993 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1081 </operands> 994 </operands>
1082 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 995 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1083 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/> 996 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
1084 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 997 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1085 </operands> 998 </operands>
1086 <operands xsi:type="language_1:InstanceOf"> 999 <operands xsi:type="language_1:InstanceOf">
1087 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 1000 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1088 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1089 </operands> 1002 </operands>
1090 <operands xsi:type="language_1:Not"> 1003 <operands xsi:type="language_1:Not">
1091 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> 1004 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12">
1092 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1093 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 1006 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1094 </operand> 1007 </operand>
1095 </operands> 1008 </operands>
1096 </expression> 1009 </expression>
1097 </operands> 1010 </operands>
1098 </value> 1011 </value>
1099 </relations> 1012 </relations>
1100 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.20"> 1013 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.17">
1101 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1014 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1102 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1015 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1103 <variables name="parameter From"> 1016 <variables name="parameter From">
@@ -1108,11 +1021,11 @@
1108 </variables> 1021 </variables>
1109 <value xsi:type="language_1:Or"> 1022 <value xsi:type="language_1:Or">
1110 <operands xsi:type="language_1:And"> 1023 <operands xsi:type="language_1:And">
1111 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.14"/> 1024 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.13"/>
1112 </operands> 1025 </operands>
1113 </value> 1026 </value>
1114 </relations> 1027 </relations>
1115 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.21"> 1028 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.18">
1116 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1029 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1117 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1030 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1118 <variables name="parameter From"> 1031 <variables name="parameter From">
@@ -1123,43 +1036,43 @@
1123 </variables> 1036 </variables>
1124 <value xsi:type="language_1:Or"> 1037 <value xsi:type="language_1:Or">
1125 <operands xsi:type="language_1:And"> 1038 <operands xsi:type="language_1:And">
1126 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 1039 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1127 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1040 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1128 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> 1041 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1129 </operands> 1042 </operands>
1130 <operands xsi:type="language_1:Not"> 1043 <operands xsi:type="language_1:Not">
1131 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17"> 1044 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16">
1132 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1045 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1133 </operand> 1046 </operand>
1134 </operands> 1047 </operands>
1135 </operands> 1048 </operands>
1136 <operands xsi:type="language_1:And"> 1049 <operands xsi:type="language_1:And">
1137 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 1050 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1138 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1051 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1139 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> 1052 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1140 </operands> 1053 </operands>
1141 <operands xsi:type="language_1:InstanceOf"> 1054 <operands xsi:type="language_1:InstanceOf">
1142 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1055 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1143 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1056 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1144 </operands> 1057 </operands>
1145 </operands> 1058 </operands>
1146 <operands xsi:type="language_1:And"> 1059 <operands xsi:type="language_1:And">
1147 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 1060 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1148 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1061 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1149 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> 1062 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1150 </operands> 1063 </operands>
1151 <operands xsi:type="language_1:InstanceOf"> 1064 <operands xsi:type="language_1:InstanceOf">
1152 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1065 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1153 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1066 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1154 </operands> 1067 </operands>
1155 <operands xsi:type="language_1:InstanceOf"> 1068 <operands xsi:type="language_1:InstanceOf">
1156 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> 1069 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1157 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1070 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1158 </operands> 1071 </operands>
1159 </operands> 1072 </operands>
1160 </value> 1073 </value>
1161 </relations> 1074 </relations>
1162 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.22"> 1075 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.19">
1163 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1076 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1164 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1077 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1165 <variables name="parameter From"> 1078 <variables name="parameter From">
@@ -1178,26 +1091,26 @@
1178 </quantifiedVariables> 1091 </quantifiedVariables>
1179 <expression xsi:type="language_1:And"> 1092 <expression xsi:type="language_1:And">
1180 <operands xsi:type="language_1:InstanceOf"> 1093 <operands xsi:type="language_1:InstanceOf">
1181 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1094 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1182 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1095 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1183 </operands> 1096 </operands>
1184 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1097 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1185 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1098 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1186 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1099 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1187 </operands> 1100 </operands>
1188 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1101 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1189 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/> 1102 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
1190 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1103 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1191 </operands> 1104 </operands>
1192 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16"> 1105 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1193 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1106 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1194 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1107 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1195 </operands> 1108 </operands>
1196 </expression> 1109 </expression>
1197 </operands> 1110 </operands>
1198 </value> 1111 </value>
1199 </relations> 1112 </relations>
1200 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem" annotations="//@annotations.23"> 1113 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem" annotations="//@annotations.20">
1201 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1114 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1202 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1115 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1203 <variables name="parameter From"> 1116 <variables name="parameter From">
@@ -1209,79 +1122,79 @@
1209 <value xsi:type="language_1:Or"> 1122 <value xsi:type="language_1:Or">
1210 <operands xsi:type="language_1:And"> 1123 <operands xsi:type="language_1:And">
1211 <operands xsi:type="language_1:InstanceOf"> 1124 <operands xsi:type="language_1:InstanceOf">
1212 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1125 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1213 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1126 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1214 </operands> 1127 </operands>
1215 <operands xsi:type="language_1:InstanceOf"> 1128 <operands xsi:type="language_1:InstanceOf">
1216 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/> 1129 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1217 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1130 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1218 </operands> 1131 </operands>
1219 </operands> 1132 </operands>
1220 <operands xsi:type="language_1:And"> 1133 <operands xsi:type="language_1:And">
1221 <operands xsi:type="language_1:InstanceOf"> 1134 <operands xsi:type="language_1:InstanceOf">
1222 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1135 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1223 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1136 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1224 </operands> 1137 </operands>
1225 <operands xsi:type="language_1:InstanceOf"> 1138 <operands xsi:type="language_1:InstanceOf">
1226 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/> 1139 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1227 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1140 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1228 </operands> 1141 </operands>
1229 </operands> 1142 </operands>
1230 <operands xsi:type="language_1:And"> 1143 <operands xsi:type="language_1:And">
1231 <operands xsi:type="language_1:InstanceOf"> 1144 <operands xsi:type="language_1:InstanceOf">
1232 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1145 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1233 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1146 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1234 </operands> 1147 </operands>
1235 <operands xsi:type="language_1:InstanceOf"> 1148 <operands xsi:type="language_1:InstanceOf">
1236 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/> 1149 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1237 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1150 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1238 </operands> 1151 </operands>
1239 </operands> 1152 </operands>
1240 </value> 1153 </value>
1241 </relations> 1154 </relations>
1242 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.24"> 1155 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.21">
1243 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1156 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1244 <variables name="parameter Sat"> 1157 <variables name="parameter Sat">
1245 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1158 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1246 </variables> 1159 </variables>
1247 <value xsi:type="language_1:Or"> 1160 <value xsi:type="language_1:Or">
1248 <operands xsi:type="language_1:And"> 1161 <operands xsi:type="language_1:And">
1249 <operands xsi:type="language_1:InstanceOf"> 1162 <operands xsi:type="language_1:InstanceOf">
1250 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1163 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1251 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1164 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1252 </operands> 1165 </operands>
1253 </operands> 1166 </operands>
1254 </value> 1167 </value>
1255 </relations> 1168 </relations>
1256 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U" annotations="//@annotations.25"> 1169 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U" annotations="//@annotations.22">
1257 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/> 1170 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1258 <variables name="parameter Sat"> 1171 <variables name="parameter Sat">
1259 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/> 1172 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1260 </variables> 1173 </variables>
1261 <value xsi:type="language_1:Or"> 1174 <value xsi:type="language_1:Or">
1262 <operands xsi:type="language_1:And"> 1175 <operands xsi:type="language_1:And">
1263 <operands xsi:type="language_1:InstanceOf"> 1176 <operands xsi:type="language_1:InstanceOf">
1264 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/> 1177 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1265 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/> 1178 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1266 </operands> 1179 </operands>
1267 </operands> 1180 </operands>
1268 </value> 1181 </value>
1269 </relations> 1182 </relations>
1270 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.26"> 1183 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.23">
1271 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1184 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1272 <variables name="parameter Element"> 1185 <variables name="parameter Element">
1273 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1186 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1274 </variables> 1187 </variables>
1275 <value xsi:type="language_1:Or"> 1188 <value xsi:type="language_1:Or">
1276 <operands xsi:type="language_1:And"> 1189 <operands xsi:type="language_1:And">
1277 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 1190 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
1278 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1191 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1279 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1192 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1280 </operands> 1193 </operands>
1281 </operands> 1194 </operands>
1282 </value> 1195 </value>
1283 </relations> 1196 </relations>
1284 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.27"> 1197 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.24">
1285 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1198 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1286 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1199 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1287 <variables name="parameter Source"> 1200 <variables name="parameter Source">
@@ -1292,11 +1205,11 @@
1292 </variables> 1205 </variables>
1293 <value xsi:type="language_1:Or"> 1206 <value xsi:type="language_1:Or">
1294 <operands xsi:type="language_1:And"> 1207 <operands xsi:type="language_1:And">
1295 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.21"/> 1208 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.20"/>
1296 </operands> 1209 </operands>
1297 </value> 1210 </value>
1298 </relations> 1211 </relations>
1299 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.28"> 1212 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.25">
1300 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1213 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1301 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1214 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1302 <variables name="parameter Source"> 1215 <variables name="parameter Source">
@@ -1307,9 +1220,6 @@
1307 </variables> 1220 </variables>
1308 <value xsi:type="language_1:Or"> 1221 <value xsi:type="language_1:Or">
1309 <operands xsi:type="language_1:Exists"> 1222 <operands xsi:type="language_1:Exists">
1310 <quantifiedVariables name="variable Link">
1311 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1312 </quantifiedVariables>
1313 <quantifiedVariables name="variable SourceSubsystem"> 1223 <quantifiedVariables name="variable SourceSubsystem">
1314 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1224 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1315 </quantifiedVariables> 1225 </quantifiedVariables>
@@ -1317,87 +1227,65 @@
1317 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1227 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1318 </quantifiedVariables> 1228 </quantifiedVariables>
1319 <expression xsi:type="language_1:And"> 1229 <expression xsi:type="language_1:And">
1320 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1230 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1321 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/> 1231 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
1322 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/> 1232 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1323 </operands>
1324 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1325 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1326 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/>
1327 </operands> 1233 </operands>
1328 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1234 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1329 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/> 1235 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
1330 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/> 1236 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
1331 </operands>
1332 <operands xsi:type="language_1:InstanceOf">
1333 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/>
1334 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1335 </operands> 1237 </operands>
1336 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1238 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1337 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/> 1239 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.1"/>
1338 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/> 1240 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1339 </operands> 1241 </operands>
1340 <operands xsi:type="language_1:InstanceOf"> 1242 <operands xsi:type="language_1:InstanceOf">
1341 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/> 1243 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1342 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1244 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1343 </operands> 1245 </operands>
1344 </expression> 1246 </expression>
1345 </operands> 1247 </operands>
1346 </value> 1248 </value>
1347 </relations> 1249 </relations>
1348 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.29"> 1250 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.26">
1349 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1251 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1350 <variables name="parameter Link"> 1252 <variables name="parameter SourceSubsystem">
1351 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1253 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1352 </variables> 1254 </variables>
1353 <value xsi:type="language_1:Or"> 1255 <value xsi:type="language_1:Or">
1354 <operands xsi:type="language_1:Exists"> 1256 <operands xsi:type="language_1:Exists">
1355 <quantifiedVariables name="variable SourceSubsystem">
1356 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1357 </quantifiedVariables>
1358 <quantifiedVariables name="variable TargetSubsystem"> 1257 <quantifiedVariables name="variable TargetSubsystem">
1359 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1258 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1360 </quantifiedVariables> 1259 </quantifiedVariables>
1361 <expression xsi:type="language_1:And"> 1260 <expression xsi:type="language_1:And">
1362 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1261 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1363 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> 1262 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
1364 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> 1263 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1365 </operands>
1366 <operands xsi:type="language_1:InstanceOf">
1367 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1368 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1369 </operands>
1370 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1371 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1372 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1373 </operands> 1264 </operands>
1374 <operands xsi:type="language_1:InstanceOf"> 1265 <operands xsi:type="language_1:InstanceOf">
1375 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1266 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1376 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1267 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1377 </operands> 1268 </operands>
1378 <operands xsi:type="language_1:Not"> 1269 <operands xsi:type="language_1:Not">
1379 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16"> 1270 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1380 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> 1271 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
1381 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1272 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1382 </operand> 1273 </operand>
1383 </operands> 1274 </operands>
1384 </expression> 1275 </expression>
1385 </operands> 1276 </operands>
1386 </value> 1277 </value>
1387 </relations> 1278 </relations>
1388 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.30"> 1279 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.27">
1389 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1280 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1390 <variables name="parameter Sat"> 1281 <variables name="parameter Sat">
1391 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1282 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1392 </variables> 1283 </variables>
1393 <value xsi:type="language_1:Or"> 1284 <value xsi:type="language_1:Or">
1394 <operands xsi:type="language_1:Exists"> 1285 <operands xsi:type="language_1:Exists">
1395 <quantifiedVariables name="variable SourceComm"> 1286 <quantifiedVariables name="variable SourceComm">
1396 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1287 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1397 </quantifiedVariables> 1288 </quantifiedVariables>
1398 <quantifiedVariables name="variable Link">
1399 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1400 </quantifiedVariables>
1401 <quantifiedVariables name="variable TargetComm"> 1289 <quantifiedVariables name="variable TargetComm">
1402 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1290 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1403 </quantifiedVariables> 1291 </quantifiedVariables>
@@ -1406,62 +1294,54 @@
1406 </quantifiedVariables> 1294 </quantifiedVariables>
1407 <expression xsi:type="language_1:And"> 1295 <expression xsi:type="language_1:And">
1408 <operands xsi:type="language_1:InstanceOf"> 1296 <operands xsi:type="language_1:InstanceOf">
1409 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/> 1297 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1410 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1298 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1411 </operands> 1299 </operands>
1412 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1300 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1413 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/> 1301 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1414 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/> 1302 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1415 </operands> 1303 </operands>
1416 <operands xsi:type="language_1:Not"> 1304 <operands xsi:type="language_1:Not">
1417 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24"> 1305 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
1418 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/> 1306 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1419 </operand> 1307 </operand>
1420 </operands> 1308 </operands>
1421 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1309 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1422 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/> 1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1423 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/> 1311 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1424 </operands>
1425 <operands xsi:type="language_1:InstanceOf">
1426 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1427 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1428 </operands>
1429 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1430 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1431 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1432 </operands> 1312 </operands>
1433 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1313 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1434 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.3"/> 1314 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1435 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/> 1315 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1436 </operands> 1316 </operands>
1437 <operands xsi:type="language_1:InstanceOf"> 1317 <operands xsi:type="language_1:InstanceOf">
1438 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/> 1318 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1439 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1319 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1440 </operands> 1320 </operands>
1441 <operands xsi:type="language_1:Not"> 1321 <operands xsi:type="language_1:Not">
1442 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25"> 1322 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24">
1443 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.3"/> 1323 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1444 </operand> 1324 </operand>
1445 </operands> 1325 </operands>
1446 </expression> 1326 </expression>
1447 </operands> 1327 </operands>
1448 </value> 1328 </value>
1449 </relations> 1329 </relations>
1450 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.31"> 1330 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.28">
1451 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1331 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1452 <variables name="parameter Comm"> 1332 <variables name="parameter Comm">
1453 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1333 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1454 </variables> 1334 </variables>
1455 <value xsi:type="language_1:Or"> 1335 <value xsi:type="language_1:Or">
1456 <operands xsi:type="language_1:And"> 1336 <operands xsi:type="language_1:And">
1457 <operands xsi:type="language_1:InstanceOf"> 1337 <operands xsi:type="language_1:InstanceOf">
1458 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/> 1338 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1459 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1339 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1460 </operands> 1340 </operands>
1461 </operands> 1341 </operands>
1462 </value> 1342 </value>
1463 </relations> 1343 </relations>
1464 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.32"> 1344 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.29">
1465 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1345 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1466 <variables name="parameter Network"> 1346 <variables name="parameter Network">
1467 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1347 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
@@ -1469,13 +1349,13 @@
1469 <value xsi:type="language_1:Or"> 1349 <value xsi:type="language_1:Or">
1470 <operands xsi:type="language_1:And"> 1350 <operands xsi:type="language_1:And">
1471 <operands xsi:type="language_1:InstanceOf"> 1351 <operands xsi:type="language_1:InstanceOf">
1472 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/> 1352 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1473 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1353 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1474 </operands> 1354 </operands>
1475 </operands> 1355 </operands>
1476 </value> 1356 </value>
1477 </relations> 1357 </relations>
1478 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.33"> 1358 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.30">
1479 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1359 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1480 <variables name="parameter Spacecraft"> 1360 <variables name="parameter Spacecraft">
1481 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1361 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1483,49 +1363,49 @@
1483 <value xsi:type="language_1:Or"> 1363 <value xsi:type="language_1:Or">
1484 <operands xsi:type="language_1:Exists"> 1364 <operands xsi:type="language_1:Exists">
1485 <quantifiedVariables name="variable Comm"> 1365 <quantifiedVariables name="variable Comm">
1486 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1366 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1487 </quantifiedVariables> 1367 </quantifiedVariables>
1488 <expression xsi:type="language_1:And"> 1368 <expression xsi:type="language_1:And">
1489 <operands xsi:type="language_1:InstanceOf"> 1369 <operands xsi:type="language_1:InstanceOf">
1490 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> 1370 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1491 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1371 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1492 </operands> 1372 </operands>
1493 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1373 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1494 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> 1374 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1495 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/> 1375 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1496 </operands> 1376 </operands>
1497 <operands xsi:type="language_1:InstanceOf"> 1377 <operands xsi:type="language_1:InstanceOf">
1498 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/> 1378 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1499 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1379 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1500 </operands> 1380 </operands>
1501 <operands xsi:type="language_1:Not"> 1381 <operands xsi:type="language_1:Not">
1502 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27"> 1382 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26">
1503 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> 1383 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1504 </operand> 1384 </operand>
1505 </operands> 1385 </operands>
1506 </expression> 1386 </expression>
1507 </operands> 1387 </operands>
1508 </value> 1388 </value>
1509 </relations> 1389 </relations>
1510 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.34"> 1390 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.31">
1511 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1391 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1512 <variables name="parameter Sat"> 1392 <variables name="parameter Sat">
1513 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1393 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1514 </variables> 1394 </variables>
1515 <value xsi:type="language_1:Or"> 1395 <value xsi:type="language_1:Or">
1516 <operands xsi:type="language_1:And"> 1396 <operands xsi:type="language_1:And">
1517 <operands xsi:type="language_1:InstanceOf"> 1397 <operands xsi:type="language_1:InstanceOf">
1518 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/> 1398 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1519 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1399 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1520 </operands> 1400 </operands>
1521 </operands> 1401 </operands>
1522 </value> 1402 </value>
1523 </relations> 1403 </relations>
1524 <elements name="o 1" definedInType="//@types.16 //@types.18"/> 1404 <elements name="o 1" definedInType="//@types.15 //@types.17"/>
1525 <elements name="o 2" definedInType="//@types.20 //@types.22"/> 1405 <elements name="o 2" definedInType="//@types.19 //@types.21"/>
1526 <elements name="o 3" definedInType="//@types.24 //@types.26"/> 1406 <elements name="o 3" definedInType="//@types.23 //@types.25"/>
1527 <elements name="o 4" definedInType="//@types.24 //@types.28"/> 1407 <elements name="o 4" definedInType="//@types.23 //@types.27"/>
1528 <containmentHierarchies typesOrderedInHierarchy="//@types.3 //@types.1 //@types.10 //@types.5 //@types.6 //@types.9 //@types.0 //@types.13 //@types.15 //@types.7 //@types.12 //@types.2 //@types.11 //@types.8 //@types.4 //@types.14 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25 //@types.26 //@types.27 //@types.28 //@types.29" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.3 //@relations.4"/> 1408 <containmentHierarchies typesOrderedInHierarchy="//@types.2 //@types.0 //@types.7 //@types.3 //@types.5 //@types.6 //@types.9 //@types.13 //@types.8 //@types.14 //@types.4 //@types.1 //@types.12 //@types.10 //@types.11 //@types.15 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25 //@types.26 //@types.27 //@types.28" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.3"/>
1529 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/> 1409 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/>
1530 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/> 1410 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/>
1531 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/> 1411 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/>
@@ -1534,39 +1414,36 @@
1534 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/> 1414 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/>
1535 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/> 1415 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/>
1536 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/> 1416 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/>
1537 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.8" relation="//@relations.5" lower="1"/> 1417 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.8" targetRelation="//@relations.0"/>
1538 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.9" relation="//@relations.5" upper="1"/> 1418 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.9" targetRelation="//@relations.2"/>
1539 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.10" relation="//@relations.6" lower="1"/> 1419 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.5" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
1540 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.11" relation="//@relations.6" upper="1"/> 1420 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.6" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingCommSubsystem"/>
1541 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.12" targetRelation="//@relations.0"/> 1421 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.7" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
1542 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.13" targetRelation="//@relations.2"/> 1422 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.8" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/>
1543 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.7" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> 1423 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.9" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/>
1544 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.8" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 1424 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
1545 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.9" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/> 1425 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
1546 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/> 1426 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/>
1547 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> 1427 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/>
1548 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> 1428 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/>
1549 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/> 1429 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"/>
1550 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/> 1430 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/>
1551 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/> 1431 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U"/>
1552 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"/> 1432 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
1553 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/> 1433 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/>
1554 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U"/> 1434 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/>
1555 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/> 1435 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
1556 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/> 1436 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
1557 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/> 1437 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/>
1558 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/> 1438 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/>
1559 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/> 1439 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
1560 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/> 1440 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
1561 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/> 1441 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.10" query="//@annotations.10"/>
1562 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/> 1442 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.11" query="//@annotations.12"/>
1563 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/> 1443 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.12" query="//@annotations.15"/>
1564 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.14" query="//@annotations.14"/> 1444 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.13" query="//@annotations.16"/>
1565 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.15" query="//@annotations.15"/> 1445 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.14" query="//@annotations.23"/>
1566 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.16" query="//@annotations.18"/> 1446 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.15" query="//@annotations.26"/>
1567 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.17" query="//@annotations.19"/> 1447 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.16" query="//@annotations.27"/>
1568 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.18" query="//@annotations.26"/> 1448 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.17" query="//@annotations.30"/>
1569 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.19" query="//@annotations.29"/>
1570 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.20" query="//@annotations.30"/>
1571 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.21" query="//@annotations.33"/>
1572</language:LogicProblem> 1449</language:LogicProblem>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel
index 326d09ce..9f14379f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="ASCII"?> 1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" maxNewElements="10"> 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="32" maxNewElements="64">
3 <problem href="outputs/debug/generation.logicproblem#/"/> 3 <problem href="outputs/debug/generation.logicproblem#/"/>
4 <partialrelationinterpretation> 4 <partialrelationinterpretation>
5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/> 5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/>
@@ -38,16 +38,6 @@
38 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.0"/> 38 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.1"/> 39 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.1"/>
40 </partialrelationinterpretation> 40 </partialrelationinterpretation>
41 <partialrelationinterpretation>
42 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.5"/>
43 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.5/@parameters.0"/>
44 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.5/@parameters.1"/>
45 </partialrelationinterpretation>
46 <partialrelationinterpretation>
47 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.6"/>
48 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.6/@parameters.0"/>
49 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.6/@parameters.1"/>
50 </partialrelationinterpretation>
51 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/> 41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
52 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/> 42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
53 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/> 43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
@@ -70,7 +60,7 @@
70 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/> 60 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
71 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/> 61 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/>
72 </partialtypeinterpratation> 62 </partialtypeinterpratation>
73 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
74 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/> 64 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/>
75 </partialtypeinterpratation> 65 </partialtypeinterpratation>
76 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5"> 66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
@@ -81,55 +71,52 @@
81 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6"> 71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
82 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.6"/> 72 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.6"/>
83 </partialtypeinterpratation> 73 </partialtypeinterpratation>
84 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7"> 74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
85 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.7"/> 75 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.7"/>
86 </partialtypeinterpratation> 76 </partialtypeinterpratation>
87 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.11"> 77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
88 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/> 78 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/>
89 </partialtypeinterpratation> 79 </partialtypeinterpratation>
90 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.16 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
91 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/> 81 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/>
92 </partialtypeinterpratation> 82 </partialtypeinterpratation>
93 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.16 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/> 84 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/>
95 </partialtypeinterpratation> 85 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
97 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/> 87 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/>
98 </partialtypeinterpratation> 88 </partialtypeinterpratation>
99 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
100 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/> 90 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/>
101 </partialtypeinterpratation> 91 </partialtypeinterpratation>
102 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.24"> 92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
103 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.13"/> 94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.13"/>
104 </partialtypeinterpratation> 95 </partialtypeinterpratation>
105 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9"> 96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
106 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
107 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.14"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.9">
110 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/> 97 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
111 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.15"/> 98 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.14"/>
112 </partialtypeinterpratation> 99 </partialtypeinterpratation>
113 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.4"> 100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
114 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.17"/> 101 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.16"/>
115 </partialtypeinterpratation> 102 </partialtypeinterpratation>
116 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.20"> 103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
117 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.19"/> 104 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.18"/>
118 </partialtypeinterpratation> 105 </partialtypeinterpratation>
119 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.6"> 106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
120 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.21"/> 107 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.20"/>
121 </partialtypeinterpratation> 108 </partialtypeinterpratation>
122 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
123 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.23"/> 110 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.22"/>
124 </partialtypeinterpratation> 111 </partialtypeinterpratation>
125 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.9"> 112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
126 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.25"/> 113 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.24"/>
127 </partialtypeinterpratation> 114 </partialtypeinterpratation>
128 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.24"> 115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
129 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.27"/> 116 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.26"/>
130 </partialtypeinterpratation> 117 </partialtypeinterpratation>
131 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.22" supertypeInterpretation="//@partialtypeinterpratation.19 //@partialtypeinterpratation.9 //@partialtypeinterpratation.24"> 118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
132 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.29"/> 119 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.28"/>
133 </partialtypeinterpratation> 120 </partialtypeinterpratation>
134 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/> 121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
135 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/> 122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
@@ -157,5 +144,4 @@
157 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/> 144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
158 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/> 145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
159 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/> 146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
160 <scopes targetTypeInterpretation="//@partialtypeinterpratation.26"/>
161</partialinterpretation:PartialInterpretation> 147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel
new file mode 100644
index 00000000..9f14379f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel
@@ -0,0 +1,147 @@
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="32" maxNewElements="64">
3 <problem href="outputs/debug/generation.logicproblem#/"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="outputs/debug/generation.logicproblem#//@elements.0"/>
8 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="outputs/debug/generation.logicproblem#//@elements.1"/>
22 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="outputs/debug/generation.logicproblem#//@elements.1"/>
26 <param2 href="outputs/debug/generation.logicproblem#//@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="outputs/debug/generation.logicproblem#//@elements.0"/>
49 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="outputs/debug/generation.logicproblem#//@elements.0"/>
53 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
57 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
61 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
68 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
69 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
98 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel
new file mode 100644
index 00000000..01b90968
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel
@@ -0,0 +1,147 @@
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="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel
new file mode 100644
index 00000000..01b90968
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel
@@ -0,0 +1,147 @@
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="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel
new file mode 100644
index 00000000..01b90968
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel
@@ -0,0 +1,147 @@
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="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel
new file mode 100644
index 00000000..01b90968
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel
@@ -0,0 +1,147 @@
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="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>