aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-05-07 11:54:19 -0400
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-05-07 11:54:19 -0400
commit436ec038c24c42e615feb22a0fed029494bc74ea (patch)
treef3783961c521b73201a9d079be78feb26e8a285c
parentTry to restructure satellite case study (diff)
downloadVIATRA-Generator-436ec038c24c42e615feb22a0fed029494bc74ea.tar.gz
VIATRA-Generator-436ec038c24c42e615feb22a0fed029494bc74ea.tar.zst
VIATRA-Generator-436ec038c24c42e615feb22a0fed029494bc74ea.zip
Revert "Try to restructure satellite case study"
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java27
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java162
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java91
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java78
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java59
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java12
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java19
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java30
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird143
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated582
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem876
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml12
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java (renamed from Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/MultipleCommunicationLinks.java)273
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java705
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java25
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java50
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java9
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql18
57 files changed, 1096 insertions, 2311 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig
index 726f838f..1942980c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig
@@ -7,7 +7,7 @@ generate {
7 partial-model = { "inputs/SatelliteInstance.xmi"} 7 partial-model = { "inputs/SatelliteInstance.xmi"}
8 solver = ViatraSolver 8 solver = ViatraSolver
9 scope = { 9 scope = {
10 #node += 8..16 10 #node += 16..32
11 } 11 }
12 12
13 config = { 13 config = {
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java
index 1cee0c0d..072a9705 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java
@@ -15,7 +15,6 @@ import org.eclipse.emf.ecore.EObject;
15 * <ul> 15 * <ul>
16 * <li>{@link satellite.CommSubsystem#getBand <em>Band</em>}</li> 16 * <li>{@link satellite.CommSubsystem#getBand <em>Band</em>}</li>
17 * <li>{@link satellite.CommSubsystem#getGain <em>Gain</em>}</li> 17 * <li>{@link satellite.CommSubsystem#getGain <em>Gain</em>}</li>
18 * <li>{@link satellite.CommSubsystem#getCommunicationLink <em>Communication Link</em>}</li>
19 * </ul> 18 * </ul>
20 * 19 *
21 * @see satellite.SatellitePackage#getCommSubsystem() 20 * @see satellite.SatellitePackage#getCommSubsystem()
@@ -81,30 +80,4 @@ public interface CommSubsystem extends EObject {
81 */ 80 */
82 void setGain(AntennaGain value); 81 void setGain(AntennaGain value);
83 82
84 /**
85 * Returns the value of the '<em><b>Communication Link</b></em>' containment reference.
86 * <!-- begin-user-doc -->
87 * <p>
88 * If the meaning of the '<em>Communication Link</em>' containment reference isn't clear,
89 * there really should be more of a description here...
90 * </p>
91 * <!-- end-user-doc -->
92 * @return the value of the '<em>Communication Link</em>' containment reference.
93 * @see #setCommunicationLink(DirectedCommunicationLink)
94 * @see satellite.SatellitePackage#getCommSubsystem_CommunicationLink()
95 * @model containment="true"
96 * @generated
97 */
98 DirectedCommunicationLink getCommunicationLink();
99
100 /**
101 * Sets the value of the '{@link satellite.CommSubsystem#getCommunicationLink <em>Communication Link</em>}' containment reference.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @param value the new value of the '<em>Communication Link</em>' containment reference.
105 * @see #getCommunicationLink()
106 * @generated
107 */
108 void setCommunicationLink(DirectedCommunicationLink value);
109
110} // CommSubsystem 83} // CommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java
index 6e12fd9f..b96b281f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java
@@ -41,18 +41,29 @@ public interface CommunicatingElement extends EObject {
41 EList<CommSubsystem> getCommSubsystem(); 41 EList<CommSubsystem> getCommSubsystem();
42 42
43 /** 43 /**
44 * Returns the value of the '<em><b>Communication Link</b></em>' reference. 44 * Returns the value of the '<em><b>Communication Link</b></em>' containment reference.
45 * <!-- begin-user-doc --> 45 * <!-- begin-user-doc -->
46 * <p> 46 * <p>
47 * If the meaning of the '<em>Communication Link</em>' containment reference isn't clear, 47 * If the meaning of the '<em>Communication Link</em>' containment reference isn't clear,
48 * there really should be more of a description here... 48 * there really should be more of a description here...
49 * </p> 49 * </p>
50 * <!-- end-user-doc --> 50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Communication Link</em>' reference. 51 * @return the value of the '<em>Communication Link</em>' containment reference.
52 * @see #setCommunicationLink(DirectedCommunicationLink)
52 * @see satellite.SatellitePackage#getCommunicatingElement_CommunicationLink() 53 * @see satellite.SatellitePackage#getCommunicatingElement_CommunicationLink()
53 * @model transient="true" changeable="false" volatile="true" derived="true" 54 * @model containment="true"
54 * @generated 55 * @generated
55 */ 56 */
56 DirectedCommunicationLink getCommunicationLink(); 57 DirectedCommunicationLink getCommunicationLink();
57 58
59 /**
60 * Sets the value of the '{@link satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Communication Link</em>' containment reference.
64 * @see #getCommunicationLink()
65 * @generated
66 */
67 void setCommunicationLink(DirectedCommunicationLink value);
68
58} // CommunicatingElement 69} // CommunicatingElement
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java
deleted file mode 100644
index a38926d4..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java
+++ /dev/null
@@ -1,16 +0,0 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Cube Sat</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getCubeSat()
12 * @model abstract="true"
13 * @generated
14 */
15public interface CubeSat extends Spacecraft {
16} // CubeSat
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java
index c68bf52c..5758e165 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java
@@ -12,5 +12,5 @@ package satellite;
12 * @model 12 * @model
13 * @generated 13 * @generated
14 */ 14 */
15public interface CubeSat3U extends CubeSat { 15public interface CubeSat3U extends Spacecraft {
16} // CubeSat3U 16} // CubeSat3U
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java
index 5ade601a..a8d8830f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java
@@ -12,5 +12,5 @@ package satellite;
12 * @model 12 * @model
13 * @generated 13 * @generated
14 */ 14 */
15public interface CubeSat6U extends CubeSat { 15public interface CubeSat6U extends Spacecraft {
16} // CubeSat6U 16} // CubeSat6U
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java
index 6e8723ae..f0d80ac2 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java
@@ -179,7 +179,7 @@ public interface SatellitePackage extends EPackage {
179 int COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = 0; 179 int COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = 0;
180 180
181 /** 181 /**
182 * The feature id for the '<em><b>Communication Link</b></em>' reference. 182 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
183 * <!-- begin-user-doc --> 183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc --> 184 * <!-- end-user-doc -->
185 * @generated 185 * @generated
@@ -225,7 +225,7 @@ public interface SatellitePackage extends EPackage {
225 int GROUND_STATION_NETWORK__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM; 225 int GROUND_STATION_NETWORK__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
226 226
227 /** 227 /**
228 * The feature id for the '<em><b>Communication Link</b></em>' reference. 228 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
229 * <!-- begin-user-doc --> 229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc --> 230 * <!-- end-user-doc -->
231 * @generated 231 * @generated
@@ -271,7 +271,7 @@ public interface SatellitePackage extends EPackage {
271 int SPACECRAFT__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM; 271 int SPACECRAFT__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
272 272
273 /** 273 /**
274 * The feature id for the '<em><b>Communication Link</b></em>' reference. 274 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
275 * <!-- begin-user-doc --> 275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc --> 276 * <!-- end-user-doc -->
277 * @generated 277 * @generated
@@ -344,22 +344,13 @@ public interface SatellitePackage extends EPackage {
344 int COMM_SUBSYSTEM__GAIN = 1; 344 int COMM_SUBSYSTEM__GAIN = 1;
345 345
346 /** 346 /**
347 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
348 * <!-- begin-user-doc -->
349 * <!-- end-user-doc -->
350 * @generated
351 * @ordered
352 */
353 int COMM_SUBSYSTEM__COMMUNICATION_LINK = 2;
354
355 /**
356 * The number of structural features of the '<em>Comm Subsystem</em>' class. 347 * The number of structural features of the '<em>Comm Subsystem</em>' class.
357 * <!-- begin-user-doc --> 348 * <!-- begin-user-doc -->
358 * <!-- end-user-doc --> 349 * <!-- end-user-doc -->
359 * @generated 350 * @generated
360 * @ordered 351 * @ordered
361 */ 352 */
362 int COMM_SUBSYSTEM_FEATURE_COUNT = 3; 353 int COMM_SUBSYSTEM_FEATURE_COUNT = 2;
363 354
364 /** 355 /**
365 * The number of operations of the '<em>Comm Subsystem</em>' class. 356 * The number of operations of the '<em>Comm Subsystem</em>' class.
@@ -473,70 +464,6 @@ public interface SatellitePackage extends EPackage {
473 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0; 464 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0;
474 465
475 /** 466 /**
476 * The meta object id for the '{@link satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
477 * <!-- begin-user-doc -->
478 * <!-- end-user-doc -->
479 * @see satellite.impl.CubeSatImpl
480 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
481 * @generated
482 */
483 int CUBE_SAT = 12;
484
485 /**
486 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @generated
490 * @ordered
491 */
492 int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
493
494 /**
495 * The feature id for the '<em><b>Communication Link</b></em>' reference.
496 * <!-- begin-user-doc -->
497 * <!-- end-user-doc -->
498 * @generated
499 * @ordered
500 */
501 int CUBE_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK;
502
503 /**
504 * The feature id for the '<em><b>Payload</b></em>' containment reference.
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @generated
508 * @ordered
509 */
510 int CUBE_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
511
512 /**
513 * The feature id for the '<em><b>Kind</b></em>' attribute.
514 * <!-- begin-user-doc -->
515 * <!-- end-user-doc -->
516 * @generated
517 * @ordered
518 */
519 int CUBE_SAT__KIND = SPACECRAFT__KIND;
520
521 /**
522 * The number of structural features of the '<em>Cube Sat</em>' class.
523 * <!-- begin-user-doc -->
524 * <!-- end-user-doc -->
525 * @generated
526 * @ordered
527 */
528 int CUBE_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
529
530 /**
531 * The number of operations of the '<em>Cube Sat</em>' class.
532 * <!-- begin-user-doc -->
533 * <!-- end-user-doc -->
534 * @generated
535 * @ordered
536 */
537 int CUBE_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
538
539 /**
540 * The meta object id for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class. 467 * The meta object id for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
541 * <!-- begin-user-doc --> 468 * <!-- begin-user-doc -->
542 * <!-- end-user-doc --> 469 * <!-- end-user-doc -->
@@ -553,16 +480,16 @@ public interface SatellitePackage extends EPackage {
553 * @generated 480 * @generated
554 * @ordered 481 * @ordered
555 */ 482 */
556 int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM; 483 int CUBE_SAT3_U__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
557 484
558 /** 485 /**
559 * The feature id for the '<em><b>Communication Link</b></em>' reference. 486 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
560 * <!-- begin-user-doc --> 487 * <!-- begin-user-doc -->
561 * <!-- end-user-doc --> 488 * <!-- end-user-doc -->
562 * @generated 489 * @generated
563 * @ordered 490 * @ordered
564 */ 491 */
565 int CUBE_SAT3_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK; 492 int CUBE_SAT3_U__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK;
566 493
567 /** 494 /**
568 * The feature id for the '<em><b>Payload</b></em>' containment reference. 495 * The feature id for the '<em><b>Payload</b></em>' containment reference.
@@ -571,7 +498,7 @@ public interface SatellitePackage extends EPackage {
571 * @generated 498 * @generated
572 * @ordered 499 * @ordered
573 */ 500 */
574 int CUBE_SAT3_U__PAYLOAD = CUBE_SAT__PAYLOAD; 501 int CUBE_SAT3_U__PAYLOAD = SPACECRAFT__PAYLOAD;
575 502
576 /** 503 /**
577 * The feature id for the '<em><b>Kind</b></em>' attribute. 504 * The feature id for the '<em><b>Kind</b></em>' attribute.
@@ -580,7 +507,7 @@ public interface SatellitePackage extends EPackage {
580 * @generated 507 * @generated
581 * @ordered 508 * @ordered
582 */ 509 */
583 int CUBE_SAT3_U__KIND = CUBE_SAT__KIND; 510 int CUBE_SAT3_U__KIND = SPACECRAFT__KIND;
584 511
585 /** 512 /**
586 * The number of structural features of the '<em>Cube Sat3 U</em>' class. 513 * The number of structural features of the '<em>Cube Sat3 U</em>' class.
@@ -589,7 +516,7 @@ public interface SatellitePackage extends EPackage {
589 * @generated 516 * @generated
590 * @ordered 517 * @ordered
591 */ 518 */
592 int CUBE_SAT3_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0; 519 int CUBE_SAT3_U_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
593 520
594 /** 521 /**
595 * The number of operations of the '<em>Cube Sat3 U</em>' class. 522 * The number of operations of the '<em>Cube Sat3 U</em>' class.
@@ -598,7 +525,7 @@ public interface SatellitePackage extends EPackage {
598 * @generated 525 * @generated
599 * @ordered 526 * @ordered
600 */ 527 */
601 int CUBE_SAT3_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0; 528 int CUBE_SAT3_U_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
602 529
603 /** 530 /**
604 * The meta object id for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class. 531 * The meta object id for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
@@ -617,16 +544,16 @@ public interface SatellitePackage extends EPackage {
617 * @generated 544 * @generated
618 * @ordered 545 * @ordered
619 */ 546 */
620 int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM; 547 int CUBE_SAT6_U__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
621 548
622 /** 549 /**
623 * The feature id for the '<em><b>Communication Link</b></em>' reference. 550 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
624 * <!-- begin-user-doc --> 551 * <!-- begin-user-doc -->
625 * <!-- end-user-doc --> 552 * <!-- end-user-doc -->
626 * @generated 553 * @generated
627 * @ordered 554 * @ordered
628 */ 555 */
629 int CUBE_SAT6_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK; 556 int CUBE_SAT6_U__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK;
630 557
631 /** 558 /**
632 * The feature id for the '<em><b>Payload</b></em>' containment reference. 559 * The feature id for the '<em><b>Payload</b></em>' containment reference.
@@ -635,7 +562,7 @@ public interface SatellitePackage extends EPackage {
635 * @generated 562 * @generated
636 * @ordered 563 * @ordered
637 */ 564 */
638 int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD; 565 int CUBE_SAT6_U__PAYLOAD = SPACECRAFT__PAYLOAD;
639 566
640 /** 567 /**
641 * The feature id for the '<em><b>Kind</b></em>' attribute. 568 * The feature id for the '<em><b>Kind</b></em>' attribute.
@@ -644,7 +571,7 @@ public interface SatellitePackage extends EPackage {
644 * @generated 571 * @generated
645 * @ordered 572 * @ordered
646 */ 573 */
647 int CUBE_SAT6_U__KIND = CUBE_SAT__KIND; 574 int CUBE_SAT6_U__KIND = SPACECRAFT__KIND;
648 575
649 /** 576 /**
650 * The number of structural features of the '<em>Cube Sat6 U</em>' class. 577 * The number of structural features of the '<em>Cube Sat6 U</em>' class.
@@ -653,7 +580,7 @@ public interface SatellitePackage extends EPackage {
653 * @generated 580 * @generated
654 * @ordered 581 * @ordered
655 */ 582 */
656 int CUBE_SAT6_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0; 583 int CUBE_SAT6_U_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
657 584
658 /** 585 /**
659 * The number of operations of the '<em>Cube Sat6 U</em>' class. 586 * The number of operations of the '<em>Cube Sat6 U</em>' class.
@@ -662,7 +589,7 @@ public interface SatellitePackage extends EPackage {
662 * @generated 589 * @generated
663 * @ordered 590 * @ordered
664 */ 591 */
665 int CUBE_SAT6_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0; 592 int CUBE_SAT6_U_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
666 593
667 /** 594 /**
668 * The meta object id for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class. 595 * The meta object id for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
@@ -684,7 +611,7 @@ public interface SatellitePackage extends EPackage {
684 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; 611 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
685 612
686 /** 613 /**
687 * The feature id for the '<em><b>Communication Link</b></em>' reference. 614 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
688 * <!-- begin-user-doc --> 615 * <!-- begin-user-doc -->
689 * <!-- end-user-doc --> 616 * <!-- end-user-doc -->
690 * @generated 617 * @generated
@@ -736,7 +663,7 @@ public interface SatellitePackage extends EPackage {
736 * @see satellite.impl.SatellitePackageImpl#getTransceiverBand() 663 * @see satellite.impl.SatellitePackageImpl#getTransceiverBand()
737 * @generated 664 * @generated
738 */ 665 */
739 int TRANSCEIVER_BAND = 13; 666 int TRANSCEIVER_BAND = 12;
740 667
741 /** 668 /**
742 * The meta object id for the '{@link satellite.AntennaGain <em>Antenna Gain</em>}' enum. 669 * The meta object id for the '{@link satellite.AntennaGain <em>Antenna Gain</em>}' enum.
@@ -746,7 +673,7 @@ public interface SatellitePackage extends EPackage {
746 * @see satellite.impl.SatellitePackageImpl#getAntennaGain() 673 * @see satellite.impl.SatellitePackageImpl#getAntennaGain()
747 * @generated 674 * @generated
748 */ 675 */
749 int ANTENNA_GAIN = 14; 676 int ANTENNA_GAIN = 13;
750 677
751 /** 678 /**
752 * The meta object id for the '{@link satellite.SpacecraftKind <em>Spacecraft Kind</em>}' enum. 679 * The meta object id for the '{@link satellite.SpacecraftKind <em>Spacecraft Kind</em>}' enum.
@@ -756,7 +683,7 @@ public interface SatellitePackage extends EPackage {
756 * @see satellite.impl.SatellitePackageImpl#getSpacecraftKind() 683 * @see satellite.impl.SatellitePackageImpl#getSpacecraftKind()
757 * @generated 684 * @generated
758 */ 685 */
759 int SPACECRAFT_KIND = 15; 686 int SPACECRAFT_KIND = 14;
760 687
761 /** 688 /**
762 * Returns the meta object for class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'. 689 * Returns the meta object for class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'.
@@ -833,10 +760,10 @@ public interface SatellitePackage extends EPackage {
833 EReference getCommunicatingElement_CommSubsystem(); 760 EReference getCommunicatingElement_CommSubsystem();
834 761
835 /** 762 /**
836 * Returns the meta object for the reference '{@link satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}'. 763 * Returns the meta object for the containment reference '{@link satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}'.
837 * <!-- begin-user-doc --> 764 * <!-- begin-user-doc -->
838 * <!-- end-user-doc --> 765 * <!-- end-user-doc -->
839 * @return the meta object for the reference '<em>Communication Link</em>'. 766 * @return the meta object for the containment reference '<em>Communication Link</em>'.
840 * @see satellite.CommunicatingElement#getCommunicationLink() 767 * @see satellite.CommunicatingElement#getCommunicationLink()
841 * @see #getCommunicatingElement() 768 * @see #getCommunicatingElement()
842 * @generated 769 * @generated
@@ -918,17 +845,6 @@ public interface SatellitePackage extends EPackage {
918 EAttribute getCommSubsystem_Gain(); 845 EAttribute getCommSubsystem_Gain();
919 846
920 /** 847 /**
921 * Returns the meta object for the containment reference '{@link satellite.CommSubsystem#getCommunicationLink <em>Communication Link</em>}'.
922 * <!-- begin-user-doc -->
923 * <!-- end-user-doc -->
924 * @return the meta object for the containment reference '<em>Communication Link</em>'.
925 * @see satellite.CommSubsystem#getCommunicationLink()
926 * @see #getCommSubsystem()
927 * @generated
928 */
929 EReference getCommSubsystem_CommunicationLink();
930
931 /**
932 * Returns the meta object for class '{@link satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'. 848 * Returns the meta object for class '{@link satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'.
933 * <!-- begin-user-doc --> 849 * <!-- begin-user-doc -->
934 * <!-- end-user-doc --> 850 * <!-- end-user-doc -->
@@ -1011,16 +927,6 @@ public interface SatellitePackage extends EPackage {
1011 EClass getSmallSat(); 927 EClass getSmallSat();
1012 928
1013 /** 929 /**
1014 * Returns the meta object for class '{@link satellite.CubeSat <em>Cube Sat</em>}'.
1015 * <!-- begin-user-doc -->
1016 * <!-- end-user-doc -->
1017 * @return the meta object for class '<em>Cube Sat</em>'.
1018 * @see satellite.CubeSat
1019 * @generated
1020 */
1021 EClass getCubeSat();
1022
1023 /**
1024 * Returns the meta object for enum '{@link satellite.TransceiverBand <em>Transceiver Band</em>}'. 930 * Returns the meta object for enum '{@link satellite.TransceiverBand <em>Transceiver Band</em>}'.
1025 * <!-- begin-user-doc --> 931 * <!-- begin-user-doc -->
1026 * <!-- end-user-doc --> 932 * <!-- end-user-doc -->
@@ -1137,7 +1043,7 @@ public interface SatellitePackage extends EPackage {
1137 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem(); 1043 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem();
1138 1044
1139 /** 1045 /**
1140 * The meta object literal for the '<em><b>Communication Link</b></em>' reference feature. 1046 * The meta object literal for the '<em><b>Communication Link</b></em>' containment reference feature.
1141 * <!-- begin-user-doc --> 1047 * <!-- begin-user-doc -->
1142 * <!-- end-user-doc --> 1048 * <!-- end-user-doc -->
1143 * @generated 1049 * @generated
@@ -1207,14 +1113,6 @@ public interface SatellitePackage extends EPackage {
1207 EAttribute COMM_SUBSYSTEM__GAIN = eINSTANCE.getCommSubsystem_Gain(); 1113 EAttribute COMM_SUBSYSTEM__GAIN = eINSTANCE.getCommSubsystem_Gain();
1208 1114
1209 /** 1115 /**
1210 * The meta object literal for the '<em><b>Communication Link</b></em>' containment reference feature.
1211 * <!-- begin-user-doc -->
1212 * <!-- end-user-doc -->
1213 * @generated
1214 */
1215 EReference COMM_SUBSYSTEM__COMMUNICATION_LINK = eINSTANCE.getCommSubsystem_CommunicationLink();
1216
1217 /**
1218 * The meta object literal for the '{@link satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class. 1116 * The meta object literal for the '{@link satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class.
1219 * <!-- begin-user-doc --> 1117 * <!-- begin-user-doc -->
1220 * <!-- end-user-doc --> 1118 * <!-- end-user-doc -->
@@ -1291,16 +1189,6 @@ public interface SatellitePackage extends EPackage {
1291 EClass SMALL_SAT = eINSTANCE.getSmallSat(); 1189 EClass SMALL_SAT = eINSTANCE.getSmallSat();
1292 1190
1293 /** 1191 /**
1294 * The meta object literal for the '{@link satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
1295 * <!-- begin-user-doc -->
1296 * <!-- end-user-doc -->
1297 * @see satellite.impl.CubeSatImpl
1298 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
1299 * @generated
1300 */
1301 EClass CUBE_SAT = eINSTANCE.getCubeSat();
1302
1303 /**
1304 * The meta object literal for the '{@link satellite.TransceiverBand <em>Transceiver Band</em>}' enum. 1192 * The meta object literal for the '{@link satellite.TransceiverBand <em>Transceiver Band</em>}' enum.
1305 * <!-- begin-user-doc --> 1193 * <!-- begin-user-doc -->
1306 * <!-- end-user-doc --> 1194 * <!-- end-user-doc -->
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java
index 6f72322e..d8775572 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java
@@ -59,6 +59,7 @@ public interface Spacecraft extends CommunicatingElement {
59 * @see satellite.SpacecraftKind 59 * @see satellite.SpacecraftKind
60 * @see satellite.SatellitePackage#getSpacecraft_Kind() 60 * @see satellite.SatellitePackage#getSpacecraft_Kind()
61 * @model required="true" transient="true" changeable="false" volatile="true" derived="true" 61 * @model required="true" transient="true" changeable="false" volatile="true" derived="true"
62 * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind'"
62 * @generated 63 * @generated
63 */ 64 */
64 SpacecraftKind getKind(); 65 SpacecraftKind getKind();
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java
index 70ee268e..cf8f1fe8 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java
@@ -4,16 +4,13 @@ package satellite.impl;
4 4
5import org.eclipse.emf.common.notify.Notification; 5import org.eclipse.emf.common.notify.Notification;
6 6
7import org.eclipse.emf.common.notify.NotificationChain;
8import org.eclipse.emf.ecore.EClass; 7import org.eclipse.emf.ecore.EClass;
9 8
10import org.eclipse.emf.ecore.InternalEObject;
11import org.eclipse.emf.ecore.impl.ENotificationImpl; 9import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13 11
14import satellite.AntennaGain; 12import satellite.AntennaGain;
15import satellite.CommSubsystem; 13import satellite.CommSubsystem;
16import satellite.DirectedCommunicationLink;
17import satellite.SatellitePackage; 14import satellite.SatellitePackage;
18import satellite.TransceiverBand; 15import satellite.TransceiverBand;
19 16
@@ -27,7 +24,6 @@ import satellite.TransceiverBand;
27 * <ul> 24 * <ul>
28 * <li>{@link satellite.impl.CommSubsystemImpl#getBand <em>Band</em>}</li> 25 * <li>{@link satellite.impl.CommSubsystemImpl#getBand <em>Band</em>}</li>
29 * <li>{@link satellite.impl.CommSubsystemImpl#getGain <em>Gain</em>}</li> 26 * <li>{@link satellite.impl.CommSubsystemImpl#getGain <em>Gain</em>}</li>
30 * <li>{@link satellite.impl.CommSubsystemImpl#getCommunicationLink <em>Communication Link</em>}</li>
31 * </ul> 27 * </ul>
32 * 28 *
33 * @generated 29 * @generated
@@ -74,16 +70,6 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
74 protected AntennaGain gain = GAIN_EDEFAULT; 70 protected AntennaGain gain = GAIN_EDEFAULT;
75 71
76 /** 72 /**
77 * The cached value of the '{@link #getCommunicationLink() <em>Communication Link</em>}' containment reference.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @see #getCommunicationLink()
81 * @generated
82 * @ordered
83 */
84 protected DirectedCommunicationLink communicationLink;
85
86 /**
87 * <!-- begin-user-doc --> 73 * <!-- begin-user-doc -->
88 * <!-- end-user-doc --> 74 * <!-- end-user-doc -->
89 * @generated 75 * @generated
@@ -156,81 +142,12 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
156 * @generated 142 * @generated
157 */ 143 */
158 @Override 144 @Override
159 public DirectedCommunicationLink getCommunicationLink() {
160 return communicationLink;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 public NotificationChain basicSetCommunicationLink(DirectedCommunicationLink newCommunicationLink,
169 NotificationChain msgs) {
170 DirectedCommunicationLink oldCommunicationLink = communicationLink;
171 communicationLink = newCommunicationLink;
172 if (eNotificationRequired()) {
173 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
174 SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK, oldCommunicationLink, newCommunicationLink);
175 if (msgs == null)
176 msgs = notification;
177 else
178 msgs.add(notification);
179 }
180 return msgs;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @Override
189 public void setCommunicationLink(DirectedCommunicationLink newCommunicationLink) {
190 if (newCommunicationLink != communicationLink) {
191 NotificationChain msgs = null;
192 if (communicationLink != null)
193 msgs = ((InternalEObject) communicationLink).eInverseRemove(this,
194 EOPPOSITE_FEATURE_BASE - SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK, null, msgs);
195 if (newCommunicationLink != null)
196 msgs = ((InternalEObject) newCommunicationLink).eInverseAdd(this,
197 EOPPOSITE_FEATURE_BASE - SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK, null, msgs);
198 msgs = basicSetCommunicationLink(newCommunicationLink, msgs);
199 if (msgs != null)
200 msgs.dispatch();
201 } else if (eNotificationRequired())
202 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK,
203 newCommunicationLink, newCommunicationLink));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
213 switch (featureID) {
214 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
215 return basicSetCommunicationLink(null, msgs);
216 }
217 return super.eInverseRemove(otherEnd, featureID, msgs);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public Object eGet(int featureID, boolean resolve, boolean coreType) { 145 public Object eGet(int featureID, boolean resolve, boolean coreType) {
227 switch (featureID) { 146 switch (featureID) {
228 case SatellitePackage.COMM_SUBSYSTEM__BAND: 147 case SatellitePackage.COMM_SUBSYSTEM__BAND:
229 return getBand(); 148 return getBand();
230 case SatellitePackage.COMM_SUBSYSTEM__GAIN: 149 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
231 return getGain(); 150 return getGain();
232 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
233 return getCommunicationLink();
234 } 151 }
235 return super.eGet(featureID, resolve, coreType); 152 return super.eGet(featureID, resolve, coreType);
236 } 153 }
@@ -249,9 +166,6 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
249 case SatellitePackage.COMM_SUBSYSTEM__GAIN: 166 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
250 setGain((AntennaGain) newValue); 167 setGain((AntennaGain) newValue);
251 return; 168 return;
252 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
253 setCommunicationLink((DirectedCommunicationLink) newValue);
254 return;
255 } 169 }
256 super.eSet(featureID, newValue); 170 super.eSet(featureID, newValue);
257 } 171 }
@@ -270,9 +184,6 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
270 case SatellitePackage.COMM_SUBSYSTEM__GAIN: 184 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
271 setGain(GAIN_EDEFAULT); 185 setGain(GAIN_EDEFAULT);
272 return; 186 return;
273 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
274 setCommunicationLink((DirectedCommunicationLink) null);
275 return;
276 } 187 }
277 super.eUnset(featureID); 188 super.eUnset(featureID);
278 } 189 }
@@ -289,8 +200,6 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
289 return band != BAND_EDEFAULT; 200 return band != BAND_EDEFAULT;
290 case SatellitePackage.COMM_SUBSYSTEM__GAIN: 201 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
291 return gain != GAIN_EDEFAULT; 202 return gain != GAIN_EDEFAULT;
292 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
293 return communicationLink != null;
294 } 203 }
295 return super.eIsSet(featureID); 204 return super.eIsSet(featureID);
296 } 205 }
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java
index f472580b..1f79da3b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java
@@ -3,12 +3,16 @@
3package satellite.impl; 3package satellite.impl;
4 4
5import java.util.Collection; 5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain; 8import org.eclipse.emf.common.notify.NotificationChain;
7 9
8import org.eclipse.emf.common.util.EList; 10import org.eclipse.emf.common.util.EList;
9 11
10import org.eclipse.emf.ecore.EClass; 12import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.InternalEObject; 13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13 17
14import org.eclipse.emf.ecore.util.EObjectContainmentEList; 18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
@@ -45,6 +49,16 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
45 protected EList<CommSubsystem> commSubsystem; 49 protected EList<CommSubsystem> commSubsystem;
46 50
47 /** 51 /**
52 * The cached value of the '{@link #getCommunicationLink() <em>Communication Link</em>}' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getCommunicationLink()
56 * @generated
57 * @ordered
58 */
59 protected DirectedCommunicationLink communicationLink;
60
61 /**
48 * <!-- begin-user-doc --> 62 * <!-- begin-user-doc -->
49 * <!-- end-user-doc --> 63 * <!-- end-user-doc -->
50 * @generated 64 * @generated
@@ -84,10 +98,7 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
84 */ 98 */
85 @Override 99 @Override
86 public DirectedCommunicationLink getCommunicationLink() { 100 public DirectedCommunicationLink getCommunicationLink() {
87 DirectedCommunicationLink communicationLink = basicGetCommunicationLink(); 101 return communicationLink;
88 return communicationLink != null && communicationLink.eIsProxy()
89 ? (DirectedCommunicationLink) eResolveProxy((InternalEObject) communicationLink)
90 : communicationLink;
91 } 102 }
92 103
93 /** 104 /**
@@ -95,11 +106,46 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
95 * <!-- end-user-doc --> 106 * <!-- end-user-doc -->
96 * @generated 107 * @generated
97 */ 108 */
98 public DirectedCommunicationLink basicGetCommunicationLink() { 109 public NotificationChain basicSetCommunicationLink(DirectedCommunicationLink newCommunicationLink,
99 // TODO: implement this method to return the 'Communication Link' reference 110 NotificationChain msgs) {
100 // -> do not perform proxy resolution 111 DirectedCommunicationLink oldCommunicationLink = communicationLink;
101 // Ensure that you remove @generated or mark it @generated NOT 112 communicationLink = newCommunicationLink;
102 throw new UnsupportedOperationException(); 113 if (eNotificationRequired()) {
114 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
115 SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, oldCommunicationLink,
116 newCommunicationLink);
117 if (msgs == null)
118 msgs = notification;
119 else
120 msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setCommunicationLink(DirectedCommunicationLink newCommunicationLink) {
132 if (newCommunicationLink != communicationLink) {
133 NotificationChain msgs = null;
134 if (communicationLink != null)
135 msgs = ((InternalEObject) communicationLink).eInverseRemove(this,
136 EOPPOSITE_FEATURE_BASE - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, null,
137 msgs);
138 if (newCommunicationLink != null)
139 msgs = ((InternalEObject) newCommunicationLink).eInverseAdd(this,
140 EOPPOSITE_FEATURE_BASE - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, null,
141 msgs);
142 msgs = basicSetCommunicationLink(newCommunicationLink, msgs);
143 if (msgs != null)
144 msgs.dispatch();
145 } else if (eNotificationRequired())
146 eNotify(new ENotificationImpl(this, Notification.SET,
147 SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, newCommunicationLink,
148 newCommunicationLink));
103 } 149 }
104 150
105 /** 151 /**
@@ -112,6 +158,8 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
112 switch (featureID) { 158 switch (featureID) {
113 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 159 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
114 return ((InternalEList<?>) getCommSubsystem()).basicRemove(otherEnd, msgs); 160 return ((InternalEList<?>) getCommSubsystem()).basicRemove(otherEnd, msgs);
161 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
162 return basicSetCommunicationLink(null, msgs);
115 } 163 }
116 return super.eInverseRemove(otherEnd, featureID, msgs); 164 return super.eInverseRemove(otherEnd, featureID, msgs);
117 } 165 }
@@ -127,9 +175,7 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
127 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 175 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
128 return getCommSubsystem(); 176 return getCommSubsystem();
129 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: 177 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
130 if (resolve) 178 return getCommunicationLink();
131 return getCommunicationLink();
132 return basicGetCommunicationLink();
133 } 179 }
134 return super.eGet(featureID, resolve, coreType); 180 return super.eGet(featureID, resolve, coreType);
135 } 181 }
@@ -147,6 +193,9 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
147 getCommSubsystem().clear(); 193 getCommSubsystem().clear();
148 getCommSubsystem().addAll((Collection<? extends CommSubsystem>) newValue); 194 getCommSubsystem().addAll((Collection<? extends CommSubsystem>) newValue);
149 return; 195 return;
196 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
197 setCommunicationLink((DirectedCommunicationLink) newValue);
198 return;
150 } 199 }
151 super.eSet(featureID, newValue); 200 super.eSet(featureID, newValue);
152 } 201 }
@@ -162,6 +211,9 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
162 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 211 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
163 getCommSubsystem().clear(); 212 getCommSubsystem().clear();
164 return; 213 return;
214 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
215 setCommunicationLink((DirectedCommunicationLink) null);
216 return;
165 } 217 }
166 super.eUnset(featureID); 218 super.eUnset(featureID);
167 } 219 }
@@ -177,7 +229,7 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
177 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 229 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
178 return commSubsystem != null && !commSubsystem.isEmpty(); 230 return commSubsystem != null && !commSubsystem.isEmpty();
179 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: 231 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
180 return basicGetCommunicationLink() != null; 232 return communicationLink != null;
181 } 233 }
182 return super.eIsSet(featureID); 234 return super.eIsSet(featureID);
183 } 235 }
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java
index 350a9bcc..a7ba37a7 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java
@@ -14,7 +14,7 @@ import satellite.SatellitePackage;
14 * 14 *
15 * @generated 15 * @generated
16 */ 16 */
17public class CubeSat3UImpl extends CubeSatImpl implements CubeSat3U { 17public class CubeSat3UImpl extends SpacecraftImpl implements CubeSat3U {
18 /** 18 /**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc --> 20 * <!-- end-user-doc -->
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java
index 3b9c5988..d4f42e6c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java
@@ -14,7 +14,7 @@ import satellite.SatellitePackage;
14 * 14 *
15 * @generated 15 * @generated
16 */ 16 */
17public class CubeSat6UImpl extends CubeSatImpl implements CubeSat6U { 17public class CubeSat6UImpl extends SpacecraftImpl implements CubeSat6U {
18 /** 18 /**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc --> 20 * <!-- end-user-doc -->
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java
deleted file mode 100644
index 660bd062..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.CubeSat;
8import satellite.SatellitePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Cube Sat</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class CubeSatImpl extends SpacecraftImpl implements CubeSat {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CubeSatImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.CUBE_SAT;
35 }
36
37} //CubeSatImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java
index 68e4ce30..2347fe07 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java
@@ -14,7 +14,6 @@ import satellite.AntennaGain;
14import satellite.CommSubsystem; 14import satellite.CommSubsystem;
15import satellite.CommunicatingElement; 15import satellite.CommunicatingElement;
16import satellite.ConstellationMission; 16import satellite.ConstellationMission;
17import satellite.CubeSat;
18import satellite.CubeSat3U; 17import satellite.CubeSat3U;
19import satellite.CubeSat6U; 18import satellite.CubeSat6U;
20import satellite.DirectedCommunicationLink; 19import satellite.DirectedCommunicationLink;
@@ -125,13 +124,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
125 * <!-- end-user-doc --> 124 * <!-- end-user-doc -->
126 * @generated 125 * @generated
127 */ 126 */
128 private EClass cubeSatEClass = null;
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 private EEnum transceiverBandEEnum = null; 127 private EEnum transceiverBandEEnum = null;
136 128
137 /** 129 /**
@@ -368,16 +360,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
368 * @generated 360 * @generated
369 */ 361 */
370 @Override 362 @Override
371 public EReference getCommSubsystem_CommunicationLink() {
372 return (EReference) commSubsystemEClass.getEStructuralFeatures().get(2);
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 @Override
381 public EClass getDirectedCommunicationLink() { 363 public EClass getDirectedCommunicationLink() {
382 return directedCommunicationLinkEClass; 364 return directedCommunicationLinkEClass;
383 } 365 }
@@ -458,16 +440,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
458 * @generated 440 * @generated
459 */ 441 */
460 @Override 442 @Override
461 public EClass getCubeSat() {
462 return cubeSatEClass;
463 }
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 @Override
471 public EEnum getTransceiverBand() { 443 public EEnum getTransceiverBand() {
472 return transceiverBandEEnum; 444 return transceiverBandEEnum;
473 } 445 }
@@ -542,7 +514,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
542 commSubsystemEClass = createEClass(COMM_SUBSYSTEM); 514 commSubsystemEClass = createEClass(COMM_SUBSYSTEM);
543 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__BAND); 515 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__BAND);
544 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__GAIN); 516 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__GAIN);
545 createEReference(commSubsystemEClass, COMM_SUBSYSTEM__COMMUNICATION_LINK);
546 517
547 directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK); 518 directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK);
548 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE); 519 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE);
@@ -558,8 +529,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
558 529
559 smallSatEClass = createEClass(SMALL_SAT); 530 smallSatEClass = createEClass(SMALL_SAT);
560 531
561 cubeSatEClass = createEClass(CUBE_SAT);
562
563 // Create enums 532 // Create enums
564 transceiverBandEEnum = createEEnum(TRANSCEIVER_BAND); 533 transceiverBandEEnum = createEEnum(TRANSCEIVER_BAND);
565 antennaGainEEnum = createEEnum(ANTENNA_GAIN); 534 antennaGainEEnum = createEEnum(ANTENNA_GAIN);
@@ -599,10 +568,9 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
599 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement()); 568 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement());
600 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement()); 569 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement());
601 interferometryPayloadEClass.getESuperTypes().add(this.getPayload()); 570 interferometryPayloadEClass.getESuperTypes().add(this.getPayload());
602 cubeSat3UEClass.getESuperTypes().add(this.getCubeSat()); 571 cubeSat3UEClass.getESuperTypes().add(this.getSpacecraft());
603 cubeSat6UEClass.getESuperTypes().add(this.getCubeSat()); 572 cubeSat6UEClass.getESuperTypes().add(this.getSpacecraft());
604 smallSatEClass.getESuperTypes().add(this.getSpacecraft()); 573 smallSatEClass.getESuperTypes().add(this.getSpacecraft());
605 cubeSatEClass.getESuperTypes().add(this.getSpacecraft());
606 574
607 // Initialize classes, features, and operations; add parameters 575 // Initialize classes, features, and operations; add parameters
608 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT, 576 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT,
@@ -626,8 +594,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
626 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, 594 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
627 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 595 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
628 initEReference(getCommunicatingElement_CommunicationLink(), this.getDirectedCommunicationLink(), null, 596 initEReference(getCommunicatingElement_CommunicationLink(), this.getDirectedCommunicationLink(), null,
629 "communicationLink", null, 0, 1, CommunicatingElement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, 597 "communicationLink", null, 0, 1, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
630 !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); 598 IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
631 599
632 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT, 600 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT,
633 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 601 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -646,9 +614,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
646 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 614 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
647 initEAttribute(getCommSubsystem_Gain(), this.getAntennaGain(), "gain", null, 1, 1, CommSubsystem.class, 615 initEAttribute(getCommSubsystem_Gain(), this.getAntennaGain(), "gain", null, 1, 1, CommSubsystem.class,
648 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 616 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
649 initEReference(getCommSubsystem_CommunicationLink(), this.getDirectedCommunicationLink(), null,
650 "communicationLink", null, 0, 1, CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
651 IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
652 617
653 initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink", 618 initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink",
654 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 619 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -673,8 +638,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
673 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE, 638 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE,
674 IS_GENERATED_INSTANCE_CLASS); 639 IS_GENERATED_INSTANCE_CLASS);
675 640
676 initEClass(cubeSatEClass, CubeSat.class, "CubeSat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
677
678 // Initialize enums and add enum literals 641 // Initialize enums and add enum literals
679 initEEnum(transceiverBandEEnum, TransceiverBand.class, "TransceiverBand"); 642 initEEnum(transceiverBandEEnum, TransceiverBand.class, "TransceiverBand");
680 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.UHF); 643 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.UHF);
@@ -697,6 +660,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
697 // Create annotations 660 // Create annotations
698 // http://www.eclipse.org/emf/2002/Ecore 661 // http://www.eclipse.org/emf/2002/Ecore
699 createEcoreAnnotations(); 662 createEcoreAnnotations();
663 // org.eclipse.viatra.query.querybasedfeature
664 createOrgAnnotations();
700 } 665 }
701 666
702 /** 667 /**
@@ -710,4 +675,16 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
710 addAnnotation(this, source, new String[] { "settingDelegates", "org.eclipse.viatra.query.querybasedfeature" }); 675 addAnnotation(this, source, new String[] { "settingDelegates", "org.eclipse.viatra.query.querybasedfeature" });
711 } 676 }
712 677
678 /**
679 * Initializes the annotations for <b>org.eclipse.viatra.query.querybasedfeature</b>.
680 * <!-- begin-user-doc -->
681 * <!-- end-user-doc -->
682 * @generated
683 */
684 protected void createOrgAnnotations() {
685 String source = "org.eclipse.viatra.query.querybasedfeature";
686 addAnnotation(getSpacecraft_Kind(), source,
687 new String[] { "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind" });
688 }
689
713} //SatellitePackageImpl 690} //SatellitePackageImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java
index ef98fb07..73609fbd 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java
@@ -6,6 +6,7 @@ import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain; 6import org.eclipse.emf.common.notify.NotificationChain;
7 7
8import org.eclipse.emf.ecore.EClass; 8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.EStructuralFeature;
9import org.eclipse.emf.ecore.InternalEObject; 10import org.eclipse.emf.ecore.InternalEObject;
10 11
11import org.eclipse.emf.ecore.impl.ENotificationImpl; 12import org.eclipse.emf.ecore.impl.ENotificationImpl;
@@ -41,14 +42,15 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
41 protected Payload payload; 42 protected Payload payload;
42 43
43 /** 44 /**
44 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute. 45 * The cached setting delegate for the '{@link #getKind() <em>Kind</em>}' attribute.
45 * <!-- begin-user-doc --> 46 * <!-- begin-user-doc -->
46 * <!-- end-user-doc --> 47 * <!-- end-user-doc -->
47 * @see #getKind() 48 * @see #getKind()
48 * @generated 49 * @generated
49 * @ordered 50 * @ordered
50 */ 51 */
51 protected static final SpacecraftKind KIND_EDEFAULT = SpacecraftKind.CUBE_SAT3_U; 52 protected EStructuralFeature.Internal.SettingDelegate KIND__ESETTING_DELEGATE = ((EStructuralFeature.Internal) SatellitePackage.Literals.SPACECRAFT__KIND)
53 .getSettingDelegate();
52 54
53 /** 55 /**
54 * <!-- begin-user-doc --> 56 * <!-- begin-user-doc -->
@@ -128,9 +130,7 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
128 */ 130 */
129 @Override 131 @Override
130 public SpacecraftKind getKind() { 132 public SpacecraftKind getKind() {
131 // TODO: implement this method to return the 'Kind' attribute 133 return (SpacecraftKind) KIND__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false);
132 // Ensure that you remove @generated or mark it @generated NOT
133 throw new UnsupportedOperationException();
134 } 134 }
135 135
136 /** 136 /**
@@ -204,7 +204,7 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
204 case SatellitePackage.SPACECRAFT__PAYLOAD: 204 case SatellitePackage.SPACECRAFT__PAYLOAD:
205 return payload != null; 205 return payload != null;
206 case SatellitePackage.SPACECRAFT__KIND: 206 case SatellitePackage.SPACECRAFT__KIND:
207 return getKind() != KIND_EDEFAULT; 207 return KIND__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
208 } 208 }
209 return super.eIsSet(featureID); 209 return super.eIsSet(featureID);
210 } 210 }
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
index f71d8da5..1ecf7b19 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
@@ -127,11 +127,6 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl {
127 } 127 }
128 128
129 @Override 129 @Override
130 public Adapter caseCubeSat(CubeSat object) {
131 return createCubeSatAdapter();
132 }
133
134 @Override
135 public Adapter defaultCase(EObject object) { 130 public Adapter defaultCase(EObject object) {
136 return createEObjectAdapter(); 131 return createEObjectAdapter();
137 } 132 }
@@ -319,20 +314,6 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl {
319 } 314 }
320 315
321 /** 316 /**
322 * Creates a new adapter for an object of class '{@link satellite.CubeSat <em>Cube Sat</em>}'.
323 * <!-- begin-user-doc -->
324 * This default implementation returns null so that we can easily ignore cases;
325 * it's useful to ignore a case when inheritance will catch all the cases anyway.
326 * <!-- end-user-doc -->
327 * @return the new adapter.
328 * @see satellite.CubeSat
329 * @generated
330 */
331 public Adapter createCubeSatAdapter() {
332 return null;
333 }
334
335 /**
336 * Creates a new adapter for the default case. 317 * Creates a new adapter for the default case.
337 * <!-- begin-user-doc --> 318 * <!-- begin-user-doc -->
338 * This default implementation returns null. 319 * This default implementation returns null.
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java
index 1e2fb04b..3eb78d75 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java
@@ -141,8 +141,6 @@ public class SatelliteSwitch<T> extends Switch<T> {
141 CubeSat3U cubeSat3U = (CubeSat3U) theEObject; 141 CubeSat3U cubeSat3U = (CubeSat3U) theEObject;
142 T result = caseCubeSat3U(cubeSat3U); 142 T result = caseCubeSat3U(cubeSat3U);
143 if (result == null) 143 if (result == null)
144 result = caseCubeSat(cubeSat3U);
145 if (result == null)
146 result = caseSpacecraft(cubeSat3U); 144 result = caseSpacecraft(cubeSat3U);
147 if (result == null) 145 if (result == null)
148 result = caseCommunicatingElement(cubeSat3U); 146 result = caseCommunicatingElement(cubeSat3U);
@@ -154,8 +152,6 @@ public class SatelliteSwitch<T> extends Switch<T> {
154 CubeSat6U cubeSat6U = (CubeSat6U) theEObject; 152 CubeSat6U cubeSat6U = (CubeSat6U) theEObject;
155 T result = caseCubeSat6U(cubeSat6U); 153 T result = caseCubeSat6U(cubeSat6U);
156 if (result == null) 154 if (result == null)
157 result = caseCubeSat(cubeSat6U);
158 if (result == null)
159 result = caseSpacecraft(cubeSat6U); 155 result = caseSpacecraft(cubeSat6U);
160 if (result == null) 156 if (result == null)
161 result = caseCommunicatingElement(cubeSat6U); 157 result = caseCommunicatingElement(cubeSat6U);
@@ -174,17 +170,6 @@ public class SatelliteSwitch<T> extends Switch<T> {
174 result = defaultCase(theEObject); 170 result = defaultCase(theEObject);
175 return result; 171 return result;
176 } 172 }
177 case SatellitePackage.CUBE_SAT: {
178 CubeSat cubeSat = (CubeSat) theEObject;
179 T result = caseCubeSat(cubeSat);
180 if (result == null)
181 result = caseSpacecraft(cubeSat);
182 if (result == null)
183 result = caseCommunicatingElement(cubeSat);
184 if (result == null)
185 result = defaultCase(theEObject);
186 return result;
187 }
188 default: 173 default:
189 return defaultCase(theEObject); 174 return defaultCase(theEObject);
190 } 175 }
@@ -371,21 +356,6 @@ public class SatelliteSwitch<T> extends Switch<T> {
371 } 356 }
372 357
373 /** 358 /**
374 * Returns the result of interpreting the object as an instance of '<em>Cube Sat</em>'.
375 * <!-- begin-user-doc -->
376 * This implementation returns null;
377 * returning a non-null result will terminate the switch.
378 * <!-- end-user-doc -->
379 * @param object the target of the switch.
380 * @return the result of interpreting the object as an instance of '<em>Cube Sat</em>'.
381 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
382 * @generated
383 */
384 public T caseCubeSat(CubeSat object) {
385 return null;
386 }
387
388 /**
389 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. 359 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
390 * <!-- begin-user-doc --> 360 * <!-- begin-user-doc -->
391 * This implementation returns null; 361 * This implementation returns null;
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird
index 4ffc0ea3..31575c3c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird
@@ -1307,16 +1307,6 @@
1307 <semanticResources>../src/hu/bme/mit/inf/dslreasoner/domains/satellite/metrics/SatelliteMetrics.vql</semanticResources> 1307 <semanticResources>../src/hu/bme/mit/inf/dslreasoner/domains/satellite/metrics/SatelliteMetrics.vql</semanticResources>
1308 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.aggregators.max</semanticResources> 1308 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.aggregators.max</semanticResources>
1309 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind</semanticResources> 1309 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind</semanticResources>
1310 <semanticResources>java:/Objects/satellite.Payload</semanticResources>
1311 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat</semanticResources>
1312 <semanticResources>java:/Objects/satellite.CubeSat</semanticResources>
1313 <semanticResources>java:/Objects/satellite.Spacecraft</semanticResources>
1314 <semanticResources>java:/Objects/satellite.CommunicatingElement</semanticResources>
1315 <semanticResources>java:/Objects/satellite.SpacecraftKind</semanticResources>
1316 <semanticResources>java:/Objects/satellite.CommSubsystem</semanticResources>
1317 <semanticResources>java:/Objects/satellite.DirectedCommunicationLink</semanticResources>
1318 <semanticResources>java:/Objects/satellite.TransceiverBand</semanticResources>
1319 <semanticResources>java:/Objects/satellite.AntennaGain</semanticResources>
1320 <ownedViews xmi:type="viewpoint:DView" uid="_reOHEF0qEemRYLyXht2IrQ"> 1310 <ownedViews xmi:type="viewpoint:DView" uid="_reOHEF0qEemRYLyXht2IrQ">
1321 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> 1311 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
1322 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_re1yIF0qEemRYLyXht2IrQ" name="satellite" repPath="#_rel6gF0qEemRYLyXht2IrQ"> 1312 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_re1yIF0qEemRYLyXht2IrQ" name="satellite" repPath="#_rel6gF0qEemRYLyXht2IrQ">
@@ -1369,24 +1359,6 @@
1369 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> 1359 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1370 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 1360 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1371 </computedStyleDescriptions> 1361 </computedStyleDescriptions>
1372 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_3FfX4HCAEemkIbiETO8SXA" routingStyle="manhattan">
1373 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
1374 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_3FfX4XCAEemkIbiETO8SXA" showIcon="false" labelExpression="service:render">
1375 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1376 </centerLabelStyleDescription>
1377 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_3FfX4nCAEemkIbiETO8SXA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1378 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1379 </endLabelStyleDescription>
1380 </computedStyleDescriptions>
1381 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_6zCAoHCAEemkIbiETO8SXA" sourceArrow="FillDiamond" routingStyle="manhattan">
1382 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1383 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_6zCAoXCAEemkIbiETO8SXA" showIcon="false" labelExpression="service:renderEOpposite">
1384 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1385 </beginLabelStyleDescription>
1386 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_6zCAonCAEemkIbiETO8SXA" showIcon="false" labelExpression="service:render">
1387 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1388 </endLabelStyleDescription>
1389 </computedStyleDescriptions>
1390 </data> 1362 </data>
1391 </ownedAnnotationEntries> 1363 </ownedAnnotationEntries>
1392 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_rfAxQF0qEemRYLyXht2IrQ" source="GMF_DIAGRAMS"> 1364 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_rfAxQF0qEemRYLyXht2IrQ" source="GMF_DIAGRAMS">
@@ -1643,6 +1615,38 @@
1643 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29F0vEemRYLyXht2IrQ" id="(1.0,0.5306122448979592)"/> 1615 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29F0vEemRYLyXht2IrQ" id="(1.0,0.5306122448979592)"/>
1644 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29V0vEemRYLyXht2IrQ" id="(0.0,0.7959183673469388)"/> 1616 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29V0vEemRYLyXht2IrQ" id="(0.0,0.7959183673469388)"/>
1645 </edges> 1617 </edges>
1618 <edges xmi:type="notation:Edge" xmi:id="_ccT_YF0wEemRYLyXht2IrQ" type="4001" element="_ccF89l0wEemRYLyXht2IrQ" source="_3UIIoF0rEemRYLyXht2IrQ" target="_Ct-Y8F0wEemRYLyXht2IrQ">
1619 <children xmi:type="notation:Node" xmi:id="_ccT_ZF0wEemRYLyXht2IrQ" type="6001">
1620 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccT_ZV0wEemRYLyXht2IrQ" x="-32" y="39"/>
1621 </children>
1622 <children xmi:type="notation:Node" xmi:id="_ccUmcF0wEemRYLyXht2IrQ" type="6002">
1623 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUmcV0wEemRYLyXht2IrQ" x="48" y="10"/>
1624 </children>
1625 <children xmi:type="notation:Node" xmi:id="_ccUmcl0wEemRYLyXht2IrQ" type="6003">
1626 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUmc10wEemRYLyXht2IrQ" x="22" y="-8"/>
1627 </children>
1628 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccT_YV0wEemRYLyXht2IrQ" routing="Rectilinear"/>
1629 <styles xmi:type="notation:FontStyle" xmi:id="_ccT_Yl0wEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1630 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccT_Y10wEemRYLyXht2IrQ" points="[27, -33, -194, -143]$[182, -33, -39, -143]$[182, 110, -39, 0]$[221, 110, 0, 0]"/>
1631 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccUmdF0wEemRYLyXht2IrQ" id="(0.8411764705882353,1.0)"/>
1632 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccUmdV0wEemRYLyXht2IrQ" id="(0.0,0.6632653061224489)"/>
1633 </edges>
1634 <edges xmi:type="notation:Edge" xmi:id="_db1tQF0xEemRYLyXht2IrQ" type="4001" element="_dbuYhl0xEemRYLyXht2IrQ" source="_Ct-Y8F0wEemRYLyXht2IrQ" target="_j0vs4F0tEemRYLyXht2IrQ">
1635 <children xmi:type="notation:Node" xmi:id="_db2UUF0xEemRYLyXht2IrQ" type="6001">
1636 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_db2UUV0xEemRYLyXht2IrQ" x="-5" y="-44"/>
1637 </children>
1638 <children xmi:type="notation:Node" xmi:id="_db2UUl0xEemRYLyXht2IrQ" type="6002">
1639 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_db2UU10xEemRYLyXht2IrQ" y="10"/>
1640 </children>
1641 <children xmi:type="notation:Node" xmi:id="_db2UVF0xEemRYLyXht2IrQ" type="6003">
1642 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_db2UVV0xEemRYLyXht2IrQ" y="10"/>
1643 </children>
1644 <styles xmi:type="notation:ConnectorStyle" xmi:id="_db1tQV0xEemRYLyXht2IrQ" routing="Rectilinear"/>
1645 <styles xmi:type="notation:FontStyle" xmi:id="_db1tQl0xEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1646 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_db1tQ10xEemRYLyXht2IrQ" points="[14, 0, 14, 45]$[14, -45, 14, 0]"/>
1647 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_db2UVl0xEemRYLyXht2IrQ" id="(0.19387755102040816,0.0)"/>
1648 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_db2UV10xEemRYLyXht2IrQ" id="(0.19387755102040816,1.0)"/>
1649 </edges>
1646 <edges xmi:type="notation:Edge" xmi:id="_i2ZRcF0xEemRYLyXht2IrQ" type="4001" element="_i2PgeV0xEemRYLyXht2IrQ" source="_Ct-Y8F0wEemRYLyXht2IrQ" target="_j0vs4F0tEemRYLyXht2IrQ"> 1650 <edges xmi:type="notation:Edge" xmi:id="_i2ZRcF0xEemRYLyXht2IrQ" type="4001" element="_i2PgeV0xEemRYLyXht2IrQ" source="_Ct-Y8F0wEemRYLyXht2IrQ" target="_j0vs4F0tEemRYLyXht2IrQ">
1647 <children xmi:type="notation:Node" xmi:id="_i2ZRdF0xEemRYLyXht2IrQ" type="6001"> 1651 <children xmi:type="notation:Node" xmi:id="_i2ZRdF0xEemRYLyXht2IrQ" type="6001">
1648 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2ZRdV0xEemRYLyXht2IrQ" x="-5" y="46"/> 1652 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2ZRdV0xEemRYLyXht2IrQ" x="-5" y="46"/>
@@ -1655,7 +1659,7 @@
1655 </children> 1659 </children>
1656 <styles xmi:type="notation:ConnectorStyle" xmi:id="_i2ZRcV0xEemRYLyXht2IrQ" routing="Rectilinear"/> 1660 <styles xmi:type="notation:ConnectorStyle" xmi:id="_i2ZRcV0xEemRYLyXht2IrQ" routing="Rectilinear"/>
1657 <styles xmi:type="notation:FontStyle" xmi:id="_i2ZRcl0xEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 1661 <styles xmi:type="notation:FontStyle" xmi:id="_i2ZRcl0xEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1658 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_i2ZRc10xEemRYLyXht2IrQ" points="[29, 0, 29, 45]$[29, -45, 29, 0]"/> 1662 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_i2ZRc10xEemRYLyXht2IrQ" points="[0, 0, 0, 45]$[0, -45, 0, 0]"/>
1659 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRel0xEemRYLyXht2IrQ" id="(0.7193877551020408,0.0)"/> 1663 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRel0xEemRYLyXht2IrQ" id="(0.7193877551020408,0.0)"/>
1660 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRe10xEemRYLyXht2IrQ" id="(0.7193877551020408,1.0)"/> 1664 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRe10xEemRYLyXht2IrQ" id="(0.7193877551020408,1.0)"/>
1661 </edges> 1665 </edges>
@@ -1771,38 +1775,6 @@
1771 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgHBMEempc7JjePmuNw" id="(0.559322033898305,0.0)"/> 1775 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgHBMEempc7JjePmuNw" id="(0.559322033898305,0.0)"/>
1772 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgXBMEempc7JjePmuNw" id="(0.3305084745762712,0.0)"/> 1776 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgXBMEempc7JjePmuNw" id="(0.3305084745762712,0.0)"/>
1773 </edges> 1777 </edges>
1774 <edges xmi:type="notation:Edge" xmi:id="_VptTgHBSEemNI_R9YUxM4w" type="4001" element="_VpHdoHBSEemNI_R9YUxM4w" source="_3UIIoF0rEemRYLyXht2IrQ" target="_Ct-Y8F0wEemRYLyXht2IrQ">
1775 <children xmi:type="notation:Node" xmi:id="_Vpt6kHBSEemNI_R9YUxM4w" type="6001">
1776 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vpt6kXBSEemNI_R9YUxM4w" x="-33" y="27"/>
1777 </children>
1778 <children xmi:type="notation:Node" xmi:id="_Vpt6knBSEemNI_R9YUxM4w" type="6002">
1779 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vpt6k3BSEemNI_R9YUxM4w" y="10"/>
1780 </children>
1781 <children xmi:type="notation:Node" xmi:id="_Vpt6lHBSEemNI_R9YUxM4w" type="6003">
1782 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vpt6lXBSEemNI_R9YUxM4w" y="10"/>
1783 </children>
1784 <styles xmi:type="notation:ConnectorStyle" xmi:id="_VptTgXBSEemNI_R9YUxM4w" routing="Rectilinear"/>
1785 <styles xmi:type="notation:FontStyle" xmi:id="_VptTgnBSEemNI_R9YUxM4w" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1786 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VptTg3BSEemNI_R9YUxM4w" points="[0, 0, -194, -132]$[144, 0, -50, -132]$[144, 132, -50, 0]$[194, 132, 0, 0]"/>
1787 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VpuhoHBSEemNI_R9YUxM4w" id="(1.0,0.7244897959183674)"/>
1788 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VpuhoXBSEemNI_R9YUxM4w" id="(0.0,0.6122448979591837)"/>
1789 </edges>
1790 <edges xmi:type="notation:Edge" xmi:id="_60FwkHCAEemkIbiETO8SXA" type="4001" element="_6y-9UHCAEemkIbiETO8SXA" source="_j0vs4F0tEemRYLyXht2IrQ" target="_Ct-Y8F0wEemRYLyXht2IrQ">
1791 <children xmi:type="notation:Node" xmi:id="_60HlwHCAEemkIbiETO8SXA" type="6001">
1792 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_60HlwXCAEemkIbiETO8SXA" y="-10"/>
1793 </children>
1794 <children xmi:type="notation:Node" xmi:id="_60HlwnCAEemkIbiETO8SXA" type="6002">
1795 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_60Hlw3CAEemkIbiETO8SXA" y="10"/>
1796 </children>
1797 <children xmi:type="notation:Node" xmi:id="_60IM0HCAEemkIbiETO8SXA" type="6003">
1798 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_60IM0XCAEemkIbiETO8SXA" y="10"/>
1799 </children>
1800 <styles xmi:type="notation:ConnectorStyle" xmi:id="_60FwkXCAEemkIbiETO8SXA" routing="Rectilinear"/>
1801 <styles xmi:type="notation:FontStyle" xmi:id="_60FwknCAEemkIbiETO8SXA" fontName="Noto Sans" fontHeight="8"/>
1802 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_60Fwk3CAEemkIbiETO8SXA" points="[0, 50, 0, -93]$[0, 93, 0, -50]"/>
1803 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_60Iz4HCAEemkIbiETO8SXA" id="(0.5,0.5)"/>
1804 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_60Iz4XCAEemkIbiETO8SXA" id="(0.5,0.5)"/>
1805 </edges>
1806 </data> 1778 </data>
1807 </ownedAnnotationEntries> 1779 </ownedAnnotationEntries>
1808 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tM4oUF0qEemRYLyXht2IrQ" name="ConstellationMission" tooltipText="" outgoingEdges="_KzljXl0yEemRYLyXht2IrQ _PdH6PF0yEemRYLyXht2IrQ" incomingEdges="_0jIdIF0qEemRYLyXht2IrQ" width="12" height="10"> 1780 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tM4oUF0qEemRYLyXht2IrQ" name="ConstellationMission" tooltipText="" outgoingEdges="_KzljXl0yEemRYLyXht2IrQ _PdH6PF0yEemRYLyXht2IrQ" incomingEdges="_0jIdIF0qEemRYLyXht2IrQ" width="12" height="10">
@@ -1848,7 +1820,7 @@
1848 </ownedStyle> 1820 </ownedStyle>
1849 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> 1821 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1850 </ownedDiagramElements> 1822 </ownedDiagramElements>
1851 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_3T7UUF0rEemRYLyXht2IrQ" name="CommunicatingElement" tooltipText="" outgoingEdges="_4B9iMF0vEemRYLyXht2IrQ _VpHdoHBSEemNI_R9YUxM4w" incomingEdges="_NpQ-pl0sEemRYLyXht2IrQ _PEp-k10sEemRYLyXht2IrQ" width="12" height="10"> 1823 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_3T7UUF0rEemRYLyXht2IrQ" name="CommunicatingElement" tooltipText="" outgoingEdges="_4B9iMF0vEemRYLyXht2IrQ _ccF89l0wEemRYLyXht2IrQ" incomingEdges="_NpQ-pl0sEemRYLyXht2IrQ _PEp-k10sEemRYLyXht2IrQ" width="12" height="10">
1852 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/> 1824 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
1853 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/> 1825 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
1854 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1826 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1915,7 +1887,7 @@
1915 </ownedStyle> 1887 </ownedStyle>
1916 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> 1888 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1917 </ownedDiagramElements> 1889 </ownedDiagramElements>
1918 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_j0eAEF0tEemRYLyXht2IrQ" name="CommSubsystem" tooltipText="" outgoingEdges="_6y-9UHCAEemkIbiETO8SXA" incomingEdges="_4B9iMF0vEemRYLyXht2IrQ _i2PgeV0xEemRYLyXht2IrQ" width="12" height="10"> 1890 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_j0eAEF0tEemRYLyXht2IrQ" name="CommSubsystem" tooltipText="" incomingEdges="_4B9iMF0vEemRYLyXht2IrQ _dbuYhl0xEemRYLyXht2IrQ _i2PgeV0xEemRYLyXht2IrQ" width="12" height="10">
1919 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/> 1891 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
1920 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/> 1892 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
1921 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1893 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1988,7 +1960,7 @@
1988 </ownedStyle> 1960 </ownedStyle>
1989 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1961 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1990 </ownedDiagramElements> 1962 </ownedDiagramElements>
1991 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Ctw9kF0wEemRYLyXht2IrQ" name="DirectedCommunicationLink" tooltipText="" outgoingEdges="_i2PgeV0xEemRYLyXht2IrQ" incomingEdges="_VpHdoHBSEemNI_R9YUxM4w _6y-9UHCAEemkIbiETO8SXA" width="12" height="10"> 1963 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Ctw9kF0wEemRYLyXht2IrQ" name="DirectedCommunicationLink" tooltipText="" outgoingEdges="_dbuYhl0xEemRYLyXht2IrQ _i2PgeV0xEemRYLyXht2IrQ" incomingEdges="_ccF89l0wEemRYLyXht2IrQ" width="12" height="10">
1992 <target xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/> 1964 <target xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/>
1993 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/> 1965 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/>
1994 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1966 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -2034,6 +2006,30 @@
2034 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> 2006 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2035 </ownedElements> 2007 </ownedElements>
2036 </ownedDiagramElements> 2008 </ownedDiagramElements>
2009 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ccF89l0wEemRYLyXht2IrQ" name="[0..1] communicationLink" sourceNode="_3T7UUF0rEemRYLyXht2IrQ" targetNode="_Ctw9kF0wEemRYLyXht2IrQ">
2010 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/communicationLink"/>
2011 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/communicationLink"/>
2012 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ccHLE10wEemRYLyXht2IrQ" description="_ccHLEF0wEemRYLyXht2IrQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2013 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ccHLFV0wEemRYLyXht2IrQ" showIcon="false">
2014 <customFeatures>labelSize</customFeatures>
2015 </centerLabelStyle>
2016 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ccHLFF0wEemRYLyXht2IrQ" showIcon="false" labelColor="39,76,114">
2017 <customFeatures>labelSize</customFeatures>
2018 </endLabelStyle>
2019 </ownedStyle>
2020 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2021 </ownedDiagramElements>
2022 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_dbuYhl0xEemRYLyXht2IrQ" name="[1..1] source" sourceNode="_Ctw9kF0wEemRYLyXht2IrQ" targetNode="_j0eAEF0tEemRYLyXht2IrQ">
2023 <target xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/source"/>
2024 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/source"/>
2025 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fDAfY10xEemRYLyXht2IrQ" description="_fDAfYF0xEemRYLyXht2IrQ" routingStyle="manhattan" strokeColor="0,0,0">
2026 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fDAfZV0xEemRYLyXht2IrQ" showIcon="false">
2027 <labelFormat>bold</labelFormat>
2028 </centerLabelStyle>
2029 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fDAfZF0xEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2030 </ownedStyle>
2031 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2032 </ownedDiagramElements>
2037 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_i2PgeV0xEemRYLyXht2IrQ" name="[1..1] target" sourceNode="_Ctw9kF0wEemRYLyXht2IrQ" targetNode="_j0eAEF0tEemRYLyXht2IrQ"> 2033 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_i2PgeV0xEemRYLyXht2IrQ" name="[1..1] target" sourceNode="_Ctw9kF0wEemRYLyXht2IrQ" targetNode="_j0eAEF0tEemRYLyXht2IrQ">
2038 <target xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/> 2034 <target xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/>
2039 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/> 2035 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/>
@@ -2219,25 +2215,6 @@
2219 </ownedStyle> 2215 </ownedStyle>
2220 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> 2216 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2221 </ownedDiagramElements> 2217 </ownedDiagramElements>
2222 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_VpHdoHBSEemNI_R9YUxM4w" name="[0..1] /communicationLink" sourceNode="_3T7UUF0rEemRYLyXht2IrQ" targetNode="_Ctw9kF0wEemRYLyXht2IrQ">
2223 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/communicationLink"/>
2224 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/communicationLink"/>
2225 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3FfX43CAEemkIbiETO8SXA" description="_3FfX4HCAEemkIbiETO8SXA" routingStyle="manhattan" strokeColor="114,159,207">
2226 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_3FfX5XCAEemkIbiETO8SXA" showIcon="false" labelColor="39,76,114"/>
2227 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3FfX5HCAEemkIbiETO8SXA" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2228 </ownedStyle>
2229 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2230 </ownedDiagramElements>
2231 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_6y-9UHCAEemkIbiETO8SXA" sourceNode="_j0eAEF0tEemRYLyXht2IrQ" targetNode="_Ctw9kF0wEemRYLyXht2IrQ" beginLabel="[1..1] source" endLabel="[0..1] communicationLink">
2232 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommSubsystem/communicationLink"/>
2233 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommSubsystem/communicationLink"/>
2234 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/source"/>
2235 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_6zCnsHCAEemkIbiETO8SXA" description="_6zCAoHCAEemkIbiETO8SXA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2236 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_6zCnsXCAEemkIbiETO8SXA" showIcon="false"/>
2237 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_6zCnsnCAEemkIbiETO8SXA" showIcon="false"/>
2238 </ownedStyle>
2239 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
2240 </ownedDiagramElements>
2241 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 2218 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
2242 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_reoWwF0qEemRYLyXht2IrQ"/> 2219 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_reoWwF0qEemRYLyXht2IrQ"/>
2243 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> 2220 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
index 002c8fd8..ae9197da 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
@@ -18,11 +18,7 @@
18 <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1" 18 <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1"
19 upperBound="2" eType="#//CommSubsystem" containment="true"/> 19 upperBound="2" eType="#//CommSubsystem" containment="true"/>
20 <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLink" eType="#//DirectedCommunicationLink" 20 <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLink" eType="#//DirectedCommunicationLink"
21 changeable="false" volatile="true" transient="true" derived="true"> 21 containment="true"/>
22 <eAnnotations source="org.eclipse.viatra.query.querybasedfeature">
23 <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement"/>
24 </eAnnotations>
25 </eStructuralFeatures>
26 </eClassifiers> 22 </eClassifiers>
27 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/> 23 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/>
28 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement"> 24 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement">
@@ -38,8 +34,6 @@
38 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem"> 34 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem">
39 <eStructuralFeatures xsi:type="ecore:EAttribute" name="band" lowerBound="1" eType="#//TransceiverBand"/> 35 <eStructuralFeatures xsi:type="ecore:EAttribute" name="band" lowerBound="1" eType="#//TransceiverBand"/>
40 <eStructuralFeatures xsi:type="ecore:EAttribute" name="gain" lowerBound="1" eType="#//AntennaGain"/> 36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="gain" lowerBound="1" eType="#//AntennaGain"/>
41 <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLink" eType="#//DirectedCommunicationLink"
42 containment="true" eOpposite="#//DirectedCommunicationLink/source"/>
43 </eClassifiers> 37 </eClassifiers>
44 <eClassifiers xsi:type="ecore:EEnum" name="TransceiverBand"> 38 <eClassifiers xsi:type="ecore:EEnum" name="TransceiverBand">
45 <eLiterals name="UHF"/> 39 <eLiterals name="UHF"/>
@@ -48,7 +42,7 @@
48 </eClassifiers> 42 </eClassifiers>
49 <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink"> 43 <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink">
50 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" 44 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
51 eType="#//CommSubsystem" eOpposite="#//CommSubsystem/communicationLink"/> 45 eType="#//CommSubsystem"/>
52 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" 46 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
53 eType="#//CommSubsystem"/> 47 eType="#//CommSubsystem"/>
54 </eClassifiers> 48 </eClassifiers>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel
index b570f05e..f8b6d75b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel
@@ -35,7 +35,7 @@
35 </genClasses> 35 </genClasses>
36 <genClasses image="false" ecoreClass="satellite.ecore#//CommunicatingElement"> 36 <genClasses image="false" ecoreClass="satellite.ecore#//CommunicatingElement">
37 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/commSubsystem"/> 37 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/commSubsystem"/>
38 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/communicationLink"/> 38 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/communicationLink"/>
39 </genClasses> 39 </genClasses>
40 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/> 40 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/>
41 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft"> 41 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft">
@@ -45,7 +45,6 @@
45 <genClasses ecoreClass="satellite.ecore#//CommSubsystem"> 45 <genClasses ecoreClass="satellite.ecore#//CommSubsystem">
46 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/band"/> 46 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/band"/>
47 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/gain"/> 47 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/gain"/>
48 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommSubsystem/communicationLink"/>
49 </genClasses> 48 </genClasses>
50 <genClasses ecoreClass="satellite.ecore#//DirectedCommunicationLink"> 49 <genClasses ecoreClass="satellite.ecore#//DirectedCommunicationLink">
51 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/source"/> 50 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/source"/>
@@ -56,6 +55,5 @@
56 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/> 55 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/>
57 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/> 56 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/>
58 <genClasses ecoreClass="satellite.ecore#//SmallSat"/> 57 <genClasses ecoreClass="satellite.ecore#//SmallSat"/>
59 <genClasses image="false" ecoreClass="satellite.ecore#//CubeSat"/>
60 </genPackages> 58 </genPackages>
61</genmodel:GenModel> 59</genmodel:GenModel>
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 d28c0d4d..853b7b54 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
@@ -110,22 +110,22 @@ private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, in
110 find interpretation(problem,interpretation); 110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element); 111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 112 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
113 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
114 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
115 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element); 113 neg find mustInstanceOfPayload_class(problem,interpretation,element);
114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
117 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 116 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
117 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
118 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); 118 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
119 neg find isPrimitive(element); 119 neg find isPrimitive(element);
120} or { 120} or {
121 find interpretation(problem,interpretation); 121 find interpretation(problem,interpretation);
122 PartialInterpretation.openWorldElements(interpretation,element); 122 PartialInterpretation.openWorldElements(interpretation,element);
123 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 123 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
127 neg find mustInstanceOfPayload_class(problem,interpretation,element); 124 neg find mustInstanceOfPayload_class(problem,interpretation,element);
125 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
126 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
128 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 127 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
128 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
129 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); 129 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
130 neg find isPrimitive(element); 130 neg find isPrimitive(element);
131} or 131} or
@@ -154,20 +154,20 @@ private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, i
154 find interpretation(problem,interpretation); 154 find interpretation(problem,interpretation);
155 PartialInterpretation.newElements(interpretation,element); 155 PartialInterpretation.newElements(interpretation,element);
156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
157 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
158 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
159 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
160 neg find mustInstanceOfPayload_class(problem,interpretation,element); 157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
159 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
160 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
161 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); 161 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
162 neg find isPrimitive(element); 162 neg find isPrimitive(element);
163} or { 163} or {
164 find interpretation(problem,interpretation); 164 find interpretation(problem,interpretation);
165 PartialInterpretation.openWorldElements(interpretation,element); 165 PartialInterpretation.openWorldElements(interpretation,element);
166 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 166 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
167 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
168 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
169 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
170 neg find mustInstanceOfPayload_class(problem,interpretation,element); 167 neg find mustInstanceOfPayload_class(problem,interpretation,element);
168 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
169 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
170 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
171 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); 171 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
172 neg find isPrimitive(element); 172 neg find isPrimitive(element);
173} or 173} or
@@ -196,10 +196,10 @@ private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, in
196 find interpretation(problem,interpretation); 196 find interpretation(problem,interpretation);
197 PartialInterpretation.newElements(interpretation,element); 197 PartialInterpretation.newElements(interpretation,element);
198 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 198 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
199 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
200 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
201 neg find mustInstanceOfPayload_class(problem,interpretation,element); 199 neg find mustInstanceOfPayload_class(problem,interpretation,element);
200 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
202 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 201 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
202 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
203 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 203 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
204 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); 204 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
205 neg find isPrimitive(element); 205 neg find isPrimitive(element);
@@ -207,10 +207,10 @@ private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, in
207 find interpretation(problem,interpretation); 207 find interpretation(problem,interpretation);
208 PartialInterpretation.openWorldElements(interpretation,element); 208 PartialInterpretation.openWorldElements(interpretation,element);
209 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 209 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
210 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
211 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
212 neg find mustInstanceOfPayload_class(problem,interpretation,element); 210 neg find mustInstanceOfPayload_class(problem,interpretation,element);
211 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
213 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 212 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
213 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
214 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 214 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
215 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); 215 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
216 neg find isPrimitive(element); 216 neg find isPrimitive(element);
@@ -240,9 +240,9 @@ private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, in
240 find interpretation(problem,interpretation); 240 find interpretation(problem,interpretation);
241 PartialInterpretation.newElements(interpretation,element); 241 PartialInterpretation.newElements(interpretation,element);
242 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 242 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
243 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
244 neg find mustInstanceOfPayload_class(problem,interpretation,element); 243 neg find mustInstanceOfPayload_class(problem,interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 244 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
245 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
246 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 246 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
247 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); 247 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
248 neg find isPrimitive(element); 248 neg find isPrimitive(element);
@@ -250,9 +250,9 @@ private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, in
250 find interpretation(problem,interpretation); 250 find interpretation(problem,interpretation);
251 PartialInterpretation.openWorldElements(interpretation,element); 251 PartialInterpretation.openWorldElements(interpretation,element);
252 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 252 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
253 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
254 neg find mustInstanceOfPayload_class(problem,interpretation,element); 253 neg find mustInstanceOfPayload_class(problem,interpretation,element);
255 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 254 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
255 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
256 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 256 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
257 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); 257 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
258 neg find isPrimitive(element); 258 neg find isPrimitive(element);
@@ -282,24 +282,24 @@ private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretati
282 find interpretation(problem,interpretation); 282 find interpretation(problem,interpretation);
283 PartialInterpretation.newElements(interpretation,element); 283 PartialInterpretation.newElements(interpretation,element);
284 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 284 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
285 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
286 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
287 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
288 neg find mustInstanceOfPayload_class(problem,interpretation,element); 285 neg find mustInstanceOfPayload_class(problem,interpretation,element);
289 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 286 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
287 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
290 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 288 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
289 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
290 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
291 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); 291 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
292 neg find isPrimitive(element); 292 neg find isPrimitive(element);
293} or { 293} or {
294 find interpretation(problem,interpretation); 294 find interpretation(problem,interpretation);
295 PartialInterpretation.openWorldElements(interpretation,element); 295 PartialInterpretation.openWorldElements(interpretation,element);
296 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 296 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
297 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
298 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
299 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
300 neg find mustInstanceOfPayload_class(problem,interpretation,element); 297 neg find mustInstanceOfPayload_class(problem,interpretation,element);
301 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 298 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
299 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
302 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 300 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
301 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
302 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
303 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); 303 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
304 neg find isPrimitive(element); 304 neg find isPrimitive(element);
305} or 305} or
@@ -328,20 +328,20 @@ private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpret
328 find interpretation(problem,interpretation); 328 find interpretation(problem,interpretation);
329 PartialInterpretation.newElements(interpretation,element); 329 PartialInterpretation.newElements(interpretation,element);
330 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 330 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
331 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
332 neg find mustInstanceOfPayload_class(problem,interpretation,element); 331 neg find mustInstanceOfPayload_class(problem,interpretation,element);
333 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
334 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 332 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
335 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); 335 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
336 neg find isPrimitive(element); 336 neg find isPrimitive(element);
337} or { 337} or {
338 find interpretation(problem,interpretation); 338 find interpretation(problem,interpretation);
339 PartialInterpretation.openWorldElements(interpretation,element); 339 PartialInterpretation.openWorldElements(interpretation,element);
340 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 340 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
341 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
342 neg find mustInstanceOfPayload_class(problem,interpretation,element); 341 neg find mustInstanceOfPayload_class(problem,interpretation,element);
343 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
344 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 342 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
343 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
344 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
345 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); 345 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
346 neg find isPrimitive(element); 346 neg find isPrimitive(element);
347} or 347} or
@@ -369,19 +369,19 @@ private pattern mayInstanceOfDirectedCommunicationLink_class(problem:LogicProble
369{ 369{
370 find interpretation(problem,interpretation); 370 find interpretation(problem,interpretation);
371 PartialInterpretation.newElements(interpretation,element); 371 PartialInterpretation.newElements(interpretation,element);
372 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
373 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
374 neg find mustInstanceOfPayload_class(problem,interpretation,element); 372 neg find mustInstanceOfPayload_class(problem,interpretation,element);
375 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 373 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
374 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation); 376 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation);
377 neg find isPrimitive(element); 377 neg find isPrimitive(element);
378} or { 378} or {
379 find interpretation(problem,interpretation); 379 find interpretation(problem,interpretation);
380 PartialInterpretation.openWorldElements(interpretation,element); 380 PartialInterpretation.openWorldElements(interpretation,element);
381 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
382 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
383 neg find mustInstanceOfPayload_class(problem,interpretation,element); 381 neg find mustInstanceOfPayload_class(problem,interpretation,element);
384 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 382 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
383 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
384 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
385 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation); 385 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation);
386 neg find isPrimitive(element); 386 neg find isPrimitive(element);
387} or 387} or
@@ -410,20 +410,20 @@ private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:
410 find interpretation(problem,interpretation); 410 find interpretation(problem,interpretation);
411 PartialInterpretation.newElements(interpretation,element); 411 PartialInterpretation.newElements(interpretation,element);
412 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 412 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
413 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
414 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
415 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 413 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
416 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); 415 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
416 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
417 neg find scopeDisallowsNewPayload_class(problem, interpretation); 417 neg find scopeDisallowsNewPayload_class(problem, interpretation);
418 neg find isPrimitive(element); 418 neg find isPrimitive(element);
419} or { 419} or {
420 find interpretation(problem,interpretation); 420 find interpretation(problem,interpretation);
421 PartialInterpretation.openWorldElements(interpretation,element); 421 PartialInterpretation.openWorldElements(interpretation,element);
422 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 422 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
423 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
424 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
425 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 423 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
424 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
426 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); 425 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
426 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
427 neg find scopeDisallowsNewPayload_class(problem, interpretation); 427 neg find scopeDisallowsNewPayload_class(problem, interpretation);
428 neg find isPrimitive(element); 428 neg find isPrimitive(element);
429} or 429} or
@@ -452,18 +452,18 @@ private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, i
452 find interpretation(problem,interpretation); 452 find interpretation(problem,interpretation);
453 PartialInterpretation.newElements(interpretation,element); 453 PartialInterpretation.newElements(interpretation,element);
454 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 454 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
455 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
456 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
457 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 455 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
456 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); 458 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
459 neg find isPrimitive(element); 459 neg find isPrimitive(element);
460} or { 460} or {
461 find interpretation(problem,interpretation); 461 find interpretation(problem,interpretation);
462 PartialInterpretation.openWorldElements(interpretation,element); 462 PartialInterpretation.openWorldElements(interpretation,element);
463 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 463 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
464 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
465 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
466 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 464 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
465 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
466 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
467 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); 467 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
468 neg find isPrimitive(element); 468 neg find isPrimitive(element);
469} or 469} or
@@ -491,25 +491,25 @@ private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretatio
491{ 491{
492 find interpretation(problem,interpretation); 492 find interpretation(problem,interpretation);
493 PartialInterpretation.newElements(interpretation,element); 493 PartialInterpretation.newElements(interpretation,element);
494 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
495 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 494 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
495 neg find mustInstanceOfPayload_class(problem,interpretation,element);
496 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 496 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
497 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 498 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
498 neg find mustInstanceOfPayload_class(problem,interpretation,element); 499 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 500 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
500 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
501 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); 501 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
502 neg find isPrimitive(element); 502 neg find isPrimitive(element);
503} or { 503} or {
504 find interpretation(problem,interpretation); 504 find interpretation(problem,interpretation);
505 PartialInterpretation.openWorldElements(interpretation,element); 505 PartialInterpretation.openWorldElements(interpretation,element);
506 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
507 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 506 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
507 neg find mustInstanceOfPayload_class(problem,interpretation,element);
508 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 508 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
509 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
509 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 510 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
510 neg find mustInstanceOfPayload_class(problem,interpretation,element); 511 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
511 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 512 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
512 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
513 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); 513 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
514 neg find isPrimitive(element); 514 neg find isPrimitive(element);
515} or 515} or
@@ -538,24 +538,24 @@ private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretatio
538 find interpretation(problem,interpretation); 538 find interpretation(problem,interpretation);
539 PartialInterpretation.newElements(interpretation,element); 539 PartialInterpretation.newElements(interpretation,element);
540 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 540 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
541 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 541 neg find mustInstanceOfPayload_class(problem,interpretation,element);
542 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
542 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
543 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 544 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 545 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
546 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 546 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
547 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); 547 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
548 neg find isPrimitive(element); 548 neg find isPrimitive(element);
549} or { 549} or {
550 find interpretation(problem,interpretation); 550 find interpretation(problem,interpretation);
551 PartialInterpretation.openWorldElements(interpretation,element); 551 PartialInterpretation.openWorldElements(interpretation,element);
552 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 552 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
553 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 553 neg find mustInstanceOfPayload_class(problem,interpretation,element);
554 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
554 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 555 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
555 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 556 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
556 neg find mustInstanceOfPayload_class(problem,interpretation,element);
557 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 557 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
558 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 558 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
559 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); 559 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
560 neg find isPrimitive(element); 560 neg find isPrimitive(element);
561} or 561} or
@@ -584,22 +584,22 @@ private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation
584 find interpretation(problem,interpretation); 584 find interpretation(problem,interpretation);
585 PartialInterpretation.newElements(interpretation,element); 585 PartialInterpretation.newElements(interpretation,element);
586 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 586 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfPayload_class(problem,interpretation,element); 587 neg find mustInstanceOfPayload_class(problem,interpretation,element);
590 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 588 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
589 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
591 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 590 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
591 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
592 neg find scopeDisallowsNewSmallSat_class(problem, interpretation); 592 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
593 neg find isPrimitive(element); 593 neg find isPrimitive(element);
594} or { 594} or {
595 find interpretation(problem,interpretation); 595 find interpretation(problem,interpretation);
596 PartialInterpretation.openWorldElements(interpretation,element); 596 PartialInterpretation.openWorldElements(interpretation,element);
597 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 597 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
598 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
599 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
600 neg find mustInstanceOfPayload_class(problem,interpretation,element); 598 neg find mustInstanceOfPayload_class(problem,interpretation,element);
601 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 599 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
600 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
602 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 601 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
602 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
603 neg find scopeDisallowsNewSmallSat_class(problem, interpretation); 603 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
604 neg find isPrimitive(element); 604 neg find isPrimitive(element);
605} or 605} or
@@ -628,26 +628,26 @@ private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:
628 find interpretation(problem,interpretation); 628 find interpretation(problem,interpretation);
629 PartialInterpretation.newElements(interpretation,element); 629 PartialInterpretation.newElements(interpretation,element);
630 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 630 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
631 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
632 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 633 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
633 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 634 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
634 neg find mustInstanceOfPayload_class(problem,interpretation,element);
635 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 635 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
636 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
636 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 637 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
637 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
638 neg find scopeDisallowsNewCubeSat_class(problem, interpretation); 638 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
639 neg find isPrimitive(element); 639 neg find isPrimitive(element);
640} or { 640} or {
641 find interpretation(problem,interpretation); 641 find interpretation(problem,interpretation);
642 PartialInterpretation.openWorldElements(interpretation,element); 642 PartialInterpretation.openWorldElements(interpretation,element);
643 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 643 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
644 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 644 neg find mustInstanceOfPayload_class(problem,interpretation,element);
645 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
645 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 646 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
646 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 647 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
647 neg find mustInstanceOfPayload_class(problem,interpretation,element);
648 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 648 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
649 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
649 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 650 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
650 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
651 neg find scopeDisallowsNewCubeSat_class(problem, interpretation); 651 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
652 neg find isPrimitive(element); 652 neg find isPrimitive(element);
653} or 653} or
@@ -760,9 +760,9 @@ private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:Lo
760 find interpretation(problem,interpretation); 760 find interpretation(problem,interpretation);
761 PartialInterpretation.newElements(interpretation,element); 761 PartialInterpretation.newElements(interpretation,element);
762 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 762 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
763 neg find mustInstanceOfPayload_class(problem,interpretation,element);
763 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 764 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
764 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
765 neg find mustInstanceOfPayload_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); 767 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
768 neg find isPrimitive(element); 768 neg find isPrimitive(element);
@@ -770,9 +770,9 @@ private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:Lo
770 find interpretation(problem,interpretation); 770 find interpretation(problem,interpretation);
771 PartialInterpretation.openWorldElements(interpretation,element); 771 PartialInterpretation.openWorldElements(interpretation,element);
772 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 772 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
773 neg find mustInstanceOfPayload_class(problem,interpretation,element);
773 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 774 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 775 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfPayload_class(problem,interpretation,element);
776 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 776 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
777 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); 777 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
778 neg find isPrimitive(element); 778 neg find isPrimitive(element);
@@ -823,18 +823,18 @@ private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:L
823 find interpretation(problem,interpretation); 823 find interpretation(problem,interpretation);
824 PartialInterpretation.newElements(interpretation,element); 824 PartialInterpretation.newElements(interpretation,element);
825 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 825 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
826 neg find mustInstanceOfPayload_class(problem,interpretation,element);
826 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
827 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 828 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); 829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element); 830 neg find isPrimitive(element);
831} or { 831} or {
832 find interpretation(problem,interpretation); 832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element); 833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 834 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
835 neg find mustInstanceOfPayload_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 836 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 837 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
837 neg find mustInstanceOfPayload_class(problem,interpretation,element);
838 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); 838 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
839 neg find isPrimitive(element); 839 neg find isPrimitive(element);
840} or 840} or
@@ -884,10 +884,10 @@ private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:Lo
884 find interpretation(problem,interpretation); 884 find interpretation(problem,interpretation);
885 PartialInterpretation.newElements(interpretation,element); 885 PartialInterpretation.newElements(interpretation,element);
886 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 886 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element); 887 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 888 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
889 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
890 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
891 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 891 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
892 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); 892 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
893 neg find isPrimitive(element); 893 neg find isPrimitive(element);
@@ -895,10 +895,10 @@ private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:Lo
895 find interpretation(problem,interpretation); 895 find interpretation(problem,interpretation);
896 PartialInterpretation.openWorldElements(interpretation,element); 896 PartialInterpretation.openWorldElements(interpretation,element);
897 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 897 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
898 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
899 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
900 neg find mustInstanceOfPayload_class(problem,interpretation,element); 898 neg find mustInstanceOfPayload_class(problem,interpretation,element);
901 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 899 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
900 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
901 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
902 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 902 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
903 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); 903 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
904 neg find isPrimitive(element); 904 neg find isPrimitive(element);
@@ -949,9 +949,9 @@ private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:Lo
949 find interpretation(problem,interpretation); 949 find interpretation(problem,interpretation);
950 PartialInterpretation.newElements(interpretation,element); 950 PartialInterpretation.newElements(interpretation,element);
951 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 951 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
952 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
953 neg find mustInstanceOfPayload_class(problem,interpretation,element); 952 neg find mustInstanceOfPayload_class(problem,interpretation,element);
954 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
954 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
955 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 955 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
956 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); 956 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
957 neg find isPrimitive(element); 957 neg find isPrimitive(element);
@@ -959,9 +959,9 @@ private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:Lo
959 find interpretation(problem,interpretation); 959 find interpretation(problem,interpretation);
960 PartialInterpretation.openWorldElements(interpretation,element); 960 PartialInterpretation.openWorldElements(interpretation,element);
961 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 961 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
962 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
963 neg find mustInstanceOfPayload_class(problem,interpretation,element); 962 neg find mustInstanceOfPayload_class(problem,interpretation,element);
964 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 963 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
964 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
965 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 965 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
966 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); 966 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
967 neg find isPrimitive(element); 967 neg find isPrimitive(element);
@@ -1012,18 +1012,18 @@ private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProb
1012 find interpretation(problem,interpretation); 1012 find interpretation(problem,interpretation);
1013 PartialInterpretation.newElements(interpretation,element); 1013 PartialInterpretation.newElements(interpretation,element);
1014 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 1014 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1015 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1016 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1015 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1017 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1016 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1017 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1018 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); 1018 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1019 neg find isPrimitive(element); 1019 neg find isPrimitive(element);
1020} or { 1020} or {
1021 find interpretation(problem,interpretation); 1021 find interpretation(problem,interpretation);
1022 PartialInterpretation.openWorldElements(interpretation,element); 1022 PartialInterpretation.openWorldElements(interpretation,element);
1023 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 1023 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1024 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1025 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1026 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1025 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1026 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1027 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); 1027 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1028 neg find isPrimitive(element); 1028 neg find isPrimitive(element);
1029} or 1029} or
@@ -1155,39 +1155,21 @@ private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1155/** 1155/**
1156 * Matcher for detecting tuples t where []communicationLink reference CommunicatingElement(source,target) 1156 * Matcher for detecting tuples t where []communicationLink reference CommunicatingElement(source,target)
1157 */ 1157 */
1158 private pattern mustInRelationcommunicationLink_reference_CommunicatingElement( 1158private pattern mustInRelationcommunicationLink_reference_CommunicatingElement(
1159 problem:LogicProblem, interpretation:PartialInterpretation,
1160 source: DefinedElement, target:DefinedElement)
1161 {
1162 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkOfElement(problem,interpretation,source,target);
1163 }
1164/**
1165 * Matcher for detecting tuples t where []communicationLink reference CommunicatingElement(source,target)
1166 */
1167 private pattern mayInRelationcommunicationLink_reference_CommunicatingElement(
1168 problem:LogicProblem, interpretation:PartialInterpretation,
1169 source: DefinedElement, target:DefinedElement)
1170 {
1171 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkOfElement(problem,interpretation,source,target);
1172 }
1173/**
1174 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1175 */
1176private pattern mustInRelationpayload_reference_Spacecraft(
1177 problem:LogicProblem, interpretation:PartialInterpretation, 1159 problem:LogicProblem, interpretation:PartialInterpretation,
1178 source: DefinedElement, target:DefinedElement) 1160 source: DefinedElement, target:DefinedElement)
1179{ 1161{
1180 find interpretation(problem,interpretation); 1162 find interpretation(problem,interpretation);
1181 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 1163 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1182 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft"); 1164 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"communicationLink reference CommunicatingElement");
1183 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 1165 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1184 BinaryElementRelationLink.param1(link,source); 1166 BinaryElementRelationLink.param1(link,source);
1185 BinaryElementRelationLink.param2(link,target); 1167 BinaryElementRelationLink.param2(link,target);
1186} 1168}
1187/** 1169/**
1188 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target) 1170 * Matcher for detecting tuples t where <>communicationLink reference CommunicatingElement(source,target)
1189 */ 1171 */
1190private pattern mayInRelationpayload_reference_Spacecraft( 1172private pattern mayInRelationcommunicationLink_reference_CommunicatingElement(
1191 problem:LogicProblem, interpretation:PartialInterpretation, 1173 problem:LogicProblem, interpretation:PartialInterpretation,
1192 source: DefinedElement, target:DefinedElement) 1174 source: DefinedElement, target:DefinedElement)
1193{ 1175{
@@ -1196,11 +1178,11 @@ private pattern mayInRelationpayload_reference_Spacecraft(
1196 find mayExist(problem, interpretation, source); 1178 find mayExist(problem, interpretation, source);
1197 find mayExist(problem, interpretation, target); 1179 find mayExist(problem, interpretation, target);
1198 // Type consistency 1180 // Type consistency
1199 find mayInstanceOfSpacecraft_class(problem,interpretation,source); 1181 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1200 find mayInstanceOfPayload_class(problem,interpretation,target); 1182 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,target);
1201 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 1183 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1202 // the upper bound of the multiplicity should be considered. 1184 // the upper bound of the multiplicity should be considered.
1203 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_); 1185 numberOfExistingReferences == count find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,_);
1204 check(numberOfExistingReferences < 1); 1186 check(numberOfExistingReferences < 1);
1205 // The reference is containment, then a new reference cannot be create if: 1187 // The reference is containment, then a new reference cannot be create if:
1206 // 1. Multiple parents 1188 // 1. Multiple parents
@@ -1208,26 +1190,26 @@ private pattern mayInRelationpayload_reference_Spacecraft(
1208 // 2. Circle in the containment hierarchy 1190 // 2. Circle in the containment hierarchy
1209 neg find mustTransitiveContains(source,target); 1191 neg find mustTransitiveContains(source,target);
1210} or { 1192} or {
1211 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); 1193 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,target);
1212} 1194}
1213/** 1195/**
1214 * Matcher for detecting tuples t where []communicationLink reference CommSubsystem(source,target) 1196 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1215 */ 1197 */
1216private pattern mustInRelationcommunicationLink_reference_CommSubsystem( 1198private pattern mustInRelationpayload_reference_Spacecraft(
1217 problem:LogicProblem, interpretation:PartialInterpretation, 1199 problem:LogicProblem, interpretation:PartialInterpretation,
1218 source: DefinedElement, target:DefinedElement) 1200 source: DefinedElement, target:DefinedElement)
1219{ 1201{
1220 find interpretation(problem,interpretation); 1202 find interpretation(problem,interpretation);
1221 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 1203 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1222 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"communicationLink reference CommSubsystem"); 1204 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1223 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 1205 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1224 BinaryElementRelationLink.param1(link,source); 1206 BinaryElementRelationLink.param1(link,source);
1225 BinaryElementRelationLink.param2(link,target); 1207 BinaryElementRelationLink.param2(link,target);
1226} 1208}
1227/** 1209/**
1228 * Matcher for detecting tuples t where <>communicationLink reference CommSubsystem(source,target) 1210 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1229 */ 1211 */
1230private pattern mayInRelationcommunicationLink_reference_CommSubsystem( 1212private pattern mayInRelationpayload_reference_Spacecraft(
1231 problem:LogicProblem, interpretation:PartialInterpretation, 1213 problem:LogicProblem, interpretation:PartialInterpretation,
1232 source: DefinedElement, target:DefinedElement) 1214 source: DefinedElement, target:DefinedElement)
1233{ 1215{
@@ -1236,11 +1218,11 @@ private pattern mayInRelationcommunicationLink_reference_CommSubsystem(
1236 find mayExist(problem, interpretation, source); 1218 find mayExist(problem, interpretation, source);
1237 find mayExist(problem, interpretation, target); 1219 find mayExist(problem, interpretation, target);
1238 // Type consistency 1220 // Type consistency
1239 find mayInstanceOfCommSubsystem_class(problem,interpretation,source); 1221 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1240 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,target); 1222 find mayInstanceOfPayload_class(problem,interpretation,target);
1241 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 1223 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1242 // the upper bound of the multiplicity should be considered. 1224 // the upper bound of the multiplicity should be considered.
1243 numberOfExistingReferences == count find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,source,_); 1225 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1244 check(numberOfExistingReferences < 1); 1226 check(numberOfExistingReferences < 1);
1245 // The reference is containment, then a new reference cannot be create if: 1227 // The reference is containment, then a new reference cannot be create if:
1246 // 1. Multiple parents 1228 // 1. Multiple parents
@@ -1248,7 +1230,7 @@ private pattern mayInRelationcommunicationLink_reference_CommSubsystem(
1248 // 2. Circle in the containment hierarchy 1230 // 2. Circle in the containment hierarchy
1249 neg find mustTransitiveContains(source,target); 1231 neg find mustTransitiveContains(source,target);
1250} or { 1232} or {
1251 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,source,target); 1233 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1252} 1234}
1253/** 1235/**
1254 * Matcher for detecting tuples t where []source reference DirectedCommunicationLink(source,target) 1236 * Matcher for detecting tuples t where []source reference DirectedCommunicationLink(source,target)
@@ -1412,118 +1394,69 @@ private pattern mayInRelationgain_attribute_CommSubsystem(
1412////////// 1394//////////
1413// 1.3 Relation Definition Indexers 1395// 1.3 Relation Definition Indexers
1414////////// 1396//////////
1415// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries multipleCommunicationLinks 1397// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1416private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks( 1398private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1417 problem:LogicProblem, interpretation:PartialInterpretation,
1418 var_Element)
1419{
1420 find interpretation(problem,interpretation);
1421 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 // Element is exported
1423 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1424 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1425 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1426 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1);
1427 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1);
1428 find mustEquivalent(problem, interpretation, var_virtual1, var_Link1);
1429 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1430 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual2);
1431 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1432 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3);
1433 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual3);
1434 find mustEquivalent(problem, interpretation, var_virtual3, var_Link2);
1435 neg find mayEquivalent(problem, interpretation, var_Link1, var_Link2);
1436}
1437private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(
1438 problem:LogicProblem, interpretation:PartialInterpretation,
1439 var_Element)
1440{
1441 find interpretation(problem,interpretation);
1442 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1443 // Element is exported
1444 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1445 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1446 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1447 find mayInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1);
1448 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1);
1449 find mayEquivalent(problem, interpretation, var_virtual1, var_Link1);
1450 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1451 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual2);
1452 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1453 find mayInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3);
1454 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual3);
1455 find mayEquivalent(problem, interpretation, var_virtual3, var_Link2);
1456 neg find mustEquivalent(problem, interpretation, var_Link1, var_Link2);
1457}
1458private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(
1459 problem:LogicProblem, interpretation:PartialInterpretation, 1399 problem:LogicProblem, interpretation:PartialInterpretation,
1460 var_Element) 1400 var_Link)
1461{
1462 find interpretation(problem,interpretation);
1463 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1464 // Element is exported
1465 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1466 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1467 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1468 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1);
1469 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1);
1470 find mustEquivalent(problem, interpretation, var_virtual1, var_Link1);
1471 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1472 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual2);
1473 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1474 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3);
1475 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual3);
1476 find mustEquivalent(problem, interpretation, var_virtual3, var_Link2);
1477 neg find mustEquivalent(problem, interpretation, var_Link1, var_Link2);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkOfElement
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkOfElement(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Element, var_Link)
1483{ 1401{
1484 find interpretation(problem,interpretation); 1402 find interpretation(problem,interpretation);
1485 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1486 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1403 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1487 // Element is exported
1488 // Link is exported 1404 // Link is exported
1489 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1405 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1490 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1406 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1491 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 1407 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0);
1492 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); 1408 find mustEquivalent(problem, interpretation, var_virtual0, var_Link);
1493 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1); 1409 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1494 find mustEquivalent(problem, interpretation, var_virtual1, var_Link); 1410 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
1411 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1412 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm);
1413 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1414 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1415 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1416 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1417 neg find mayEquivalent(problem, interpretation, var_Element, var_SourceElement);
1495} 1418}
1496private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkOfElement( 1419private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1497 problem:LogicProblem, interpretation:PartialInterpretation, 1420 problem:LogicProblem, interpretation:PartialInterpretation,
1498 var_Element, var_Link) 1421 var_Link)
1499{ 1422{
1500 find interpretation(problem,interpretation); 1423 find interpretation(problem,interpretation);
1501 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1502 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1424 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1503 // Element is exported
1504 // Link is exported 1425 // Link is exported
1505 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1426 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1506 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1427 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1507 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 1428 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0);
1508 find mayInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); 1429 find mayEquivalent(problem, interpretation, var_virtual0, var_Link);
1509 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1); 1430 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1510 find mayEquivalent(problem, interpretation, var_virtual1, var_Link); 1431 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
1432 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1433 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceComm);
1434 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1435 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1436 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1437 find mayEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1438 neg find mustEquivalent(problem, interpretation, var_Element, var_SourceElement);
1511} 1439}
1512private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkOfElement( 1440private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1513 problem:LogicProblem, interpretation:PartialInterpretation, 1441 problem:LogicProblem, interpretation:PartialInterpretation,
1514 var_Element, var_Link) 1442 var_Link)
1515{ 1443{
1516 find interpretation(problem,interpretation); 1444 find interpretation(problem,interpretation);
1517 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1518 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1445 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1519 // Element is exported
1520 // Link is exported 1446 // Link is exported
1521 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1447 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1522 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1448 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1523 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 1449 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0);
1524 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); 1450 find mustEquivalent(problem, interpretation, var_virtual0, var_Link);
1525 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1); 1451 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1526 find mustEquivalent(problem, interpretation, var_virtual1, var_Link); 1452 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
1453 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1454 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm);
1455 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1456 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1457 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1458 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1459 neg find mustEquivalent(problem, interpretation, var_Element, var_SourceElement);
1527} 1460}
1528// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads 1461// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1529private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( 1462private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
@@ -2942,9 +2875,9 @@ private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterp
2942 2875
2943 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or 2876 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2944 2877
2945 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }or 2878 { find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,target); }or
2946 2879
2947 { find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,source,target); } 2880 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2948 2881
2949private pattern mustTransitiveContains(source,target) { 2882private pattern mustTransitiveContains(source,target) {
2950 find mustContains2+(source,target); 2883 find mustContains2+(source,target);
@@ -2955,10 +2888,10 @@ private pattern mustTransitiveContains(source,target) {
2955////////// 2888//////////
2956// 2.1 Invalidated by WF Queries 2889// 2.1 Invalidated by WF Queries
2957////////// 2890//////////
2958pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(problem:LogicProblem, interpretation:PartialInterpretation, 2891pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2959 var_Element) 2892 var_Link)
2960{ 2893{
2961 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(problem,interpretation,var_Element); 2894 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Link);
2962} 2895}
2963pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, 2896pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2964 var_Mission) 2897 var_Mission)
@@ -3088,10 +3021,10 @@ pattern unfinishedLowerMultiplicity_gain_attribute_CommSubsystem(problem:LogicPr
3088////////// 3021//////////
3089// 3.2 Unfinishedness Measured by WF Queries 3022// 3.2 Unfinishedness Measured by WF Queries
3090////////// 3023//////////
3091pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(problem:LogicProblem, interpretation:PartialInterpretation, 3024pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
3092 var_Element) 3025 var_Link)
3093{ 3026{
3094 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(problem,interpretation,var_Element); 3027 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Link);
3095} 3028}
3096pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, 3029pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
3097 var_Mission) 3030 var_Mission)
@@ -3157,55 +3090,55 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie
3157private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 3090private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
3158{ 3091{
3159 find interpretation(problem,interpretation); 3092 find interpretation(problem,interpretation);
3160 find mustInstanceOfSpacecraft_class(problem,interpretation,root); 3093 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
3161 find mustExist(problem, interpretation, root); 3094 find mustExist(problem, interpretation, root);
3162}or{ 3095}or{
3163 find interpretation(problem,interpretation); 3096 find interpretation(problem,interpretation);
3164 find mustInstanceOfCubeSat6U_class(problem,interpretation,root); 3097 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
3165 find mustExist(problem, interpretation, root); 3098 find mustExist(problem, interpretation, root);
3166}or{ 3099}or{
3167 find interpretation(problem,interpretation); 3100 find interpretation(problem,interpretation);
3168 find mustInstanceOfSmallSat_class(problem,interpretation,root); 3101 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,root);
3169 find mustExist(problem, interpretation, root); 3102 find mustExist(problem, interpretation, root);
3170}or{ 3103}or{
3171 find interpretation(problem,interpretation); 3104 find interpretation(problem,interpretation);
3172 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); 3105 find mustInstanceOfCubeSat_class(problem,interpretation,root);
3173 find mustExist(problem, interpretation, root); 3106 find mustExist(problem, interpretation, root);
3174}or{ 3107}or{
3175 find interpretation(problem,interpretation); 3108 find interpretation(problem,interpretation);
3176 find mustInstanceOfPayload_class(problem,interpretation,root); 3109 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
3177 find mustExist(problem, interpretation, root); 3110 find mustExist(problem, interpretation, root);
3178}or{ 3111}or{
3179 find interpretation(problem,interpretation); 3112 find interpretation(problem,interpretation);
3180 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); 3113 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
3181 find mustExist(problem, interpretation, root); 3114 find mustExist(problem, interpretation, root);
3182}or{ 3115}or{
3183 find interpretation(problem,interpretation); 3116 find interpretation(problem,interpretation);
3184 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,root); 3117 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
3185 find mustExist(problem, interpretation, root); 3118 find mustExist(problem, interpretation, root);
3186}or{ 3119}or{
3187 find interpretation(problem,interpretation); 3120 find interpretation(problem,interpretation);
3188 find mustInstanceOfCubeSat_class(problem,interpretation,root); 3121 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
3189 find mustExist(problem, interpretation, root); 3122 find mustExist(problem, interpretation, root);
3190}or{ 3123}or{
3191 find interpretation(problem,interpretation); 3124 find interpretation(problem,interpretation);
3192 find mustInstanceOfCubeSat3U_class(problem,interpretation,root); 3125 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
3193 find mustExist(problem, interpretation, root); 3126 find mustExist(problem, interpretation, root);
3194}or{ 3127}or{
3195 find interpretation(problem,interpretation); 3128 find interpretation(problem,interpretation);
3196 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); 3129 find mustInstanceOfSmallSat_class(problem,interpretation,root);
3197 find mustExist(problem, interpretation, root); 3130 find mustExist(problem, interpretation, root);
3198}or{ 3131}or{
3199 find interpretation(problem,interpretation); 3132 find interpretation(problem,interpretation);
3200 find mustInstanceOfConstellationMission_class(problem,interpretation,root); 3133 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
3201 find mustExist(problem, interpretation, root); 3134 find mustExist(problem, interpretation, root);
3202}or{ 3135}or{
3203 find interpretation(problem,interpretation); 3136 find interpretation(problem,interpretation);
3204 find mustInstanceOfInterferometryMission_class(problem,interpretation,root); 3137 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
3205 find mustExist(problem, interpretation, root); 3138 find mustExist(problem, interpretation, root);
3206}or{ 3139}or{
3207 find interpretation(problem,interpretation); 3140 find interpretation(problem,interpretation);
3208 find mustInstanceOfCommSubsystem_class(problem,interpretation,root); 3141 find mustInstanceOfPayload_class(problem,interpretation,root);
3209 find mustExist(problem, interpretation, root); 3142 find mustExist(problem, interpretation, root);
3210}or{ 3143}or{
3211 find interpretation(problem,interpretation); 3144 find interpretation(problem,interpretation);
@@ -3248,87 +3181,99 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
3248 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); 3181 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
3249 find mustExist(problem, interpretation, root); 3182 find mustExist(problem, interpretation, root);
3250} 3183}
3251pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( 3184pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommunicatingElement(
3252 problem:LogicProblem, interpretation:PartialInterpretation, 3185 problem:LogicProblem, interpretation:PartialInterpretation,
3253 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3186 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3254 container:DefinedElement) 3187 container:DefinedElement)
3255{ 3188{
3256 find interpretation(problem,interpretation); 3189 find interpretation(problem,interpretation);
3257 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3190 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3258 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 3191 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class");
3259 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3192 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3260 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); 3193 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommunicatingElement");
3261 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 3194 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
3262 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 3195 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject);
3263 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); 3196 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,container,newObject);
3264 find mustExist(problem, interpretation, container); 3197 find mustExist(problem, interpretation, container);
3265 neg find mustExist(problem, interpretation, newObject); 3198 neg find mustExist(problem, interpretation, newObject);
3266} 3199}
3267pattern createObject_GroundStationNetwork_class_UndefinedPart( 3200pattern createObject_DirectedCommunicationLink_class(
3268 problem:LogicProblem, interpretation:PartialInterpretation, 3201 problem:LogicProblem, interpretation:PartialInterpretation,
3269 typeInterpretation:PartialComplexTypeInterpretation) 3202 typeInterpretation:PartialComplexTypeInterpretation)
3270{ 3203{
3271 find interpretation(problem,interpretation); 3204 find interpretation(problem,interpretation);
3272 neg find hasElementInContainment(problem,interpretation); 3205 neg find hasElementInContainment(problem,interpretation);
3273 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3206 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3274 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 3207 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class");
3275 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 3208 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject);
3276 find mayExist(problem, interpretation, newObject); 3209 find mayExist(problem, interpretation, newObject);
3277 neg find mustExist(problem, interpretation, newObject); 3210 neg find mustExist(problem, interpretation, newObject);
3278} 3211}
3279pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( 3212pattern createObject_InterferometryMission_class_UndefinedPart(
3213 problem:LogicProblem, interpretation:PartialInterpretation,
3214 typeInterpretation:PartialComplexTypeInterpretation)
3215{
3216 find interpretation(problem,interpretation);
3217 neg find hasElementInContainment(problem,interpretation);
3218 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3219 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
3220 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
3221 find mayExist(problem, interpretation, newObject);
3222 neg find mustExist(problem, interpretation, newObject);
3223}
3224pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
3280 problem:LogicProblem, interpretation:PartialInterpretation, 3225 problem:LogicProblem, interpretation:PartialInterpretation,
3281 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3226 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3282 container:DefinedElement) 3227 container:DefinedElement)
3283{ 3228{
3284 find interpretation(problem,interpretation); 3229 find interpretation(problem,interpretation);
3285 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3230 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3286 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 3231 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
3287 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3232 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3288 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 3233 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
3289 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 3234 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
3290 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 3235 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
3291 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 3236 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
3292 find mustExist(problem, interpretation, container); 3237 find mustExist(problem, interpretation, container);
3293 neg find mustExist(problem, interpretation, newObject); 3238 neg find mustExist(problem, interpretation, newObject);
3294} 3239}
3295pattern createObject_SmallSat_class( 3240pattern createObject_InterferometryPayload_class(
3296 problem:LogicProblem, interpretation:PartialInterpretation, 3241 problem:LogicProblem, interpretation:PartialInterpretation,
3297 typeInterpretation:PartialComplexTypeInterpretation) 3242 typeInterpretation:PartialComplexTypeInterpretation)
3298{ 3243{
3299 find interpretation(problem,interpretation); 3244 find interpretation(problem,interpretation);
3300 neg find hasElementInContainment(problem,interpretation); 3245 neg find hasElementInContainment(problem,interpretation);
3301 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3246 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3302 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 3247 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
3303 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 3248 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
3304 find mayExist(problem, interpretation, newObject); 3249 find mayExist(problem, interpretation, newObject);
3305 neg find mustExist(problem, interpretation, newObject); 3250 neg find mustExist(problem, interpretation, newObject);
3306} 3251}
3307pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommSubsystem( 3252pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
3308 problem:LogicProblem, interpretation:PartialInterpretation, 3253 problem:LogicProblem, interpretation:PartialInterpretation,
3309 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3254 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3310 container:DefinedElement) 3255 container:DefinedElement)
3311{ 3256{
3312 find interpretation(problem,interpretation); 3257 find interpretation(problem,interpretation);
3313 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3258 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3314 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 3259 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
3315 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3260 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3316 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommSubsystem"); 3261 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
3317 find mustInstanceOfCommSubsystem_class(problem,interpretation,container); 3262 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3318 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 3263 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
3319 find mayInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,container,newObject); 3264 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
3320 find mustExist(problem, interpretation, container); 3265 find mustExist(problem, interpretation, container);
3321 neg find mustExist(problem, interpretation, newObject); 3266 neg find mustExist(problem, interpretation, newObject);
3322} 3267}
3323pattern createObject_DirectedCommunicationLink_class( 3268pattern createObject_GroundStationNetwork_class_UndefinedPart(
3324 problem:LogicProblem, interpretation:PartialInterpretation, 3269 problem:LogicProblem, interpretation:PartialInterpretation,
3325 typeInterpretation:PartialComplexTypeInterpretation) 3270 typeInterpretation:PartialComplexTypeInterpretation)
3326{ 3271{
3327 find interpretation(problem,interpretation); 3272 find interpretation(problem,interpretation);
3328 neg find hasElementInContainment(problem,interpretation); 3273 neg find hasElementInContainment(problem,interpretation);
3329 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3274 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3330 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 3275 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
3331 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 3276 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
3332 find mayExist(problem, interpretation, newObject); 3277 find mayExist(problem, interpretation, newObject);
3333 neg find mustExist(problem, interpretation, newObject); 3278 neg find mustExist(problem, interpretation, newObject);
3334} 3279}
@@ -3360,31 +3305,31 @@ pattern createObject_CubeSat3U_class(
3360 find mayExist(problem, interpretation, newObject); 3305 find mayExist(problem, interpretation, newObject);
3361 neg find mustExist(problem, interpretation, newObject); 3306 neg find mustExist(problem, interpretation, newObject);
3362} 3307}
3363pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( 3308pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
3364 problem:LogicProblem, interpretation:PartialInterpretation, 3309 problem:LogicProblem, interpretation:PartialInterpretation,
3365 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3310 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3366 container:DefinedElement) 3311 container:DefinedElement)
3367{ 3312{
3368 find interpretation(problem,interpretation); 3313 find interpretation(problem,interpretation);
3369 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3314 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3370 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); 3315 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
3371 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3316 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3372 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 3317 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
3373 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 3318 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3374 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); 3319 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
3375 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 3320 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3376 find mustExist(problem, interpretation, container); 3321 find mustExist(problem, interpretation, container);
3377 neg find mustExist(problem, interpretation, newObject); 3322 neg find mustExist(problem, interpretation, newObject);
3378} 3323}
3379pattern createObject_CubeSat6U_class( 3324pattern createObject_SmallSat_class(
3380 problem:LogicProblem, interpretation:PartialInterpretation, 3325 problem:LogicProblem, interpretation:PartialInterpretation,
3381 typeInterpretation:PartialComplexTypeInterpretation) 3326 typeInterpretation:PartialComplexTypeInterpretation)
3382{ 3327{
3383 find interpretation(problem,interpretation); 3328 find interpretation(problem,interpretation);
3384 neg find hasElementInContainment(problem,interpretation); 3329 neg find hasElementInContainment(problem,interpretation);
3385 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3330 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3386 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); 3331 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
3387 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); 3332 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
3388 find mayExist(problem, interpretation, newObject); 3333 find mayExist(problem, interpretation, newObject);
3389 neg find mustExist(problem, interpretation, newObject); 3334 neg find mustExist(problem, interpretation, newObject);
3390} 3335}
@@ -3416,43 +3361,31 @@ pattern createObject_CommSubsystem_class_UndefinedPart(
3416 find mayExist(problem, interpretation, newObject); 3361 find mayExist(problem, interpretation, newObject);
3417 neg find mustExist(problem, interpretation, newObject); 3362 neg find mustExist(problem, interpretation, newObject);
3418} 3363}
3419pattern createObject_InterferometryMission_class_UndefinedPart( 3364pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
3420 problem:LogicProblem, interpretation:PartialInterpretation,
3421 typeInterpretation:PartialComplexTypeInterpretation)
3422{
3423 find interpretation(problem,interpretation);
3424 neg find hasElementInContainment(problem,interpretation);
3425 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3426 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
3427 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
3428 find mayExist(problem, interpretation, newObject);
3429 neg find mustExist(problem, interpretation, newObject);
3430}
3431pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
3432 problem:LogicProblem, interpretation:PartialInterpretation, 3365 problem:LogicProblem, interpretation:PartialInterpretation,
3433 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3366 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3434 container:DefinedElement) 3367 container:DefinedElement)
3435{ 3368{
3436 find interpretation(problem,interpretation); 3369 find interpretation(problem,interpretation);
3437 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3370 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3438 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); 3371 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
3439 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3372 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3440 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); 3373 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
3441 find mustInstanceOfSpacecraft_class(problem,interpretation,container); 3374 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3442 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); 3375 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
3443 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); 3376 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3444 find mustExist(problem, interpretation, container); 3377 find mustExist(problem, interpretation, container);
3445 neg find mustExist(problem, interpretation, newObject); 3378 neg find mustExist(problem, interpretation, newObject);
3446} 3379}
3447pattern createObject_InterferometryPayload_class( 3380pattern createObject_CubeSat6U_class(
3448 problem:LogicProblem, interpretation:PartialInterpretation, 3381 problem:LogicProblem, interpretation:PartialInterpretation,
3449 typeInterpretation:PartialComplexTypeInterpretation) 3382 typeInterpretation:PartialComplexTypeInterpretation)
3450{ 3383{
3451 find interpretation(problem,interpretation); 3384 find interpretation(problem,interpretation);
3452 neg find hasElementInContainment(problem,interpretation); 3385 neg find hasElementInContainment(problem,interpretation);
3453 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3386 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3454 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); 3387 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
3455 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); 3388 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
3456 find mayExist(problem, interpretation, newObject); 3389 find mayExist(problem, interpretation, newObject);
3457 neg find mustExist(problem, interpretation, newObject); 3390 neg find mustExist(problem, interpretation, newObject);
3458} 3391}
@@ -3460,114 +3393,99 @@ pattern createObject_InterferometryPayload_class(
3460////////// 3393//////////
3461// 4.2 Type refinement 3394// 4.2 Type refinement
3462////////// 3395//////////
3463pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3396pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3464 find interpretation(problem,interpretation); 3397 find interpretation(problem,interpretation);
3465 PartialInterpretation.newElements(interpretation,element); 3398 PartialInterpretation.newElements(interpretation,element);
3466 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); 3399 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3467 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3468 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3400 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3469 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3470 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3401 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3471 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3402 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3472 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 3403 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3404 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3473} 3405}
3474pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3406pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3475 find interpretation(problem,interpretation); 3407 find interpretation(problem,interpretation);
3476 PartialInterpretation.newElements(interpretation,element); 3408 PartialInterpretation.newElements(interpretation,element);
3477 find mayInstanceOfSmallSat_class(problem,interpretation,element); 3409 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3478 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3479 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3410 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3480 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3481 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3482 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3411 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3483 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 3412 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3484 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3413 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3414 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3485} 3415}
3486pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3416pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3487 find interpretation(problem,interpretation); 3417 find interpretation(problem,interpretation);
3488 PartialInterpretation.newElements(interpretation,element); 3418 PartialInterpretation.newElements(interpretation,element);
3489 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3419 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
3490 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3420 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3491 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3421 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3492 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 3422 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3423 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3424 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
3425}
3426pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3427 find interpretation(problem,interpretation);
3428 PartialInterpretation.newElements(interpretation,element);
3429 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3430 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3493 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3431 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3494 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3432 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3433 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3434 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3435 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
3495} 3436}
3496pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3437pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3497 find interpretation(problem,interpretation); 3438 find interpretation(problem,interpretation);
3498 PartialInterpretation.newElements(interpretation,element); 3439 PartialInterpretation.newElements(interpretation,element);
3499 find mayInstanceOfCubeSat3U_class(problem,interpretation,element); 3440 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
3500 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3441 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3501 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 3442 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3502 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 3443 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3444 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3503 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3445 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3504 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3505 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 3446 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3447 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3506 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 3448 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3507 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3508} 3449}
3509pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3450pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3510 find interpretation(problem,interpretation); 3451 find interpretation(problem,interpretation);
3511 PartialInterpretation.newElements(interpretation,element); 3452 PartialInterpretation.newElements(interpretation,element);
3512 find mayInstanceOfCubeSat6U_class(problem,interpretation,element); 3453 find mayInstanceOfSmallSat_class(problem,interpretation,element);
3513 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3454 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3514 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3515 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3516 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3517 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3455 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3518 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 3456 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3519 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 3457 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3520 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3458 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3459 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3460 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3521} 3461}
3522pattern refineTypeTo_CommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3462pattern refineTypeTo_CommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3523 find interpretation(problem,interpretation); 3463 find interpretation(problem,interpretation);
3524 PartialInterpretation.newElements(interpretation,element); 3464 PartialInterpretation.newElements(interpretation,element);
3525 find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 3465 find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3526 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3466 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3527 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3528 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3467 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3529 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3468 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3531}
3532pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3533 find interpretation(problem,interpretation);
3534 PartialInterpretation.newElements(interpretation,element);
3535 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3536 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3537 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3538 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 3469 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3539 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3470 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3540 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3541} 3471}
3542pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3472pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3543 find interpretation(problem,interpretation); 3473 find interpretation(problem,interpretation);
3544 PartialInterpretation.newElements(interpretation,element); 3474 PartialInterpretation.newElements(interpretation,element);
3545 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element); 3475 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
3546 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3476 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3547 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3477 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3548 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3549 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3478 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3550 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); 3479 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3480 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3481 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3482 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3483 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3551} 3484}
3552 3485
3553////////// 3486//////////
3554// 4.3 Relation refinement 3487// 4.3 Relation refinement
3555////////// 3488//////////
3556pattern refineRelation_communicationLink_reference_CommunicatingElement(
3557 problem:LogicProblem, interpretation:PartialInterpretation,
3558 relationIterpretation:PartialRelationInterpretation,
3559 from: DefinedElement, to: DefinedElement)
3560{
3561 find interpretation(problem,interpretation);
3562 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3563 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"communicationLink reference CommunicatingElement");
3564 find mustExist(problem, interpretation, from);
3565 find mustExist(problem, interpretation, to);
3566 find mustInstanceOfCommunicatingElement_class(problem,interpretation,from);
3567 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,to);
3568 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,from,to);
3569 neg find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,from,to);
3570}
3571pattern refineRelation_source_reference_DirectedCommunicationLink( 3489pattern refineRelation_source_reference_DirectedCommunicationLink(
3572 problem:LogicProblem, interpretation:PartialInterpretation, 3490 problem:LogicProblem, interpretation:PartialInterpretation,
3573 relationIterpretation:PartialRelationInterpretation, 3491 relationIterpretation:PartialRelationInterpretation,
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 2164c23c..2a54174a 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
@@ -648,38 +648,7 @@
648 </expression> 648 </expression>
649 </value> 649 </value>
650 </assertions> 650 </assertions>
651 <assertions name="upperMultiplicity communicationLink CommSubsystem" annotations="//@annotations.8"> 651 <assertions name="lowerMultiplicity source DirectedCommunicationLink" annotations="//@annotations.8">
652 <value xsi:type="language_1:Forall">
653 <quantifiedVariables name="src">
654 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
655 </quantifiedVariables>
656 <quantifiedVariables name="trg 1">
657 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
658 </quantifiedVariables>
659 <quantifiedVariables name="trg 2">
660 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
661 </quantifiedVariables>
662 <expression xsi:type="language_1:Impl">
663 <leftOperand xsi:type="language_1:And">
664 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
665 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/>
666 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.1"/>
667 </operands>
668 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
669 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/>
670 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.2"/>
671 </operands>
672 </leftOperand>
673 <rightOperand xsi:type="language_1:Not">
674 <operand xsi:type="language_1:Distinct">
675 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.1"/>
676 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.2"/>
677 </operand>
678 </rightOperand>
679 </expression>
680 </value>
681 </assertions>
682 <assertions name="lowerMultiplicity source DirectedCommunicationLink" annotations="//@annotations.9">
683 <value xsi:type="language_1:Forall"> 652 <value xsi:type="language_1:Forall">
684 <quantifiedVariables name="src"> 653 <quantifiedVariables name="src">
685 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 654 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -689,15 +658,15 @@
689 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 658 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
690 </quantifiedVariables> 659 </quantifiedVariables>
691 <expression xsi:type="language_1:And"> 660 <expression xsi:type="language_1:And">
692 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 661 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
693 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/> 662 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/>
694 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@expression/@quantifiedVariables.0"/> 663 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@expression/@quantifiedVariables.0"/>
695 </operands> 664 </operands>
696 </expression> 665 </expression>
697 </expression> 666 </expression>
698 </value> 667 </value>
699 </assertions> 668 </assertions>
700 <assertions name="upperMultiplicity source DirectedCommunicationLink" annotations="//@annotations.10"> 669 <assertions name="upperMultiplicity source DirectedCommunicationLink" annotations="//@annotations.9">
701 <value xsi:type="language_1:Forall"> 670 <value xsi:type="language_1:Forall">
702 <quantifiedVariables name="src"> 671 <quantifiedVariables name="src">
703 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 672 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -710,25 +679,25 @@
710 </quantifiedVariables> 679 </quantifiedVariables>
711 <expression xsi:type="language_1:Impl"> 680 <expression xsi:type="language_1:Impl">
712 <leftOperand xsi:type="language_1:And"> 681 <leftOperand xsi:type="language_1:And">
713 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 682 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
714 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/> 683 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/>
715 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.1"/> 684 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/>
716 </operands> 685 </operands>
717 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 686 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
718 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/> 687 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/>
719 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.2"/> 688 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/>
720 </operands> 689 </operands>
721 </leftOperand> 690 </leftOperand>
722 <rightOperand xsi:type="language_1:Not"> 691 <rightOperand xsi:type="language_1:Not">
723 <operand xsi:type="language_1:Distinct"> 692 <operand xsi:type="language_1:Distinct">
724 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.1"/> 693 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/>
725 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.2"/> 694 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/>
726 </operand> 695 </operand>
727 </rightOperand> 696 </rightOperand>
728 </expression> 697 </expression>
729 </value> 698 </value>
730 </assertions> 699 </assertions>
731 <assertions name="lowerMultiplicity target DirectedCommunicationLink" annotations="//@annotations.11"> 700 <assertions name="lowerMultiplicity target DirectedCommunicationLink" annotations="//@annotations.10">
732 <value xsi:type="language_1:Forall"> 701 <value xsi:type="language_1:Forall">
733 <quantifiedVariables name="src"> 702 <quantifiedVariables name="src">
734 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 703 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -738,15 +707,15 @@
738 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 707 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
739 </quantifiedVariables> 708 </quantifiedVariables>
740 <expression xsi:type="language_1:And"> 709 <expression xsi:type="language_1:And">
741 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 710 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
742 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/> 711 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
743 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@expression/@quantifiedVariables.0"/> 712 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@expression/@quantifiedVariables.0"/>
744 </operands> 713 </operands>
745 </expression> 714 </expression>
746 </expression> 715 </expression>
747 </value> 716 </value>
748 </assertions> 717 </assertions>
749 <assertions name="upperMultiplicity target DirectedCommunicationLink" annotations="//@annotations.12"> 718 <assertions name="upperMultiplicity target DirectedCommunicationLink" annotations="//@annotations.11">
750 <value xsi:type="language_1:Forall"> 719 <value xsi:type="language_1:Forall">
751 <quantifiedVariables name="src"> 720 <quantifiedVariables name="src">
752 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 721 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -759,25 +728,25 @@
759 </quantifiedVariables> 728 </quantifiedVariables>
760 <expression xsi:type="language_1:Impl"> 729 <expression xsi:type="language_1:Impl">
761 <leftOperand xsi:type="language_1:And"> 730 <leftOperand xsi:type="language_1:And">
762 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 731 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/> 732 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
764 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.1"/> 733 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/>
765 </operands> 734 </operands>
766 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 735 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
767 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/> 736 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
768 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.2"/> 737 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.2"/>
769 </operands> 738 </operands>
770 </leftOperand> 739 </leftOperand>
771 <rightOperand xsi:type="language_1:Not"> 740 <rightOperand xsi:type="language_1:Not">
772 <operand xsi:type="language_1:Distinct"> 741 <operand xsi:type="language_1:Distinct">
773 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.1"/> 742 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/>
774 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.2"/> 743 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.2"/>
775 </operand> 744 </operand>
776 </rightOperand> 745 </rightOperand>
777 </expression> 746 </expression>
778 </value> 747 </value>
779 </assertions> 748 </assertions>
780 <assertions name="lowerMultiplicity kind Spacecraft" annotations="//@annotations.13"> 749 <assertions name="lowerMultiplicity kind Spacecraft" annotations="//@annotations.12">
781 <value xsi:type="language_1:Forall"> 750 <value xsi:type="language_1:Forall">
782 <quantifiedVariables name="src"> 751 <quantifiedVariables name="src">
783 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 752 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -787,15 +756,15 @@
787 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 756 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
788 </quantifiedVariables> 757 </quantifiedVariables>
789 <expression xsi:type="language_1:And"> 758 <expression xsi:type="language_1:And">
790 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 759 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
791 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/> 760 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/>
792 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@expression/@quantifiedVariables.0"/> 761 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@expression/@quantifiedVariables.0"/>
793 </operands> 762 </operands>
794 </expression> 763 </expression>
795 </expression> 764 </expression>
796 </value> 765 </value>
797 </assertions> 766 </assertions>
798 <assertions name="upperMultiplicity kind Spacecraft" annotations="//@annotations.14"> 767 <assertions name="upperMultiplicity kind Spacecraft" annotations="//@annotations.13">
799 <value xsi:type="language_1:Forall"> 768 <value xsi:type="language_1:Forall">
800 <quantifiedVariables name="src"> 769 <quantifiedVariables name="src">
801 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 770 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -808,25 +777,25 @@
808 </quantifiedVariables> 777 </quantifiedVariables>
809 <expression xsi:type="language_1:Impl"> 778 <expression xsi:type="language_1:Impl">
810 <leftOperand xsi:type="language_1:And"> 779 <leftOperand xsi:type="language_1:And">
811 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 780 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
812 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/> 781 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
813 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.1"/> 782 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.1"/>
814 </operands> 783 </operands>
815 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 784 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
816 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/> 785 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
817 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.2"/> 786 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.2"/>
818 </operands> 787 </operands>
819 </leftOperand> 788 </leftOperand>
820 <rightOperand xsi:type="language_1:Not"> 789 <rightOperand xsi:type="language_1:Not">
821 <operand xsi:type="language_1:Distinct"> 790 <operand xsi:type="language_1:Distinct">
822 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.1"/> 791 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.1"/>
823 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.2"/> 792 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.2"/>
824 </operand> 793 </operand>
825 </rightOperand> 794 </rightOperand>
826 </expression> 795 </expression>
827 </value> 796 </value>
828 </assertions> 797 </assertions>
829 <assertions name="lowerMultiplicity band CommSubsystem" annotations="//@annotations.15"> 798 <assertions name="lowerMultiplicity band CommSubsystem" annotations="//@annotations.14">
830 <value xsi:type="language_1:Forall"> 799 <value xsi:type="language_1:Forall">
831 <quantifiedVariables name="src"> 800 <quantifiedVariables name="src">
832 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 801 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -836,15 +805,15 @@
836 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 805 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
837 </quantifiedVariables> 806 </quantifiedVariables>
838 <expression xsi:type="language_1:And"> 807 <expression xsi:type="language_1:And">
839 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 808 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
840 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/> 809 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
841 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@expression/@quantifiedVariables.0"/> 810 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@expression/@quantifiedVariables.0"/>
842 </operands> 811 </operands>
843 </expression> 812 </expression>
844 </expression> 813 </expression>
845 </value> 814 </value>
846 </assertions> 815 </assertions>
847 <assertions name="upperMultiplicity band CommSubsystem" annotations="//@annotations.16"> 816 <assertions name="upperMultiplicity band CommSubsystem" annotations="//@annotations.15">
848 <value xsi:type="language_1:Forall"> 817 <value xsi:type="language_1:Forall">
849 <quantifiedVariables name="src"> 818 <quantifiedVariables name="src">
850 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 819 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -857,25 +826,25 @@
857 </quantifiedVariables> 826 </quantifiedVariables>
858 <expression xsi:type="language_1:Impl"> 827 <expression xsi:type="language_1:Impl">
859 <leftOperand xsi:type="language_1:And"> 828 <leftOperand xsi:type="language_1:And">
860 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 829 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
861 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/> 830 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.1"/> 831 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.1"/>
863 </operands> 832 </operands>
864 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 833 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
865 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/> 834 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
866 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.2"/> 835 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.2"/>
867 </operands> 836 </operands>
868 </leftOperand> 837 </leftOperand>
869 <rightOperand xsi:type="language_1:Not"> 838 <rightOperand xsi:type="language_1:Not">
870 <operand xsi:type="language_1:Distinct"> 839 <operand xsi:type="language_1:Distinct">
871 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.1"/> 840 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.1"/>
872 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.2"/> 841 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.2"/>
873 </operand> 842 </operand>
874 </rightOperand> 843 </rightOperand>
875 </expression> 844 </expression>
876 </value> 845 </value>
877 </assertions> 846 </assertions>
878 <assertions name="lowerMultiplicity gain CommSubsystem" annotations="//@annotations.17"> 847 <assertions name="lowerMultiplicity gain CommSubsystem" annotations="//@annotations.16">
879 <value xsi:type="language_1:Forall"> 848 <value xsi:type="language_1:Forall">
880 <quantifiedVariables name="src"> 849 <quantifiedVariables name="src">
881 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 850 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -885,15 +854,15 @@
885 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 854 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
886 </quantifiedVariables> 855 </quantifiedVariables>
887 <expression xsi:type="language_1:And"> 856 <expression xsi:type="language_1:And">
888 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 857 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
889 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/> 858 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
890 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@expression/@quantifiedVariables.0"/> 859 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@expression/@quantifiedVariables.0"/>
891 </operands> 860 </operands>
892 </expression> 861 </expression>
893 </expression> 862 </expression>
894 </value> 863 </value>
895 </assertions> 864 </assertions>
896 <assertions name="upperMultiplicity gain CommSubsystem" annotations="//@annotations.18"> 865 <assertions name="upperMultiplicity gain CommSubsystem" annotations="//@annotations.17">
897 <value xsi:type="language_1:Forall"> 866 <value xsi:type="language_1:Forall">
898 <quantifiedVariables name="src"> 867 <quantifiedVariables name="src">
899 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 868 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -906,31 +875,31 @@
906 </quantifiedVariables> 875 </quantifiedVariables>
907 <expression xsi:type="language_1:Impl"> 876 <expression xsi:type="language_1:Impl">
908 <leftOperand xsi:type="language_1:And"> 877 <leftOperand xsi:type="language_1:And">
909 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 878 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
910 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.0"/> 879 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
911 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.1"/> 880 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.1"/>
912 </operands> 881 </operands>
913 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 882 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
914 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.0"/> 883 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
915 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.2"/> 884 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.2"/>
916 </operands> 885 </operands>
917 </leftOperand> 886 </leftOperand>
918 <rightOperand xsi:type="language_1:Not"> 887 <rightOperand xsi:type="language_1:Not">
919 <operand xsi:type="language_1:Distinct"> 888 <operand xsi:type="language_1:Distinct">
920 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.1"/> 889 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.1"/>
921 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.2"/> 890 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.2"/>
922 </operand> 891 </operand>
923 </rightOperand> 892 </rightOperand>
924 </expression> 893 </expression>
925 </value> 894 </value>
926 </assertions> 895 </assertions>
927 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.19"> 896 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.18">
928 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 897 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
929 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.9"/> 898 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.9"/>
930 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/> 899 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/>
931 </value> 900 </value>
932 </assertions> 901 </assertions>
933 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.20"> 902 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.19">
934 <value xsi:type="language_1:And"> 903 <value xsi:type="language_1:And">
935 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 904 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
936 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/> 905 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/>
@@ -942,34 +911,46 @@
942 </operands> 911 </operands>
943 </value> 912 </value>
944 </assertions> 913 </assertions>
945 <assertions name="PartialInterpretation band attribute CommSubsystem" annotations="//@annotations.21"> 914 <assertions name="PartialInterpretation band attribute CommSubsystem" annotations="//@annotations.20">
946 <value xsi:type="language_1:And"> 915 <value xsi:type="language_1:And">
947 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 916 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
948 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/> 917 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/>
949 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
950 </operands> 919 </operands>
951 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 920 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
952 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/> 921 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/>
953 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> 922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
954 </operands> 923 </operands>
955 </value> 924 </value>
956 </assertions> 925 </assertions>
957 <assertions name="PartialInterpretation gain attribute CommSubsystem" annotations="//@annotations.22"> 926 <assertions name="PartialInterpretation gain attribute CommSubsystem" annotations="//@annotations.21">
958 <value xsi:type="language_1:And"> 927 <value xsi:type="language_1:And">
959 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 928 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
960 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/> 929 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/>
961 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/> 930 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/>
962 </operands> 931 </operands>
963 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 932 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
964 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/> 933 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/>
965 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.5"/> 934 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.5"/>
966 </operands> 935 </operands>
967 </value> 936 </value>
968 </assertions> 937 </assertions>
969 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries multipleCommunicationLinks" annotations="//@annotations.52"> 938 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.50">
970 <value xsi:type="language_1:Forall"> 939 <value xsi:type="language_1:Forall">
971 <quantifiedVariables name="p0"> 940 <quantifiedVariables name="p0">
972 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 941 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
942 </quantifiedVariables>
943 <expression xsi:type="language_1:Not">
944 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
945 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.22/@value/@quantifiedVariables.0"/>
946 </operand>
947 </expression>
948 </value>
949 </assertions>
950 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.51">
951 <value xsi:type="language_1:Forall">
952 <quantifiedVariables name="p0">
953 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
973 </quantifiedVariables> 954 </quantifiedVariables>
974 <expression xsi:type="language_1:Not"> 955 <expression xsi:type="language_1:Not">
975 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11"> 956 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11">
@@ -978,55 +959,55 @@
978 </expression> 959 </expression>
979 </value> 960 </value>
980 </assertions> 961 </assertions>
981 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.53"> 962 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.52">
982 <value xsi:type="language_1:Forall"> 963 <value xsi:type="language_1:Forall">
983 <quantifiedVariables name="p0"> 964 <quantifiedVariables name="p0">
984 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 965 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
985 </quantifiedVariables> 966 </quantifiedVariables>
986 <expression xsi:type="language_1:Not"> 967 <expression xsi:type="language_1:Not">
987 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> 968 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
988 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.24/@value/@quantifiedVariables.0"/> 969 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.24/@value/@quantifiedVariables.0"/>
989 </operand> 970 </operand>
990 </expression> 971 </expression>
991 </value> 972 </value>
992 </assertions> 973 </assertions>
993 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.54"> 974 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.53">
994 <value xsi:type="language_1:Forall"> 975 <value xsi:type="language_1:Forall">
995 <quantifiedVariables name="p0"> 976 <quantifiedVariables name="p0">
996 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 977 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
997 </quantifiedVariables> 978 </quantifiedVariables>
998 <expression xsi:type="language_1:Not"> 979 <expression xsi:type="language_1:Not">
999 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16"> 980 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1000 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.25/@value/@quantifiedVariables.0"/> 981 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.25/@value/@quantifiedVariables.0"/>
1001 </operand> 982 </operand>
1002 </expression> 983 </expression>
1003 </value> 984 </value>
1004 </assertions> 985 </assertions>
1005 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.55"> 986 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.54">
1006 <value xsi:type="language_1:Forall"> 987 <value xsi:type="language_1:Forall">
1007 <quantifiedVariables name="p0"> 988 <quantifiedVariables name="p0">
1008 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 989 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1009 </quantifiedVariables> 990 </quantifiedVariables>
1010 <expression xsi:type="language_1:Not"> 991 <expression xsi:type="language_1:Not">
1011 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17"> 992 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20">
1012 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.26/@value/@quantifiedVariables.0"/> 993 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.26/@value/@quantifiedVariables.0"/>
1013 </operand> 994 </operand>
1014 </expression> 995 </expression>
1015 </value> 996 </value>
1016 </assertions> 997 </assertions>
1017 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.56"> 998 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.55">
1018 <value xsi:type="language_1:Forall"> 999 <value xsi:type="language_1:Forall">
1019 <quantifiedVariables name="p0"> 1000 <quantifiedVariables name="p0">
1020 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1021 </quantifiedVariables> 1002 </quantifiedVariables>
1022 <expression xsi:type="language_1:Not"> 1003 <expression xsi:type="language_1:Not">
1023 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22"> 1004 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
1024 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.27/@value/@quantifiedVariables.0"/> 1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.27/@value/@quantifiedVariables.0"/>
1025 </operand> 1006 </operand>
1026 </expression> 1007 </expression>
1027 </value> 1008 </value>
1028 </assertions> 1009 </assertions>
1029 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.57"> 1010 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.56">
1030 <value xsi:type="language_1:Forall"> 1011 <value xsi:type="language_1:Forall">
1031 <quantifiedVariables name="p0"> 1012 <quantifiedVariables name="p0">
1032 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1013 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -1038,10 +1019,10 @@
1038 </expression> 1019 </expression>
1039 </value> 1020 </value>
1040 </assertions> 1021 </assertions>
1041 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.58"> 1022 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.57">
1042 <value xsi:type="language_1:Forall"> 1023 <value xsi:type="language_1:Forall">
1043 <quantifiedVariables name="p0"> 1024 <quantifiedVariables name="p0">
1044 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1025 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1045 </quantifiedVariables> 1026 </quantifiedVariables>
1046 <expression xsi:type="language_1:Not"> 1027 <expression xsi:type="language_1:Not">
1047 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27"> 1028 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27">
@@ -1050,7 +1031,7 @@
1050 </expression> 1031 </expression>
1051 </value> 1032 </value>
1052 </assertions> 1033 </assertions>
1053 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.59"> 1034 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.58">
1054 <value xsi:type="language_1:Forall"> 1035 <value xsi:type="language_1:Forall">
1055 <quantifiedVariables name="p0"> 1036 <quantifiedVariables name="p0">
1056 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1037 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1062,7 +1043,7 @@
1062 </expression> 1043 </expression>
1063 </value> 1044 </value>
1064 </assertions> 1045 </assertions>
1065 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.60"> 1046 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.59">
1066 <value xsi:type="language_1:Forall"> 1047 <value xsi:type="language_1:Forall">
1067 <quantifiedVariables name="p0"> 1048 <quantifiedVariables name="p0">
1068 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1049 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1074,38 +1055,26 @@
1074 </expression> 1055 </expression>
1075 </value> 1056 </value>
1076 </assertions> 1057 </assertions>
1077 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.61"> 1058 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.60">
1078 <value xsi:type="language_1:Forall">
1079 <quantifiedVariables name="p0">
1080 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1081 </quantifiedVariables>
1082 <expression xsi:type="language_1:Not">
1083 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33">
1084 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.32/@value/@quantifiedVariables.0"/>
1085 </operand>
1086 </expression>
1087 </value>
1088 </assertions>
1089 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.62">
1090 <value xsi:type="language_1:Forall"> 1059 <value xsi:type="language_1:Forall">
1091 <quantifiedVariables name="p0"> 1060 <quantifiedVariables name="p0">
1092 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1061 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1093 </quantifiedVariables> 1062 </quantifiedVariables>
1094 <expression xsi:type="language_1:Not"> 1063 <expression xsi:type="language_1:Not">
1095 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34"> 1064 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32">
1096 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.33/@value/@quantifiedVariables.0"/> 1065 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.32/@value/@quantifiedVariables.0"/>
1097 </operand> 1066 </operand>
1098 </expression> 1067 </expression>
1099 </value> 1068 </value>
1100 </assertions> 1069 </assertions>
1101 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.63"> 1070 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.61">
1102 <value xsi:type="language_1:Forall"> 1071 <value xsi:type="language_1:Forall">
1103 <quantifiedVariables name="p0"> 1072 <quantifiedVariables name="p0">
1104 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1073 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1105 </quantifiedVariables> 1074 </quantifiedVariables>
1106 <expression xsi:type="language_1:Not"> 1075 <expression xsi:type="language_1:Not">
1107 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37"> 1076 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35">
1108 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.34/@value/@quantifiedVariables.0"/> 1077 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.33/@value/@quantifiedVariables.0"/>
1109 </operand> 1078 </operand>
1110 </expression> 1079 </expression>
1111 </value> 1080 </value>
@@ -1122,7 +1091,7 @@
1122 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1091 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1123 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1092 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1124 </relations> 1093 </relations>
1125 <relations xsi:type="language_1:RelationDeclaration" name="communicationLink reference CommunicatingElement" annotations="//@annotations.64"> 1094 <relations xsi:type="language_1:RelationDeclaration" name="communicationLink reference CommunicatingElement">
1126 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1095 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1127 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1096 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1128 </relations> 1097 </relations>
@@ -1130,10 +1099,6 @@
1130 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1099 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1131 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/> 1100 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
1132 </relations> 1101 </relations>
1133 <relations xsi:type="language_1:RelationDeclaration" name="communicationLink reference CommSubsystem">
1134 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1135 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1136 </relations>
1137 <relations xsi:type="language_1:RelationDeclaration" name="source reference DirectedCommunicationLink"> 1102 <relations xsi:type="language_1:RelationDeclaration" name="source reference DirectedCommunicationLink">
1138 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1103 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1139 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1104 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1142,7 +1107,7 @@
1142 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1107 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1143 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1108 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1144 </relations> 1109 </relations>
1145 <relations xsi:type="language_1:RelationDeclaration" name="kind attribute Spacecraft" annotations="//@annotations.65"> 1110 <relations xsi:type="language_1:RelationDeclaration" name="kind attribute Spacecraft" annotations="//@annotations.62">
1146 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1111 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1147 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1112 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1148 </relations> 1113 </relations>
@@ -1154,90 +1119,48 @@
1154 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1119 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1155 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1120 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1156 </relations> 1121 </relations>
1157 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries multipleCommunicationLinks" annotations="//@annotations.23"> 1122 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.22">
1158 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1123 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1159 <variables name="parameter Element"> 1124 <variables name="parameter Link">
1160 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1125 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1161 </variables> 1126 </variables>
1162 <value xsi:type="language_1:Or"> 1127 <value xsi:type="language_1:Or">
1163 <operands xsi:type="language_1:Exists"> 1128 <operands xsi:type="language_1:Exists">
1164 <quantifiedVariables name="variable Link1"> 1129 <quantifiedVariables name="variable Element">
1165 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1130 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1166 </quantifiedVariables>
1167 <quantifiedVariables name="variable Link2">
1168 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1169 </quantifiedVariables> 1131 </quantifiedVariables>
1170 <quantifiedVariables name="variable virtual0"> 1132 <quantifiedVariables name="variable SourceComm">
1171 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1133 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1172 </quantifiedVariables> 1134 </quantifiedVariables>
1173 <quantifiedVariables name="variable virtual2"> 1135 <quantifiedVariables name="variable SourceElement">
1174 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1136 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1175 </quantifiedVariables> 1137 </quantifiedVariables>
1176 <expression xsi:type="language_1:And"> 1138 <expression xsi:type="language_1:And">
1177 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1139 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
1178 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 1140 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
1179 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.2"/> 1141 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1180 </operands> 1142 </operands>
1181 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1143 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1182 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.2"/> 1144 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1183 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/> 1145 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1184 </operands>
1185 <operands xsi:type="language_1:InstanceOf">
1186 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
1187 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1188 </operands> 1146 </operands>
1189 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1147 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1190 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 1148 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.2"/>
1191 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.3"/> 1149 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1192 </operands>
1193 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1194 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.3"/>
1195 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1196 </operands> 1150 </operands>
1197 <operands xsi:type="language_1:InstanceOf"> 1151 <operands xsi:type="language_1:InstanceOf">
1198 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/> 1152 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1199 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1153 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1200 </operands> 1154 </operands>
1201 <operands xsi:type="language_1:Distinct"> 1155 <operands xsi:type="language_1:Distinct">
1202 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/> 1156 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
1203 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/> 1157 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.2"/>
1204 </operands> 1158 </operands>
1205 </expression> 1159 </expression>
1206 </operands> 1160 </operands>
1207 </value> 1161 </value>
1208 </relations> 1162 </relations>
1209 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkOfElement" annotations="//@annotations.24" defines="//@relations.3"> 1163 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.23">
1210 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1211 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1212 <variables name="parameter Element">
1213 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1214 </variables>
1215 <variables name="parameter Link">
1216 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1217 </variables>
1218 <value xsi:type="language_1:Or">
1219 <operands xsi:type="language_1:Exists">
1220 <quantifiedVariables name="variable virtual0">
1221 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1222 </quantifiedVariables>
1223 <expression xsi:type="language_1:And">
1224 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1225 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
1226 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/>
1227 </operands>
1228 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1229 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/>
1230 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.1"/>
1231 </operands>
1232 <operands xsi:type="language_1:InstanceOf">
1233 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.1"/>
1234 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1235 </operands>
1236 </expression>
1237 </operands>
1238 </value>
1239 </relations>
1240 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.25">
1241 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1164 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1242 <variables name="parameter Mission"> 1165 <variables name="parameter Mission">
1243 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1166 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -1245,18 +1168,18 @@
1245 <value xsi:type="language_1:Or"> 1168 <value xsi:type="language_1:Or">
1246 <operands xsi:type="language_1:And"> 1169 <operands xsi:type="language_1:And">
1247 <operands xsi:type="language_1:InstanceOf"> 1170 <operands xsi:type="language_1:InstanceOf">
1248 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/> 1171 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1249 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1172 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1250 </operands> 1173 </operands>
1251 <operands xsi:type="language_1:Not"> 1174 <operands xsi:type="language_1:Not">
1252 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14"> 1175 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12">
1253 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/> 1176 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1254 </operand> 1177 </operand>
1255 </operands> 1178 </operands>
1256 </operands> 1179 </operands>
1257 </value> 1180 </value>
1258 </relations> 1181 </relations>
1259 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.26"> 1182 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.24">
1260 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1183 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1261 <variables name="parameter Mission"> 1184 <variables name="parameter Mission">
1262 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1185 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -1271,26 +1194,26 @@
1271 </quantifiedVariables> 1194 </quantifiedVariables>
1272 <expression xsi:type="language_1:And"> 1195 <expression xsi:type="language_1:And">
1273 <operands xsi:type="language_1:InstanceOf"> 1196 <operands xsi:type="language_1:InstanceOf">
1274 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1197 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
1275 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1198 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1276 </operands> 1199 </operands>
1277 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 1200 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13">
1278 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1201 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
1279 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/> 1202 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/>
1280 </operands> 1203 </operands>
1281 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 1204 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13">
1282 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1205 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
1283 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/> 1206 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/>
1284 </operands> 1207 </operands>
1285 <operands xsi:type="language_1:Distinct"> 1208 <operands xsi:type="language_1:Distinct">
1286 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/> 1209 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/>
1287 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/> 1210 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/>
1288 </operands> 1211 </operands>
1289 </expression> 1212 </expression>
1290 </operands> 1213 </operands>
1291 </value> 1214 </value>
1292 </relations> 1215 </relations>
1293 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.27"> 1216 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.25">
1294 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 1217 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
1295 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1218 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1296 <variables name="parameter Mission"> 1219 <variables name="parameter Mission">
@@ -1306,22 +1229,22 @@
1306 </quantifiedVariables> 1229 </quantifiedVariables>
1307 <expression xsi:type="language_1:And"> 1230 <expression xsi:type="language_1:And">
1308 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1231 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1309 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1232 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/> 1233 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1311 </operands> 1234 </operands>
1312 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> 1235 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1313 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/> 1236 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1314 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1237 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@value/@operands.0/@quantifiedVariables.0"/>
1315 </operands> 1238 </operands>
1316 <operands xsi:type="language_1:InstanceOf"> 1239 <operands xsi:type="language_1:InstanceOf">
1317 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1240 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@value/@operands.0/@quantifiedVariables.0"/>
1318 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/> 1241 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1319 </operands> 1242 </operands>
1320 </expression> 1243 </expression>
1321 </operands> 1244 </operands>
1322 </value> 1245 </value>
1323 </relations> 1246 </relations>
1324 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.28"> 1247 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.26">
1325 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1248 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1326 <variables name="parameter Spacecraft"> 1249 <variables name="parameter Spacecraft">
1327 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1250 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1336,32 +1259,32 @@
1336 </quantifiedVariables> 1259 </quantifiedVariables>
1337 <expression xsi:type="language_1:And"> 1260 <expression xsi:type="language_1:And">
1338 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 1261 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1339 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.0"/> 1262 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1340 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.1"/> 1263 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1341 </operands> 1264 </operands>
1342 <operands xsi:type="language_1:InstanceOf"> 1265 <operands xsi:type="language_1:InstanceOf">
1343 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.1"/> 1266 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1344 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1267 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1345 </operands> 1268 </operands>
1346 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1269 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1347 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.0"/> 1270 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1348 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1271 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1349 </operands> 1272 </operands>
1350 <operands xsi:type="language_1:InstanceOf"> 1273 <operands xsi:type="language_1:InstanceOf">
1351 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1274 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1352 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1275 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1353 </operands> 1276 </operands>
1354 <operands xsi:type="language_1:Not"> 1277 <operands xsi:type="language_1:Not">
1355 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23"> 1278 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21">
1356 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1279 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1357 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.1"/> 1280 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1358 </operand> 1281 </operand>
1359 </operands> 1282 </operands>
1360 </expression> 1283 </expression>
1361 </operands> 1284 </operands>
1362 </value> 1285 </value>
1363 </relations> 1286 </relations>
1364 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.29"> 1287 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.27">
1365 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1288 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1366 <variables name="parameter Spacecraft"> 1289 <variables name="parameter Spacecraft">
1367 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1290 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1376,32 +1299,32 @@
1376 </quantifiedVariables> 1299 </quantifiedVariables>
1377 <expression xsi:type="language_1:And"> 1300 <expression xsi:type="language_1:And">
1378 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 1301 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1379 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/> 1302 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/>
1380 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.1"/> 1303 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/>
1381 </operands> 1304 </operands>
1382 <operands xsi:type="language_1:InstanceOf"> 1305 <operands xsi:type="language_1:InstanceOf">
1383 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.1"/> 1306 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/>
1384 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1307 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1385 </operands> 1308 </operands>
1386 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1309 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1387 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/> 1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/>
1388 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1311 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1389 </operands> 1312 </operands>
1390 <operands xsi:type="language_1:InstanceOf"> 1313 <operands xsi:type="language_1:InstanceOf">
1391 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1314 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1392 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1315 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1393 </operands> 1316 </operands>
1394 <operands xsi:type="language_1:Not"> 1317 <operands xsi:type="language_1:Not">
1395 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18"> 1318 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16">
1396 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1319 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1397 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.1"/> 1320 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/>
1398 </operand> 1321 </operand>
1399 </operands> 1322 </operands>
1400 </expression> 1323 </expression>
1401 </operands> 1324 </operands>
1402 </value> 1325 </value>
1403 </relations> 1326 </relations>
1404 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.30"> 1327 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.28">
1405 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1328 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1406 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1329 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1407 <variables name="parameter From"> 1330 <variables name="parameter From">
@@ -1412,11 +1335,11 @@
1412 </variables> 1335 </variables>
1413 <value xsi:type="language_1:Or"> 1336 <value xsi:type="language_1:Or">
1414 <operands xsi:type="language_1:And"> 1337 <operands xsi:type="language_1:And">
1415 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.19"/> 1338 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.17"/>
1416 </operands> 1339 </operands>
1417 </value> 1340 </value>
1418 </relations> 1341 </relations>
1419 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.31"> 1342 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.29">
1420 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1343 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1421 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1344 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1422 <variables name="parameter From"> 1345 <variables name="parameter From">
@@ -1431,14 +1354,14 @@
1431 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1354 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1432 </quantifiedVariables> 1355 </quantifiedVariables>
1433 <expression xsi:type="language_1:And"> 1356 <expression xsi:type="language_1:And">
1434 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 1357 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
1435 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1358 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1436 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.1"/> 1359 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/>
1437 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.0"/> 1360 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/>
1438 </operands> 1361 </operands>
1439 <operands xsi:type="language_1:Not"> 1362 <operands xsi:type="language_1:Not">
1440 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21"> 1363 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
1441 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1364 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1442 </operand> 1365 </operand>
1443 </operands> 1366 </operands>
1444 </expression> 1367 </expression>
@@ -1449,16 +1372,16 @@
1449 </quantifiedVariables> 1372 </quantifiedVariables>
1450 <expression xsi:type="language_1:And"> 1373 <expression xsi:type="language_1:And">
1451 <operands xsi:type="language_1:Equals"> 1374 <operands xsi:type="language_1:Equals">
1452 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.1/@quantifiedVariables.0"/> 1375 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.1/@quantifiedVariables.0"/>
1453 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 1376 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
1454 </operands> 1377 </operands>
1455 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 1378 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
1456 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1379 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1457 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.1"/> 1380 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/>
1458 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.1/@quantifiedVariables.0"/> 1381 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.1/@quantifiedVariables.0"/>
1459 </operands> 1382 </operands>
1460 <operands xsi:type="language_1:InstanceOf"> 1383 <operands xsi:type="language_1:InstanceOf">
1461 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1384 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1462 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1385 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1463 </operands> 1386 </operands>
1464 </expression> 1387 </expression>
@@ -1468,24 +1391,24 @@
1468 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1391 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1469 </quantifiedVariables> 1392 </quantifiedVariables>
1470 <expression xsi:type="language_1:And"> 1393 <expression xsi:type="language_1:And">
1471 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 1394 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
1472 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1395 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1473 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.1"/> 1396 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/>
1474 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.2/@quantifiedVariables.0"/> 1397 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.2/@quantifiedVariables.0"/>
1475 </operands> 1398 </operands>
1476 <operands xsi:type="language_1:InstanceOf"> 1399 <operands xsi:type="language_1:InstanceOf">
1477 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1400 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1478 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1401 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1479 </operands> 1402 </operands>
1480 <operands xsi:type="language_1:InstanceOf"> 1403 <operands xsi:type="language_1:InstanceOf">
1481 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.1"/> 1404 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/>
1482 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1405 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1483 </operands> 1406 </operands>
1484 </expression> 1407 </expression>
1485 </operands> 1408 </operands>
1486 </value> 1409 </value>
1487 </relations> 1410 </relations>
1488 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.32"> 1411 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.30">
1489 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1412 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1490 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1413 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1491 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1414 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
@@ -1517,46 +1440,46 @@
1517 </quantifiedVariables> 1440 </quantifiedVariables>
1518 <expression xsi:type="language_1:And"> 1441 <expression xsi:type="language_1:And">
1519 <operands xsi:type="language_1:InstanceOf"> 1442 <operands xsi:type="language_1:InstanceOf">
1520 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> 1443 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1521 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1444 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1522 </operands> 1445 </operands>
1523 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1446 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1524 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> 1447 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1525 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/> 1448 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.1"/>
1526 </operands> 1449 </operands>
1527 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1450 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1528 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/> 1451 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.1"/>
1529 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.2"/> 1452 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/>
1530 </operands> 1453 </operands>
1531 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1454 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1532 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.1"/> 1455 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.1"/>
1533 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.2"/> 1456 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.2"/>
1534 </operands> 1457 </operands>
1535 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1458 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1536 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.2"/> 1459 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.2"/>
1537 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.2"/> 1460 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/>
1538 </operands> 1461 </operands>
1539 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1462 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1540 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> 1463 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1541 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.3"/> 1464 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.3"/>
1542 </operands> 1465 </operands>
1543 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 1466 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1544 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.3"/> 1467 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.3"/>
1545 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/> 1468 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/>
1546 </operands> 1469 </operands>
1547 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1470 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1548 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.1"/> 1471 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.1"/>
1549 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.4"/> 1472 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.4"/>
1550 </operands> 1473 </operands>
1551 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 1474 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1552 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.4"/> 1475 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.4"/>
1553 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/> 1476 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/>
1554 </operands> 1477 </operands>
1555 </expression> 1478 </expression>
1556 </operands> 1479 </operands>
1557 </value> 1480 </value>
1558 </relations> 1481 </relations>
1559 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.33"> 1482 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.31">
1560 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1483 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1561 <variables name="parameter Sat"> 1484 <variables name="parameter Sat">
1562 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1485 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
@@ -1564,27 +1487,27 @@
1564 <value xsi:type="language_1:Or"> 1487 <value xsi:type="language_1:Or">
1565 <operands xsi:type="language_1:And"> 1488 <operands xsi:type="language_1:And">
1566 <operands xsi:type="language_1:InstanceOf"> 1489 <operands xsi:type="language_1:InstanceOf">
1567 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/> 1490 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1568 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1491 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1569 </operands> 1492 </operands>
1570 </operands> 1493 </operands>
1571 </value> 1494 </value>
1572 </relations> 1495 </relations>
1573 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.34"> 1496 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.32">
1574 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1497 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1575 <variables name="parameter Element"> 1498 <variables name="parameter Element">
1576 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1499 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1577 </variables> 1500 </variables>
1578 <value xsi:type="language_1:Or"> 1501 <value xsi:type="language_1:Or">
1579 <operands xsi:type="language_1:And"> 1502 <operands xsi:type="language_1:And">
1580 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23"> 1503 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21">
1581 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> 1504 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
1582 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> 1505 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
1583 </operands> 1506 </operands>
1584 </operands> 1507 </operands>
1585 </value> 1508 </value>
1586 </relations> 1509 </relations>
1587 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.35"> 1510 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.33">
1588 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1511 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1589 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1512 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1590 <variables name="parameter Source"> 1513 <variables name="parameter Source">
@@ -1595,11 +1518,11 @@
1595 </variables> 1518 </variables>
1596 <value xsi:type="language_1:Or"> 1519 <value xsi:type="language_1:Or">
1597 <operands xsi:type="language_1:And"> 1520 <operands xsi:type="language_1:And">
1598 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.24"/> 1521 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.22"/>
1599 </operands> 1522 </operands>
1600 </value> 1523 </value>
1601 </relations> 1524 </relations>
1602 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.36"> 1525 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.34">
1603 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1526 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1604 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1527 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1605 <variables name="parameter Source"> 1528 <variables name="parameter Source">
@@ -1620,35 +1543,35 @@
1620 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1543 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1621 </quantifiedVariables> 1544 </quantifiedVariables>
1622 <expression xsi:type="language_1:And"> 1545 <expression xsi:type="language_1:And">
1623 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1546 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1624 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.0"/> 1547 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1625 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.1"/> 1548 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1626 </operands> 1549 </operands>
1627 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 1550 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1628 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.0"/> 1551 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1629 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.2"/> 1552 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1630 </operands> 1553 </operands>
1631 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1554 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1632 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/> 1555 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1633 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.1"/> 1556 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1634 </operands> 1557 </operands>
1635 <operands xsi:type="language_1:InstanceOf"> 1558 <operands xsi:type="language_1:InstanceOf">
1636 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.1"/> 1559 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1637 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1560 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1638 </operands> 1561 </operands>
1639 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1562 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1640 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.1"/> 1563 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.1"/>
1641 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.2"/> 1564 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1642 </operands> 1565 </operands>
1643 <operands xsi:type="language_1:InstanceOf"> 1566 <operands xsi:type="language_1:InstanceOf">
1644 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.2"/> 1567 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1645 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1568 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1646 </operands> 1569 </operands>
1647 </expression> 1570 </expression>
1648 </operands> 1571 </operands>
1649 </value> 1572 </value>
1650 </relations> 1573 </relations>
1651 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.37"> 1574 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.35">
1652 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1575 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1653 <variables name="parameter Link"> 1576 <variables name="parameter Link">
1654 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1577 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -1665,33 +1588,33 @@
1665 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1588 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1666 </quantifiedVariables> 1589 </quantifiedVariables>
1667 <expression xsi:type="language_1:And"> 1590 <expression xsi:type="language_1:And">
1668 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1591 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1669 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/> 1592 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1670 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/> 1593 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1671 </operands> 1594 </operands>
1672 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 1595 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1673 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/> 1596 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1674 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1597 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1675 </operands> 1598 </operands>
1676 <operands xsi:type="language_1:InstanceOf"> 1599 <operands xsi:type="language_1:InstanceOf">
1677 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1600 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1678 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1601 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1679 </operands> 1602 </operands>
1680 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1603 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1681 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/> 1604 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1682 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/> 1605 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1683 </operands> 1606 </operands>
1684 <operands xsi:type="language_1:Not"> 1607 <operands xsi:type="language_1:Not">
1685 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26"> 1608 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24">
1686 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1609 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1687 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/> 1610 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1688 </operand> 1611 </operand>
1689 </operands> 1612 </operands>
1690 </expression> 1613 </expression>
1691 </operands> 1614 </operands>
1692 </value> 1615 </value>
1693 </relations> 1616 </relations>
1694 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBand" annotations="//@annotations.38"> 1617 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBand" annotations="//@annotations.36">
1695 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1618 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1696 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1619 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1697 <variables name="parameter Comm"> 1620 <variables name="parameter Comm">
@@ -1702,14 +1625,14 @@
1702 </variables> 1625 </variables>
1703 <value xsi:type="language_1:Or"> 1626 <value xsi:type="language_1:Or">
1704 <operands xsi:type="language_1:And"> 1627 <operands xsi:type="language_1:And">
1705 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1628 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1706 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> 1629 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1707 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.1"/> 1630 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.1"/>
1708 </operands> 1631 </operands>
1709 </operands> 1632 </operands>
1710 </value> 1633 </value>
1711 </relations> 1634 </relations>
1712 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.39"> 1635 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.37">
1713 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1636 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1714 <variables name="parameter Link"> 1637 <variables name="parameter Link">
1715 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1638 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -1726,33 +1649,33 @@
1726 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1649 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1727 </quantifiedVariables> 1650 </quantifiedVariables>
1728 <expression xsi:type="language_1:And"> 1651 <expression xsi:type="language_1:And">
1729 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1652 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1730 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/> 1653 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1731 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/> 1654 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1732 </operands> 1655 </operands>
1733 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 1656 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1734 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/> 1657 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1735 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.1"/> 1658 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/>
1736 </operands> 1659 </operands>
1737 <operands xsi:type="language_1:InstanceOf"> 1660 <operands xsi:type="language_1:InstanceOf">
1738 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.1"/> 1661 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/>
1739 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1662 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1740 </operands> 1663 </operands>
1741 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 1664 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1742 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/> 1665 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1743 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.2"/> 1666 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/>
1744 </operands> 1667 </operands>
1745 <operands xsi:type="language_1:Not"> 1668 <operands xsi:type="language_1:Not">
1746 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28"> 1669 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26">
1747 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.1"/> 1670 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/>
1748 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.2"/> 1671 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/>
1749 </operand> 1672 </operand>
1750 </operands> 1673 </operands>
1751 </expression> 1674 </expression>
1752 </operands> 1675 </operands>
1753 </value> 1676 </value>
1754 </relations> 1677 </relations>
1755 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGain" annotations="//@annotations.40"> 1678 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGain" annotations="//@annotations.38">
1756 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1679 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1757 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1680 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1758 <variables name="parameter Comm"> 1681 <variables name="parameter Comm">
@@ -1763,14 +1686,14 @@
1763 </variables> 1686 </variables>
1764 <value xsi:type="language_1:Or"> 1687 <value xsi:type="language_1:Or">
1765 <operands xsi:type="language_1:And"> 1688 <operands xsi:type="language_1:And">
1766 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 1689 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1767 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.0"/> 1690 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1768 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.1"/> 1691 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.1"/>
1769 </operands> 1692 </operands>
1770 </operands> 1693 </operands>
1771 </value> 1694 </value>
1772 </relations> 1695 </relations>
1773 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.41"> 1696 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.39">
1774 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1697 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1775 <variables name="parameter Comm"> 1698 <variables name="parameter Comm">
1776 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1699 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1782,23 +1705,23 @@
1782 </quantifiedVariables> 1705 </quantifiedVariables>
1783 <expression xsi:type="language_1:And"> 1706 <expression xsi:type="language_1:And">
1784 <operands xsi:type="language_1:Equals"> 1707 <operands xsi:type="language_1:Equals">
1785 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/> 1708 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/>
1786 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 1709 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
1787 </operands> 1710 </operands>
1788 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1711 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1789 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/> 1712 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1790 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/> 1713 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/>
1791 </operands> 1714 </operands>
1792 <operands xsi:type="language_1:Not"> 1715 <operands xsi:type="language_1:Not">
1793 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30"> 1716 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28">
1794 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/> 1717 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1795 </operand> 1718 </operand>
1796 </operands> 1719 </operands>
1797 </expression> 1720 </expression>
1798 </operands> 1721 </operands>
1799 </value> 1722 </value>
1800 </relations> 1723 </relations>
1801 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainLow" annotations="//@annotations.42"> 1724 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainLow" annotations="//@annotations.40">
1802 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1725 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1803 <variables name="parameter Comm"> 1726 <variables name="parameter Comm">
1804 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1727 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1810,18 +1733,18 @@
1810 </quantifiedVariables> 1733 </quantifiedVariables>
1811 <expression xsi:type="language_1:And"> 1734 <expression xsi:type="language_1:And">
1812 <operands xsi:type="language_1:Equals"> 1735 <operands xsi:type="language_1:Equals">
1813 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/> 1736 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.0"/>
1814 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/> 1737 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/>
1815 </operands> 1738 </operands>
1816 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 1739 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1817 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.0"/> 1740 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.0"/>
1818 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/> 1741 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.0"/>
1819 </operands> 1742 </operands>
1820 </expression> 1743 </expression>
1821 </operands> 1744 </operands>
1822 </value> 1745 </value>
1823 </relations> 1746 </relations>
1824 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.43"> 1747 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.41">
1825 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1748 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1826 <variables name="parameter Comm"> 1749 <variables name="parameter Comm">
1827 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1750 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1833,23 +1756,23 @@
1833 </quantifiedVariables> 1756 </quantifiedVariables>
1834 <expression xsi:type="language_1:And"> 1757 <expression xsi:type="language_1:And">
1835 <operands xsi:type="language_1:Equals"> 1758 <operands xsi:type="language_1:Equals">
1836 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/> 1759 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1837 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 1760 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
1838 </operands> 1761 </operands>
1839 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1762 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1840 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/> 1763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1841 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/> 1764 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1842 </operands> 1765 </operands>
1843 <operands xsi:type="language_1:Not"> 1766 <operands xsi:type="language_1:Not">
1844 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32"> 1767 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30">
1845 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/> 1768 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1846 </operand> 1769 </operand>
1847 </operands> 1770 </operands>
1848 </expression> 1771 </expression>
1849 </operands> 1772 </operands>
1850 </value> 1773 </value>
1851 </relations> 1774 </relations>
1852 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainMedium" annotations="//@annotations.44"> 1775 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainMedium" annotations="//@annotations.42">
1853 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1776 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1854 <variables name="parameter Comm"> 1777 <variables name="parameter Comm">
1855 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1778 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1861,18 +1784,18 @@
1861 </quantifiedVariables> 1784 </quantifiedVariables>
1862 <expression xsi:type="language_1:And"> 1785 <expression xsi:type="language_1:And">
1863 <operands xsi:type="language_1:Equals"> 1786 <operands xsi:type="language_1:Equals">
1864 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1787 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/>
1865 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/> 1788 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/>
1866 </operands> 1789 </operands>
1867 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 1790 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1868 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@variables.0"/> 1791 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.0"/>
1869 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1792 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/>
1870 </operands> 1793 </operands>
1871 </expression> 1794 </expression>
1872 </operands> 1795 </operands>
1873 </value> 1796 </value>
1874 </relations> 1797 </relations>
1875 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.45"> 1798 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.43">
1876 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1799 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1877 <variables name="parameter Comm"> 1800 <variables name="parameter Comm">
1878 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1801 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1887,26 +1810,26 @@
1887 </quantifiedVariables> 1810 </quantifiedVariables>
1888 <expression xsi:type="language_1:And"> 1811 <expression xsi:type="language_1:And">
1889 <operands xsi:type="language_1:Equals"> 1812 <operands xsi:type="language_1:Equals">
1890 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/> 1813 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/>
1891 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> 1814 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
1892 </operands> 1815 </operands>
1893 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1816 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1894 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@variables.0"/> 1817 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/>
1895 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/> 1818 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/>
1896 </operands> 1819 </operands>
1897 <operands xsi:type="language_1:Equals"> 1820 <operands xsi:type="language_1:Equals">
1898 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.1"/> 1821 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.1"/>
1899 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/> 1822 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/>
1900 </operands> 1823 </operands>
1901 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 1824 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1902 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@variables.0"/> 1825 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/>
1903 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.1"/> 1826 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.1"/>
1904 </operands> 1827 </operands>
1905 </expression> 1828 </expression>
1906 </operands> 1829 </operands>
1907 </value> 1830 </value>
1908 </relations> 1831 </relations>
1909 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.46"> 1832 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.44">
1910 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1833 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1911 <variables name="parameter Sat"> 1834 <variables name="parameter Sat">
1912 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1835 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
@@ -1927,48 +1850,48 @@
1927 </quantifiedVariables> 1850 </quantifiedVariables>
1928 <expression xsi:type="language_1:And"> 1851 <expression xsi:type="language_1:And">
1929 <operands xsi:type="language_1:InstanceOf"> 1852 <operands xsi:type="language_1:InstanceOf">
1930 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@variables.0"/> 1853 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@variables.0"/>
1931 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1854 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1932 </operands> 1855 </operands>
1933 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1856 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1934 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@variables.0"/> 1857 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@variables.0"/>
1935 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.0"/> 1858 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/>
1936 </operands> 1859 </operands>
1937 <operands xsi:type="language_1:Not"> 1860 <operands xsi:type="language_1:Not">
1938 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35"> 1861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33">
1939 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.0"/> 1862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/>
1940 </operand> 1863 </operand>
1941 </operands> 1864 </operands>
1942 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1865 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1943 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.1"/> 1866 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.1"/>
1944 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.0"/> 1867 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/>
1945 </operands> 1868 </operands>
1946 <operands xsi:type="language_1:InstanceOf"> 1869 <operands xsi:type="language_1:InstanceOf">
1947 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.0"/> 1870 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/>
1948 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1871 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1949 </operands> 1872 </operands>
1950 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 1873 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1951 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.1"/> 1874 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.1"/>
1952 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.2"/> 1875 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/>
1953 </operands> 1876 </operands>
1954 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1877 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1955 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.3"/> 1878 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.3"/>
1956 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.2"/> 1879 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/>
1957 </operands> 1880 </operands>
1958 <operands xsi:type="language_1:InstanceOf"> 1881 <operands xsi:type="language_1:InstanceOf">
1959 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.2"/> 1882 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/>
1960 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1883 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1961 </operands> 1884 </operands>
1962 <operands xsi:type="language_1:Not"> 1885 <operands xsi:type="language_1:Not">
1963 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36"> 1886 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34">
1964 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.3"/> 1887 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.3"/>
1965 </operand> 1888 </operand>
1966 </operands> 1889 </operands>
1967 </expression> 1890 </expression>
1968 </operands> 1891 </operands>
1969 </value> 1892 </value>
1970 </relations> 1893 </relations>
1971 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.47"> 1894 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.45">
1972 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1895 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1973 <variables name="parameter Comm"> 1896 <variables name="parameter Comm">
1974 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1897 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1980,18 +1903,18 @@
1980 </quantifiedVariables> 1903 </quantifiedVariables>
1981 <expression xsi:type="language_1:And"> 1904 <expression xsi:type="language_1:And">
1982 <operands xsi:type="language_1:Equals"> 1905 <operands xsi:type="language_1:Equals">
1983 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/> 1906 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/>
1984 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 1907 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
1985 </operands> 1908 </operands>
1986 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1909 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1987 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/> 1910 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@variables.0"/>
1988 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/> 1911 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/>
1989 </operands> 1912 </operands>
1990 </expression> 1913 </expression>
1991 </operands> 1914 </operands>
1992 </value> 1915 </value>
1993 </relations> 1916 </relations>
1994 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.48"> 1917 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.46">
1995 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1918 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1996 <variables name="parameter Network"> 1919 <variables name="parameter Network">
1997 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1920 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
@@ -1999,13 +1922,13 @@
1999 <value xsi:type="language_1:Or"> 1922 <value xsi:type="language_1:Or">
2000 <operands xsi:type="language_1:And"> 1923 <operands xsi:type="language_1:And">
2001 <operands xsi:type="language_1:InstanceOf"> 1924 <operands xsi:type="language_1:InstanceOf">
2002 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36/@variables.0"/> 1925 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@variables.0"/>
2003 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1926 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
2004 </operands> 1927 </operands>
2005 </operands> 1928 </operands>
2006 </value> 1929 </value>
2007 </relations> 1930 </relations>
2008 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.49"> 1931 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.47">
2009 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1932 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
2010 <variables name="parameter Spacecraft"> 1933 <variables name="parameter Spacecraft">
2011 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1934 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -2020,31 +1943,31 @@
2020 </quantifiedVariables> 1943 </quantifiedVariables>
2021 <expression xsi:type="language_1:And"> 1944 <expression xsi:type="language_1:And">
2022 <operands xsi:type="language_1:InstanceOf"> 1945 <operands xsi:type="language_1:InstanceOf">
2023 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/> 1946 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/>
2024 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1947 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
2025 </operands> 1948 </operands>
2026 <operands xsi:type="language_1:Equals"> 1949 <operands xsi:type="language_1:Equals">
2027 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@value/@operands.0/@quantifiedVariables.0"/> 1950 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/>
2028 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> 1951 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
2029 </operands> 1952 </operands>
2030 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1953 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
2031 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/> 1954 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/>
2032 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@value/@operands.0/@quantifiedVariables.1"/> 1955 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.1"/>
2033 </operands> 1956 </operands>
2034 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1957 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
2035 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@value/@operands.0/@quantifiedVariables.1"/> 1958 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.1"/>
2036 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@value/@operands.0/@quantifiedVariables.0"/> 1959 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/>
2037 </operands> 1960 </operands>
2038 <operands xsi:type="language_1:Not"> 1961 <operands xsi:type="language_1:Not">
2039 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.38"> 1962 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36">
2040 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/> 1963 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/>
2041 </operand> 1964 </operand>
2042 </operands> 1965 </operands>
2043 </expression> 1966 </expression>
2044 </operands> 1967 </operands>
2045 </value> 1968 </value>
2046 </relations> 1969 </relations>
2047 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.50"> 1970 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.48">
2048 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1971 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
2049 <variables name="parameter Sat"> 1972 <variables name="parameter Sat">
2050 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1973 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
@@ -2052,13 +1975,13 @@
2052 <value xsi:type="language_1:Or"> 1975 <value xsi:type="language_1:Or">
2053 <operands xsi:type="language_1:And"> 1976 <operands xsi:type="language_1:And">
2054 <operands xsi:type="language_1:InstanceOf"> 1977 <operands xsi:type="language_1:InstanceOf">
2055 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.38/@variables.0"/> 1978 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36/@variables.0"/>
2056 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1979 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
2057 </operands> 1980 </operands>
2058 </operands> 1981 </operands>
2059 </value> 1982 </value>
2060 </relations> 1983 </relations>
2061 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftOfKind" annotations="//@annotations.51" defines="//@relations.8"> 1984 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftOfKind" annotations="//@annotations.49" defines="//@relations.7">
2062 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1985 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
2063 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1986 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
2064 <variables name="parameter Spacecraft"> 1987 <variables name="parameter Spacecraft">
@@ -2070,31 +1993,31 @@
2070 <value xsi:type="language_1:Or"> 1993 <value xsi:type="language_1:Or">
2071 <operands xsi:type="language_1:And"> 1994 <operands xsi:type="language_1:And">
2072 <operands xsi:type="language_1:InstanceOf"> 1995 <operands xsi:type="language_1:InstanceOf">
2073 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.0"/> 1996 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
2074 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1997 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
2075 </operands> 1998 </operands>
2076 <operands xsi:type="language_1:Equals"> 1999 <operands xsi:type="language_1:Equals">
2077 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.1"/> 2000 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/>
2078 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.6"/> 2001 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.6"/>
2079 </operands> 2002 </operands>
2080 </operands> 2003 </operands>
2081 <operands xsi:type="language_1:And"> 2004 <operands xsi:type="language_1:And">
2082 <operands xsi:type="language_1:InstanceOf"> 2005 <operands xsi:type="language_1:InstanceOf">
2083 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.0"/> 2006 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
2084 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/> 2007 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
2085 </operands> 2008 </operands>
2086 <operands xsi:type="language_1:Equals"> 2009 <operands xsi:type="language_1:Equals">
2087 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.1"/> 2010 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/>
2088 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.7"/> 2011 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.7"/>
2089 </operands> 2012 </operands>
2090 </operands> 2013 </operands>
2091 <operands xsi:type="language_1:And"> 2014 <operands xsi:type="language_1:And">
2092 <operands xsi:type="language_1:InstanceOf"> 2015 <operands xsi:type="language_1:InstanceOf">
2093 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.0"/> 2016 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
2094 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 2017 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
2095 </operands> 2018 </operands>
2096 <operands xsi:type="language_1:Equals"> 2019 <operands xsi:type="language_1:Equals">
2097 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.1"/> 2020 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/>
2098 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.8"/> 2021 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.8"/>
2099 </operands> 2022 </operands>
2100 </operands> 2023 </operands>
@@ -2113,7 +2036,7 @@
2113 <elements name="o 2" definedInType="//@types.20 //@types.22"/> 2036 <elements name="o 2" definedInType="//@types.20 //@types.22"/>
2114 <elements name="o 3" definedInType="//@types.24"/> 2037 <elements name="o 3" definedInType="//@types.24"/>
2115 <elements name="o 4" definedInType="//@types.24"/> 2038 <elements name="o 4" definedInType="//@types.24"/>
2116 <containmentHierarchies typesOrderedInHierarchy="//@types.4 //@types.10 //@types.11 //@types.3 //@types.7 //@types.2 //@types.6 //@types.12 //@types.9 //@types.8 //@types.0 //@types.1 //@types.5 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.4 //@relations.5"/> 2039 <containmentHierarchies typesOrderedInHierarchy="//@types.8 //@types.4 //@types.6 //@types.12 //@types.0 //@types.1 //@types.9 //@types.2 //@types.10 //@types.11 //@types.5 //@types.3 //@types.7 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.3 //@relations.4"/>
2117 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/> 2040 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/>
2118 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/> 2041 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/>
2119 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/> 2042 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/>
@@ -2122,62 +2045,59 @@
2122 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/> 2045 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/>
2123 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/> 2046 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/>
2124 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/> 2047 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/>
2125 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.8" relation="//@relations.5" upper="1"/> 2048 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.8" relation="//@relations.5" lower="1"/>
2126 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.9" relation="//@relations.6" lower="1"/> 2049 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.9" relation="//@relations.5" upper="1"/>
2127 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.10" relation="//@relations.6" upper="1"/> 2050 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.10" relation="//@relations.6" lower="1"/>
2128 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.11" relation="//@relations.7" lower="1"/> 2051 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.11" relation="//@relations.6" upper="1"/>
2129 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.12" relation="//@relations.7" upper="1"/> 2052 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.12" relation="//@relations.7" lower="1"/>
2130 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.13" relation="//@relations.8" lower="1"/> 2053 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.13" relation="//@relations.7" upper="1"/>
2131 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.14" relation="//@relations.8" upper="1"/> 2054 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.14" relation="//@relations.8" lower="1"/>
2132 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.15" relation="//@relations.9" lower="1"/> 2055 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.15" relation="//@relations.8" upper="1"/>
2133 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.16" relation="//@relations.9" upper="1"/> 2056 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.16" relation="//@relations.9" lower="1"/>
2134 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.17" relation="//@relations.10" lower="1"/> 2057 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.17" relation="//@relations.9" upper="1"/>
2135 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.18" relation="//@relations.10" upper="1"/> 2058 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.18" targetRelation="//@relations.0"/>
2136 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.19" targetRelation="//@relations.0"/> 2059 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.19" targetRelation="//@relations.2"/>
2137 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.20" targetRelation="//@relations.2"/> 2060 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.20" targetRelation="//@relations.8"/>
2138 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.21" targetRelation="//@relations.9"/> 2061 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.21" targetRelation="//@relations.9"/>
2139 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.22" targetRelation="//@relations.10"/> 2062 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
2140 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks"/> 2063 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
2141 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement"/> 2064 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/>
2142 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 2065 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/>
2143 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/> 2066 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
2144 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/> 2067 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
2145 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> 2068 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/>
2146 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> 2069 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/>
2147 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/> 2070 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/>
2148 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/> 2071 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/>
2149 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/> 2072 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
2150 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/> 2073 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/>
2151 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/> 2074 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/>
2152 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/> 2075 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
2153 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/> 2076 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBand"/>
2154 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/> 2077 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain"/>
2155 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBand"/> 2078 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGain"/>
2156 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain"/> 2079 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow"/>
2157 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.28" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGain"/> 2080 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.28" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainLow"/>
2158 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.29" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow"/> 2081 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.29" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium"/>
2159 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.30" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainLow"/> 2082 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.30" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainMedium"/>
2160 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.31" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium"/> 2083 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.31" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow"/>
2161 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.32" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainMedium"/> 2084 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.32" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
2162 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.33" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow"/> 2085 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.33" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/>
2163 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.34" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/> 2086 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.34" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/>
2164 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.35" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/> 2087 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.35" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
2165 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.36" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/> 2088 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.36" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
2166 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.37" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/> 2089 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.37" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/>
2167 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.38" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/> 2090 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.22" query="//@annotations.22"/>
2168 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.39" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/>
2169 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.23" query="//@annotations.23"/> 2091 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.23" query="//@annotations.23"/>
2170 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.24" query="//@annotations.25"/> 2092 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.24" query="//@annotations.26"/>
2171 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.25" query="//@annotations.28"/> 2093 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.25" query="//@annotations.27"/>
2172 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.26" query="//@annotations.29"/> 2094 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.26" query="//@annotations.32"/>
2173 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.27" query="//@annotations.34"/> 2095 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.27" query="//@annotations.35"/>
2174 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.28" query="//@annotations.37"/> 2096 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.28" query="//@annotations.37"/>
2175 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.29" query="//@annotations.39"/> 2097 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.29" query="//@annotations.39"/>
2176 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.30" query="//@annotations.41"/> 2098 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.30" query="//@annotations.41"/>
2177 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.31" query="//@annotations.43"/> 2099 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.31" query="//@annotations.43"/>
2178 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.32" query="//@annotations.45"/> 2100 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.32" query="//@annotations.44"/>
2179 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.33" query="//@annotations.46"/> 2101 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.33" query="//@annotations.47"/>
2180 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.34" query="//@annotations.49"/> 2102 <annotations xsi:type="viatra2logicannotations:DefinedByDerivedFeature" target="//@relations.7" query="//@annotations.49"/>
2181 <annotations xsi:type="viatra2logicannotations:DefinedByDerivedFeature" target="//@relations.3" query="//@annotations.24"/>
2182 <annotations xsi:type="viatra2logicannotations:DefinedByDerivedFeature" target="//@relations.8" query="//@annotations.51"/>
2183</language:LogicProblem> 2103</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 f7827e03..6589a3ca 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" minNewElements="8" maxNewElements="16"> 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="16" maxNewElements="32">
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"/>
@@ -55,11 +55,6 @@
55 </partialrelationinterpretation> 55 </partialrelationinterpretation>
56 <partialrelationinterpretation> 56 <partialrelationinterpretation>
57 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.8"/> 57 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.8"/>
58 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.8/@parameters.0"/>
59 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.8/@parameters.1"/>
60 </partialrelationinterpretation>
61 <partialrelationinterpretation>
62 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.9"/>
63 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink"> 58 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
64 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/> 59 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/>
65 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/> 60 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/>
@@ -68,11 +63,11 @@
68 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/> 63 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/>
69 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/> 64 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/>
70 </relationlinks> 65 </relationlinks>
71 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.0"/> 66 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.8/@parameters.0"/>
72 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.1"/> 67 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.8/@parameters.1"/>
73 </partialrelationinterpretation> 68 </partialrelationinterpretation>
74 <partialrelationinterpretation> 69 <partialrelationinterpretation>
75 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.10"/> 70 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.9"/>
76 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink"> 71 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
77 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/> 72 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/>
78 <param2 href="outputs/debug/generation.logicproblem#//@elements.4"/> 73 <param2 href="outputs/debug/generation.logicproblem#//@elements.4"/>
@@ -81,8 +76,8 @@
81 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/> 76 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/>
82 <param2 href="outputs/debug/generation.logicproblem#//@elements.5"/> 77 <param2 href="outputs/debug/generation.logicproblem#//@elements.5"/>
83 </relationlinks> 78 </relationlinks>
84 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.10/@parameters.0"/> 79 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.0"/>
85 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.10/@parameters.1"/> 80 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.1"/>
86 </partialrelationinterpretation> 81 </partialrelationinterpretation>
87 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/> 82 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
88 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/> 83 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
index d019e891..5d75b948 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
@@ -1,19 +1,15 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!-- 1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin> 2--><plugin>
3 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features">
4 <wellbehaving-derived-feature classifier-name="Spacecraft" feature-name="kind" package-nsUri="http://www.example.org/satellite"/>
5 </extension>
3 <extension point="org.eclipse.emf.ecore.generated_package"> 6 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated satellite --> 7 <!-- @generated satellite -->
5 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/> 8 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/>
6 </extension> 9 </extension>
7 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features">
8 <wellbehaving-derived-feature classifier-name="CommunicatingElement" feature-name="communicationLink" package-nsUri="http://www.example.org/satellite"/>
9 </extension>
10 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features">
11 <wellbehaving-derived-feature classifier-name="Spacecraft" feature-name="kind" package-nsUri="http://www.example.org/satellite"/>
12 </extension>
13 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification"> 10 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
14 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries"> 11 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries">
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks"/> 12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> 14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> 15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore
index 4354da2c..6f361334 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore
@@ -23,5 +23,3 @@
23/.SpacecraftOfKind.java._trace 23/.SpacecraftOfKind.java._trace
24/.NoPotentialLinkToGroundStation.java._trace 24/.NoPotentialLinkToGroundStation.java._trace
25/.SmallSat.java._trace 25/.SmallSat.java._trace
26/.CommunicationLinkOfElement.java._trace
27/.MultipleCommunicationLinks.java._trace
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/MultipleCommunicationLinks.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java
index ad82ead9..dde3c20f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/MultipleCommunicationLinks.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
6import java.util.Arrays; 7import java.util.Arrays;
7import java.util.Collection; 8import java.util.Collection;
8import java.util.LinkedHashSet; 9import java.util.LinkedHashSet;
@@ -39,19 +40,19 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
42import satellite.CommunicatingElement;
43 43
44/** 44/**
45 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 45 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
46 * 46 *
47 * <p>Original source: 47 * <p>Original source:
48 * <code><pre> 48 * <code><pre>
49 * {@literal @}Constraint(severity = "error", key = {Element}, 49 * {@literal @}Constraint(severity = "error", key = {Link},
50 * message = "Only one communication link is allowed per element.") 50 * message = "Communication links must start from the containing element.")
51 * pattern multipleCommunicationLinks(Element : CommunicatingElement) { 51 * pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) {
52 * CommunicatingElement.commSubsystem.communicationLink(Element, Link1); 52 * CommunicatingElement.communicationLink(Element, Link);
53 * CommunicatingElement.commSubsystem.communicationLink(Element, Link2); 53 * DirectedCommunicationLink.source(Link, SourceComm);
54 * Link1 != Link2; 54 * CommunicatingElement.commSubsystem(SourceElement, SourceComm);
55 * Element != SourceElement;
55 * } 56 * }
56 * </pre></code> 57 * </pre></code>
57 * 58 *
@@ -60,9 +61,9 @@ import satellite.CommunicatingElement;
60 * 61 *
61 */ 62 */
62@SuppressWarnings("all") 63@SuppressWarnings("all")
63public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpecification<MultipleCommunicationLinks.Matcher> { 64public final class CommunicationLinkDoesNotStartAtContainingElement extends BaseGeneratedEMFQuerySpecification<CommunicationLinkDoesNotStartAtContainingElement.Matcher> {
64 /** 65 /**
65 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks pattern, 66 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern,
66 * to be used in conjunction with {@link Matcher}. 67 * to be used in conjunction with {@link Matcher}.
67 * 68 *
68 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. 69 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
@@ -74,69 +75,69 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
74 * 75 *
75 */ 76 */
76 public static abstract class Match extends BasePatternMatch { 77 public static abstract class Match extends BasePatternMatch {
77 private CommunicatingElement fElement; 78 private DirectedCommunicationLink fLink;
78 79
79 private static List<String> parameterNames = makeImmutableList("Element"); 80 private static List<String> parameterNames = makeImmutableList("Link");
80 81
81 private Match(final CommunicatingElement pElement) { 82 private Match(final DirectedCommunicationLink pLink) {
82 this.fElement = pElement; 83 this.fLink = pLink;
83 } 84 }
84 85
85 @Override 86 @Override
86 public Object get(final String parameterName) { 87 public Object get(final String parameterName) {
87 if ("Element".equals(parameterName)) return this.fElement; 88 if ("Link".equals(parameterName)) return this.fLink;
88 return null; 89 return null;
89 } 90 }
90 91
91 public CommunicatingElement getElement() { 92 public DirectedCommunicationLink getLink() {
92 return this.fElement; 93 return this.fLink;
93 } 94 }
94 95
95 @Override 96 @Override
96 public boolean set(final String parameterName, final Object newValue) { 97 public boolean set(final String parameterName, final Object newValue) {
97 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 98 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
98 if ("Element".equals(parameterName) ) { 99 if ("Link".equals(parameterName) ) {
99 this.fElement = (CommunicatingElement) newValue; 100 this.fLink = (DirectedCommunicationLink) newValue;
100 return true; 101 return true;
101 } 102 }
102 return false; 103 return false;
103 } 104 }
104 105
105 public void setElement(final CommunicatingElement pElement) { 106 public void setLink(final DirectedCommunicationLink pLink) {
106 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 107 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
107 this.fElement = pElement; 108 this.fLink = pLink;
108 } 109 }
109 110
110 @Override 111 @Override
111 public String patternName() { 112 public String patternName() {
112 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks"; 113 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement";
113 } 114 }
114 115
115 @Override 116 @Override
116 public List<String> parameterNames() { 117 public List<String> parameterNames() {
117 return MultipleCommunicationLinks.Match.parameterNames; 118 return CommunicationLinkDoesNotStartAtContainingElement.Match.parameterNames;
118 } 119 }
119 120
120 @Override 121 @Override
121 public Object[] toArray() { 122 public Object[] toArray() {
122 return new Object[]{fElement}; 123 return new Object[]{fLink};
123 } 124 }
124 125
125 @Override 126 @Override
126 public MultipleCommunicationLinks.Match toImmutable() { 127 public CommunicationLinkDoesNotStartAtContainingElement.Match toImmutable() {
127 return isMutable() ? newMatch(fElement) : this; 128 return isMutable() ? newMatch(fLink) : this;
128 } 129 }
129 130
130 @Override 131 @Override
131 public String prettyPrint() { 132 public String prettyPrint() {
132 StringBuilder result = new StringBuilder(); 133 StringBuilder result = new StringBuilder();
133 result.append("\"Element\"=" + prettyPrintValue(fElement)); 134 result.append("\"Link\"=" + prettyPrintValue(fLink));
134 return result.toString(); 135 return result.toString();
135 } 136 }
136 137
137 @Override 138 @Override
138 public int hashCode() { 139 public int hashCode() {
139 return Objects.hash(fElement); 140 return Objects.hash(fLink);
140 } 141 }
141 142
142 @Override 143 @Override
@@ -146,9 +147,9 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
146 if (obj == null) { 147 if (obj == null) {
147 return false; 148 return false;
148 } 149 }
149 if ((obj instanceof MultipleCommunicationLinks.Match)) { 150 if ((obj instanceof CommunicationLinkDoesNotStartAtContainingElement.Match)) {
150 MultipleCommunicationLinks.Match other = (MultipleCommunicationLinks.Match) obj; 151 CommunicationLinkDoesNotStartAtContainingElement.Match other = (CommunicationLinkDoesNotStartAtContainingElement.Match) obj;
151 return Objects.equals(fElement, other.fElement); 152 return Objects.equals(fLink, other.fLink);
152 } else { 153 } else {
153 // this should be infrequent 154 // this should be infrequent
154 if (!(obj instanceof IPatternMatch)) { 155 if (!(obj instanceof IPatternMatch)) {
@@ -160,8 +161,8 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
160 } 161 }
161 162
162 @Override 163 @Override
163 public MultipleCommunicationLinks specification() { 164 public CommunicationLinkDoesNotStartAtContainingElement specification() {
164 return MultipleCommunicationLinks.instance(); 165 return CommunicationLinkDoesNotStartAtContainingElement.instance();
165 } 166 }
166 167
167 /** 168 /**
@@ -171,7 +172,7 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
171 * @return the empty match. 172 * @return the empty match.
172 * 173 *
173 */ 174 */
174 public static MultipleCommunicationLinks.Match newEmptyMatch() { 175 public static CommunicationLinkDoesNotStartAtContainingElement.Match newEmptyMatch() {
175 return new Mutable(null); 176 return new Mutable(null);
176 } 177 }
177 178
@@ -179,29 +180,29 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
179 * Returns a mutable (partial) match. 180 * Returns a mutable (partial) match.
180 * Fields of the mutable match can be filled to create a partial match, usable as matcher input. 181 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
181 * 182 *
182 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 183 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
183 * @return the new, mutable (partial) match object. 184 * @return the new, mutable (partial) match object.
184 * 185 *
185 */ 186 */
186 public static MultipleCommunicationLinks.Match newMutableMatch(final CommunicatingElement pElement) { 187 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMutableMatch(final DirectedCommunicationLink pLink) {
187 return new Mutable(pElement); 188 return new Mutable(pLink);
188 } 189 }
189 190
190 /** 191 /**
191 * Returns a new (partial) match. 192 * Returns a new (partial) match.
192 * This can be used e.g. to call the matcher with a partial match. 193 * This can be used e.g. to call the matcher with a partial match.
193 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 194 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
194 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 195 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
195 * @return the (partial) match object. 196 * @return the (partial) match object.
196 * 197 *
197 */ 198 */
198 public static MultipleCommunicationLinks.Match newMatch(final CommunicatingElement pElement) { 199 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final DirectedCommunicationLink pLink) {
199 return new Immutable(pElement); 200 return new Immutable(pLink);
200 } 201 }
201 202
202 private static final class Mutable extends MultipleCommunicationLinks.Match { 203 private static final class Mutable extends CommunicationLinkDoesNotStartAtContainingElement.Match {
203 Mutable(final CommunicatingElement pElement) { 204 Mutable(final DirectedCommunicationLink pLink) {
204 super(pElement); 205 super(pLink);
205 } 206 }
206 207
207 @Override 208 @Override
@@ -210,9 +211,9 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
210 } 211 }
211 } 212 }
212 213
213 private static final class Immutable extends MultipleCommunicationLinks.Match { 214 private static final class Immutable extends CommunicationLinkDoesNotStartAtContainingElement.Match {
214 Immutable(final CommunicatingElement pElement) { 215 Immutable(final DirectedCommunicationLink pLink) {
215 super(pElement); 216 super(pLink);
216 } 217 }
217 218
218 @Override 219 @Override
@@ -223,7 +224,7 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
223 } 224 }
224 225
225 /** 226 /**
226 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks pattern, 227 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern,
227 * providing pattern-specific query methods. 228 * providing pattern-specific query methods.
228 * 229 *
229 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, 230 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
@@ -233,20 +234,21 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
233 * 234 *
234 * <p>Original source: 235 * <p>Original source:
235 * <code><pre> 236 * <code><pre>
236 * {@literal @}Constraint(severity = "error", key = {Element}, 237 * {@literal @}Constraint(severity = "error", key = {Link},
237 * message = "Only one communication link is allowed per element.") 238 * message = "Communication links must start from the containing element.")
238 * pattern multipleCommunicationLinks(Element : CommunicatingElement) { 239 * pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) {
239 * CommunicatingElement.commSubsystem.communicationLink(Element, Link1); 240 * CommunicatingElement.communicationLink(Element, Link);
240 * CommunicatingElement.commSubsystem.communicationLink(Element, Link2); 241 * DirectedCommunicationLink.source(Link, SourceComm);
241 * Link1 != Link2; 242 * CommunicatingElement.commSubsystem(SourceElement, SourceComm);
243 * Element != SourceElement;
242 * } 244 * }
243 * </pre></code> 245 * </pre></code>
244 * 246 *
245 * @see Match 247 * @see Match
246 * @see MultipleCommunicationLinks 248 * @see CommunicationLinkDoesNotStartAtContainingElement
247 * 249 *
248 */ 250 */
249 public static class Matcher extends BaseMatcher<MultipleCommunicationLinks.Match> { 251 public static class Matcher extends BaseMatcher<CommunicationLinkDoesNotStartAtContainingElement.Match> {
250 /** 252 /**
251 * Initializes the pattern matcher within an existing VIATRA Query engine. 253 * Initializes the pattern matcher within an existing VIATRA Query engine.
252 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. 254 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
@@ -255,7 +257,7 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
255 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation 257 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
256 * 258 *
257 */ 259 */
258 public static MultipleCommunicationLinks.Matcher on(final ViatraQueryEngine engine) { 260 public static CommunicationLinkDoesNotStartAtContainingElement.Matcher on(final ViatraQueryEngine engine) {
259 // check if matcher already exists 261 // check if matcher already exists
260 Matcher matcher = engine.getExistingMatcher(querySpecification()); 262 Matcher matcher = engine.getExistingMatcher(querySpecification());
261 if (matcher == null) { 263 if (matcher == null) {
@@ -270,13 +272,13 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
270 * @noreference This method is for internal matcher initialization by the framework, do not call it manually. 272 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
271 * 273 *
272 */ 274 */
273 public static MultipleCommunicationLinks.Matcher create() { 275 public static CommunicationLinkDoesNotStartAtContainingElement.Matcher create() {
274 return new Matcher(); 276 return new Matcher();
275 } 277 }
276 278
277 private static final int POSITION_ELEMENT = 0; 279 private static final int POSITION_LINK = 0;
278 280
279 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(MultipleCommunicationLinks.Matcher.class); 281 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkDoesNotStartAtContainingElement.Matcher.class);
280 282
281 /** 283 /**
282 * Initializes the pattern matcher within an existing VIATRA Query engine. 284 * Initializes the pattern matcher within an existing VIATRA Query engine.
@@ -292,12 +294,12 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
292 294
293 /** 295 /**
294 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. 296 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
295 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 297 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
296 * @return matches represented as a Match object. 298 * @return matches represented as a Match object.
297 * 299 *
298 */ 300 */
299 public Collection<MultipleCommunicationLinks.Match> getAllMatches(final CommunicatingElement pElement) { 301 public Collection<CommunicationLinkDoesNotStartAtContainingElement.Match> getAllMatches(final DirectedCommunicationLink pLink) {
300 return rawStreamAllMatches(new Object[]{pElement}).collect(Collectors.toSet()); 302 return rawStreamAllMatches(new Object[]{pLink}).collect(Collectors.toSet());
301 } 303 }
302 304
303 /** 305 /**
@@ -306,101 +308,101 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
306 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. 308 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
307 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. 309 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
308 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. 310 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
309 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 311 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
310 * @return a stream of matches represented as a Match object. 312 * @return a stream of matches represented as a Match object.
311 * 313 *
312 */ 314 */
313 public Stream<MultipleCommunicationLinks.Match> streamAllMatches(final CommunicatingElement pElement) { 315 public Stream<CommunicationLinkDoesNotStartAtContainingElement.Match> streamAllMatches(final DirectedCommunicationLink pLink) {
314 return rawStreamAllMatches(new Object[]{pElement}); 316 return rawStreamAllMatches(new Object[]{pLink});
315 } 317 }
316 318
317 /** 319 /**
318 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 320 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
319 * Neither determinism nor randomness of selection is guaranteed. 321 * Neither determinism nor randomness of selection is guaranteed.
320 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 322 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
321 * @return a match represented as a Match object, or null if no match is found. 323 * @return a match represented as a Match object, or null if no match is found.
322 * 324 *
323 */ 325 */
324 public Optional<MultipleCommunicationLinks.Match> getOneArbitraryMatch(final CommunicatingElement pElement) { 326 public Optional<CommunicationLinkDoesNotStartAtContainingElement.Match> getOneArbitraryMatch(final DirectedCommunicationLink pLink) {
325 return rawGetOneArbitraryMatch(new Object[]{pElement}); 327 return rawGetOneArbitraryMatch(new Object[]{pLink});
326 } 328 }
327 329
328 /** 330 /**
329 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, 331 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
330 * under any possible substitution of the unspecified parameters (if any). 332 * under any possible substitution of the unspecified parameters (if any).
331 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 333 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
332 * @return true if the input is a valid (partial) match of the pattern. 334 * @return true if the input is a valid (partial) match of the pattern.
333 * 335 *
334 */ 336 */
335 public boolean hasMatch(final CommunicatingElement pElement) { 337 public boolean hasMatch(final DirectedCommunicationLink pLink) {
336 return rawHasMatch(new Object[]{pElement}); 338 return rawHasMatch(new Object[]{pLink});
337 } 339 }
338 340
339 /** 341 /**
340 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. 342 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
341 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 343 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
342 * @return the number of pattern matches found. 344 * @return the number of pattern matches found.
343 * 345 *
344 */ 346 */
345 public int countMatches(final CommunicatingElement pElement) { 347 public int countMatches(final DirectedCommunicationLink pLink) {
346 return rawCountMatches(new Object[]{pElement}); 348 return rawCountMatches(new Object[]{pLink});
347 } 349 }
348 350
349 /** 351 /**
350 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 352 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
351 * Neither determinism nor randomness of selection is guaranteed. 353 * Neither determinism nor randomness of selection is guaranteed.
352 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 354 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
353 * @param processor the action that will process the selected match. 355 * @param processor the action that will process the selected match.
354 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 356 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
355 * 357 *
356 */ 358 */
357 public boolean forOneArbitraryMatch(final CommunicatingElement pElement, final Consumer<? super MultipleCommunicationLinks.Match> processor) { 359 public boolean forOneArbitraryMatch(final DirectedCommunicationLink pLink, final Consumer<? super CommunicationLinkDoesNotStartAtContainingElement.Match> processor) {
358 return rawForOneArbitraryMatch(new Object[]{pElement}, processor); 360 return rawForOneArbitraryMatch(new Object[]{pLink}, processor);
359 } 361 }
360 362
361 /** 363 /**
362 * Returns a new (partial) match. 364 * Returns a new (partial) match.
363 * This can be used e.g. to call the matcher with a partial match. 365 * This can be used e.g. to call the matcher with a partial match.
364 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 366 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
365 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 367 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
366 * @return the (partial) match object. 368 * @return the (partial) match object.
367 * 369 *
368 */ 370 */
369 public MultipleCommunicationLinks.Match newMatch(final CommunicatingElement pElement) { 371 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final DirectedCommunicationLink pLink) {
370 return MultipleCommunicationLinks.Match.newMatch(pElement); 372 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch(pLink);
371 } 373 }
372 374
373 /** 375 /**
374 * Retrieve the set of values that occur in matches for Element. 376 * Retrieve the set of values that occur in matches for Link.
375 * @return the Set of all values or empty set if there are no matches 377 * @return the Set of all values or empty set if there are no matches
376 * 378 *
377 */ 379 */
378 protected Stream<CommunicatingElement> rawStreamAllValuesOfElement(final Object[] parameters) { 380 protected Stream<DirectedCommunicationLink> rawStreamAllValuesOfLink(final Object[] parameters) {
379 return rawStreamAllValues(POSITION_ELEMENT, parameters).map(CommunicatingElement.class::cast); 381 return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast);
380 } 382 }
381 383
382 /** 384 /**
383 * Retrieve the set of values that occur in matches for Element. 385 * Retrieve the set of values that occur in matches for Link.
384 * @return the Set of all values or empty set if there are no matches 386 * @return the Set of all values or empty set if there are no matches
385 * 387 *
386 */ 388 */
387 public Set<CommunicatingElement> getAllValuesOfElement() { 389 public Set<DirectedCommunicationLink> getAllValuesOfLink() {
388 return rawStreamAllValuesOfElement(emptyArray()).collect(Collectors.toSet()); 390 return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet());
389 } 391 }
390 392
391 /** 393 /**
392 * Retrieve the set of values that occur in matches for Element. 394 * Retrieve the set of values that occur in matches for Link.
393 * @return the Set of all values or empty set if there are no matches 395 * @return the Set of all values or empty set if there are no matches
394 * 396 *
395 */ 397 */
396 public Stream<CommunicatingElement> streamAllValuesOfElement() { 398 public Stream<DirectedCommunicationLink> streamAllValuesOfLink() {
397 return rawStreamAllValuesOfElement(emptyArray()); 399 return rawStreamAllValuesOfLink(emptyArray());
398 } 400 }
399 401
400 @Override 402 @Override
401 protected MultipleCommunicationLinks.Match tupleToMatch(final Tuple t) { 403 protected CommunicationLinkDoesNotStartAtContainingElement.Match tupleToMatch(final Tuple t) {
402 try { 404 try {
403 return MultipleCommunicationLinks.Match.newMatch((CommunicatingElement) t.get(POSITION_ELEMENT)); 405 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((DirectedCommunicationLink) t.get(POSITION_LINK));
404 } catch(ClassCastException e) { 406 } catch(ClassCastException e) {
405 LOGGER.error("Element(s) in tuple not properly typed!",e); 407 LOGGER.error("Element(s) in tuple not properly typed!",e);
406 return null; 408 return null;
@@ -408,9 +410,9 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
408 } 410 }
409 411
410 @Override 412 @Override
411 protected MultipleCommunicationLinks.Match arrayToMatch(final Object[] match) { 413 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatch(final Object[] match) {
412 try { 414 try {
413 return MultipleCommunicationLinks.Match.newMatch((CommunicatingElement) match[POSITION_ELEMENT]); 415 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((DirectedCommunicationLink) match[POSITION_LINK]);
414 } catch(ClassCastException e) { 416 } catch(ClassCastException e) {
415 LOGGER.error("Element(s) in array not properly typed!",e); 417 LOGGER.error("Element(s) in array not properly typed!",e);
416 return null; 418 return null;
@@ -418,9 +420,9 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
418 } 420 }
419 421
420 @Override 422 @Override
421 protected MultipleCommunicationLinks.Match arrayToMatchMutable(final Object[] match) { 423 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatchMutable(final Object[] match) {
422 try { 424 try {
423 return MultipleCommunicationLinks.Match.newMutableMatch((CommunicatingElement) match[POSITION_ELEMENT]); 425 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMutableMatch((DirectedCommunicationLink) match[POSITION_LINK]);
424 } catch(ClassCastException e) { 426 } catch(ClassCastException e) {
425 LOGGER.error("Element(s) in array not properly typed!",e); 427 LOGGER.error("Element(s) in array not properly typed!",e);
426 return null; 428 return null;
@@ -432,12 +434,12 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 434 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 * 435 *
434 */ 436 */
435 public static IQuerySpecification<MultipleCommunicationLinks.Matcher> querySpecification() { 437 public static IQuerySpecification<CommunicationLinkDoesNotStartAtContainingElement.Matcher> querySpecification() {
436 return MultipleCommunicationLinks.instance(); 438 return CommunicationLinkDoesNotStartAtContainingElement.instance();
437 } 439 }
438 } 440 }
439 441
440 private MultipleCommunicationLinks() { 442 private CommunicationLinkDoesNotStartAtContainingElement() {
441 super(GeneratedPQuery.INSTANCE); 443 super(GeneratedPQuery.INSTANCE);
442 } 444 }
443 445
@@ -446,7 +448,7 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
446 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 448 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
447 * 449 *
448 */ 450 */
449 public static MultipleCommunicationLinks instance() { 451 public static CommunicationLinkDoesNotStartAtContainingElement instance() {
450 try{ 452 try{
451 return LazyHolder.INSTANCE; 453 return LazyHolder.INSTANCE;
452 } catch (ExceptionInInitializerError err) { 454 } catch (ExceptionInInitializerError err) {
@@ -455,35 +457,35 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
455 } 457 }
456 458
457 @Override 459 @Override
458 protected MultipleCommunicationLinks.Matcher instantiate(final ViatraQueryEngine engine) { 460 protected CommunicationLinkDoesNotStartAtContainingElement.Matcher instantiate(final ViatraQueryEngine engine) {
459 return MultipleCommunicationLinks.Matcher.on(engine); 461 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine);
460 } 462 }
461 463
462 @Override 464 @Override
463 public MultipleCommunicationLinks.Matcher instantiate() { 465 public CommunicationLinkDoesNotStartAtContainingElement.Matcher instantiate() {
464 return MultipleCommunicationLinks.Matcher.create(); 466 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.create();
465 } 467 }
466 468
467 @Override 469 @Override
468 public MultipleCommunicationLinks.Match newEmptyMatch() { 470 public CommunicationLinkDoesNotStartAtContainingElement.Match newEmptyMatch() {
469 return MultipleCommunicationLinks.Match.newEmptyMatch(); 471 return CommunicationLinkDoesNotStartAtContainingElement.Match.newEmptyMatch();
470 } 472 }
471 473
472 @Override 474 @Override
473 public MultipleCommunicationLinks.Match newMatch(final Object... parameters) { 475 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final Object... parameters) {
474 return MultipleCommunicationLinks.Match.newMatch((satellite.CommunicatingElement) parameters[0]); 476 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]);
475 } 477 }
476 478
477 /** 479 /**
478 * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks (visibility: PUBLIC, simpleName: MultipleCommunicationLinks, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created 480 * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement (visibility: PUBLIC, simpleName: CommunicationLinkDoesNotStartAtContainingElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
479 * <b>not</b> at the class load time of the outer class, 481 * <b>not</b> at the class load time of the outer class,
480 * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks (visibility: PUBLIC, simpleName: MultipleCommunicationLinks, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 482 * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement (visibility: PUBLIC, simpleName: CommunicationLinkDoesNotStartAtContainingElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
481 * 483 *
482 * <p> This workaround is required e.g. to support recursion. 484 * <p> This workaround is required e.g. to support recursion.
483 * 485 *
484 */ 486 */
485 private static class LazyHolder { 487 private static class LazyHolder {
486 private static final MultipleCommunicationLinks INSTANCE = new MultipleCommunicationLinks(); 488 private static final CommunicationLinkDoesNotStartAtContainingElement INSTANCE = new CommunicationLinkDoesNotStartAtContainingElement();
487 489
488 /** 490 /**
489 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. 491 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
@@ -501,11 +503,11 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
501 } 503 }
502 504
503 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 505 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
504 private static final MultipleCommunicationLinks.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 506 private static final CommunicationLinkDoesNotStartAtContainingElement.GeneratedPQuery INSTANCE = new GeneratedPQuery();
505 507
506 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 508 private final PParameter parameter_Link = new PParameter("Link", "hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
507 509
508 private final List<PParameter> parameters = Arrays.asList(parameter_Element); 510 private final List<PParameter> parameters = Arrays.asList(parameter_Link);
509 511
510 private GeneratedPQuery() { 512 private GeneratedPQuery() {
511 super(PVisibility.PUBLIC); 513 super(PVisibility.PUBLIC);
@@ -513,12 +515,12 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
513 515
514 @Override 516 @Override
515 public String getFullyQualifiedName() { 517 public String getFullyQualifiedName() {
516 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks"; 518 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement";
517 } 519 }
518 520
519 @Override 521 @Override
520 public List<String> getParameterNames() { 522 public List<String> getParameterNames() {
521 return Arrays.asList("Element"); 523 return Arrays.asList("Link");
522 } 524 }
523 525
524 @Override 526 @Override
@@ -532,42 +534,43 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
532 Set<PBody> bodies = new LinkedHashSet<>(); 534 Set<PBody> bodies = new LinkedHashSet<>();
533 { 535 {
534 PBody body = new PBody(this); 536 PBody body = new PBody(this);
537 PVariable var_Link = body.getOrCreateVariableByName("Link");
535 PVariable var_Element = body.getOrCreateVariableByName("Element"); 538 PVariable var_Element = body.getOrCreateVariableByName("Element");
536 PVariable var_Link1 = body.getOrCreateVariableByName("Link1"); 539 PVariable var_SourceComm = body.getOrCreateVariableByName("SourceComm");
537 PVariable var_Link2 = body.getOrCreateVariableByName("Link2"); 540 PVariable var_SourceElement = body.getOrCreateVariableByName("SourceElement");
538 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 541 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
539 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 542 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
540 new ExportedParameter(body, var_Element, parameter_Element) 543 new ExportedParameter(body, var_Link, parameter_Link)
541 )); 544 ));
542 // CommunicatingElement.commSubsystem.communicationLink(Element, Link1) 545 // CommunicatingElement.communicationLink(Element, Link)
543 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 546 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
544 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 547 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
545 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 548 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "communicationLink")));
546 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 549 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
550 new Equality(body, var__virtual_0_, var_Link);
551 // DirectedCommunicationLink.source(Link, SourceComm)
552 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
547 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); 553 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
548 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "communicationLink"))); 554 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source")));
549 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
550 new Equality(body, var__virtual_1_, var_Link1); 556 new Equality(body, var__virtual_1_, var_SourceComm);
551 // CommunicatingElement.commSubsystem.communicationLink(Element, Link2) 557 // CommunicatingElement.commSubsystem(SourceElement, SourceComm)
552 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 558 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceElement), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
553 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); 559 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
554 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 560 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceElement, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 561 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
556 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}"); 562 new Equality(body, var__virtual_2_, var_SourceComm);
557 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "communicationLink"))); 563 // Element != SourceElement
558 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 564 new Inequality(body, var_Element, var_SourceElement);
559 new Equality(body, var__virtual_3_, var_Link2);
560 // Link1 != Link2
561 new Inequality(body, var_Link1, var_Link2);
562 bodies.add(body); 565 bodies.add(body);
563 } 566 }
564 { 567 {
565 PAnnotation annotation = new PAnnotation("Constraint"); 568 PAnnotation annotation = new PAnnotation("Constraint");
566 annotation.addAttribute("severity", "error"); 569 annotation.addAttribute("severity", "error");
567 annotation.addAttribute("key", Arrays.asList(new Object[] { 570 annotation.addAttribute("key", Arrays.asList(new Object[] {
568 new ParameterReference("Element") 571 new ParameterReference("Link")
569 })); 572 }));
570 annotation.addAttribute("message", "Only one communication link is allowed per element."); 573 annotation.addAttribute("message", "Communication links must start from the containing element.");
571 addAnnotation(annotation); 574 addAnnotation(annotation);
572 } 575 }
573 return bodies; 576 return bodies;
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java
deleted file mode 100644
index 1327c6bf..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java
+++ /dev/null
@@ -1,705 +0,0 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
27import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
30import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
31import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
34import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
35import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
37import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
39import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
40import satellite.CommunicatingElement;
41import satellite.DirectedCommunicationLink;
42
43/**
44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
45 *
46 * <p>Original source:
47 * <code><pre>
48 * {@literal @}QueryBasedFeature(feature = "communicationLink")
49 * pattern communicationLinkOfElement(Element : CommunicatingElement, Link : DirectedCommunicationLink) {
50 * CommunicatingElement.commSubsystem.communicationLink(Element, Link);
51 * }
52 * </pre></code>
53 *
54 * @see Matcher
55 * @see Match
56 *
57 */
58@SuppressWarnings("all")
59public final class CommunicationLinkOfElement extends BaseGeneratedEMFQuerySpecification<CommunicationLinkOfElement.Matcher> {
60 /**
61 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement pattern,
62 * to be used in conjunction with {@link Matcher}.
63 *
64 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
65 * Each instance is a (possibly partial) substitution of pattern parameters,
66 * usable to represent a match of the pattern in the result of a query,
67 * or to specify the bound (fixed) input parameters when issuing a query.
68 *
69 * @see Matcher
70 *
71 */
72 public static abstract class Match extends BasePatternMatch {
73 private CommunicatingElement fElement;
74
75 private DirectedCommunicationLink fLink;
76
77 private static List<String> parameterNames = makeImmutableList("Element", "Link");
78
79 private Match(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
80 this.fElement = pElement;
81 this.fLink = pLink;
82 }
83
84 @Override
85 public Object get(final String parameterName) {
86 if ("Element".equals(parameterName)) return this.fElement;
87 if ("Link".equals(parameterName)) return this.fLink;
88 return null;
89 }
90
91 public CommunicatingElement getElement() {
92 return this.fElement;
93 }
94
95 public DirectedCommunicationLink getLink() {
96 return this.fLink;
97 }
98
99 @Override
100 public boolean set(final String parameterName, final Object newValue) {
101 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
102 if ("Element".equals(parameterName) ) {
103 this.fElement = (CommunicatingElement) newValue;
104 return true;
105 }
106 if ("Link".equals(parameterName) ) {
107 this.fLink = (DirectedCommunicationLink) newValue;
108 return true;
109 }
110 return false;
111 }
112
113 public void setElement(final CommunicatingElement pElement) {
114 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
115 this.fElement = pElement;
116 }
117
118 public void setLink(final DirectedCommunicationLink pLink) {
119 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
120 this.fLink = pLink;
121 }
122
123 @Override
124 public String patternName() {
125 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement";
126 }
127
128 @Override
129 public List<String> parameterNames() {
130 return CommunicationLinkOfElement.Match.parameterNames;
131 }
132
133 @Override
134 public Object[] toArray() {
135 return new Object[]{fElement, fLink};
136 }
137
138 @Override
139 public CommunicationLinkOfElement.Match toImmutable() {
140 return isMutable() ? newMatch(fElement, fLink) : this;
141 }
142
143 @Override
144 public String prettyPrint() {
145 StringBuilder result = new StringBuilder();
146 result.append("\"Element\"=" + prettyPrintValue(fElement) + ", ");
147 result.append("\"Link\"=" + prettyPrintValue(fLink));
148 return result.toString();
149 }
150
151 @Override
152 public int hashCode() {
153 return Objects.hash(fElement, fLink);
154 }
155
156 @Override
157 public boolean equals(final Object obj) {
158 if (this == obj)
159 return true;
160 if (obj == null) {
161 return false;
162 }
163 if ((obj instanceof CommunicationLinkOfElement.Match)) {
164 CommunicationLinkOfElement.Match other = (CommunicationLinkOfElement.Match) obj;
165 return Objects.equals(fElement, other.fElement) && Objects.equals(fLink, other.fLink);
166 } else {
167 // this should be infrequent
168 if (!(obj instanceof IPatternMatch)) {
169 return false;
170 }
171 IPatternMatch otherSig = (IPatternMatch) obj;
172 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
173 }
174 }
175
176 @Override
177 public CommunicationLinkOfElement specification() {
178 return CommunicationLinkOfElement.instance();
179 }
180
181 /**
182 * Returns an empty, mutable match.
183 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
184 *
185 * @return the empty match.
186 *
187 */
188 public static CommunicationLinkOfElement.Match newEmptyMatch() {
189 return new Mutable(null, null);
190 }
191
192 /**
193 * Returns a mutable (partial) match.
194 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
195 *
196 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
197 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
198 * @return the new, mutable (partial) match object.
199 *
200 */
201 public static CommunicationLinkOfElement.Match newMutableMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
202 return new Mutable(pElement, pLink);
203 }
204
205 /**
206 * Returns a new (partial) match.
207 * This can be used e.g. to call the matcher with a partial match.
208 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
209 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
210 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
211 * @return the (partial) match object.
212 *
213 */
214 public static CommunicationLinkOfElement.Match newMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
215 return new Immutable(pElement, pLink);
216 }
217
218 private static final class Mutable extends CommunicationLinkOfElement.Match {
219 Mutable(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
220 super(pElement, pLink);
221 }
222
223 @Override
224 public boolean isMutable() {
225 return true;
226 }
227 }
228
229 private static final class Immutable extends CommunicationLinkOfElement.Match {
230 Immutable(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
231 super(pElement, pLink);
232 }
233
234 @Override
235 public boolean isMutable() {
236 return false;
237 }
238 }
239 }
240
241 /**
242 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement pattern,
243 * providing pattern-specific query methods.
244 *
245 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
246 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
247 *
248 * <p>Matches of the pattern will be represented as {@link Match}.
249 *
250 * <p>Original source:
251 * <code><pre>
252 * {@literal @}QueryBasedFeature(feature = "communicationLink")
253 * pattern communicationLinkOfElement(Element : CommunicatingElement, Link : DirectedCommunicationLink) {
254 * CommunicatingElement.commSubsystem.communicationLink(Element, Link);
255 * }
256 * </pre></code>
257 *
258 * @see Match
259 * @see CommunicationLinkOfElement
260 *
261 */
262 public static class Matcher extends BaseMatcher<CommunicationLinkOfElement.Match> {
263 /**
264 * Initializes the pattern matcher within an existing VIATRA Query engine.
265 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
266 *
267 * @param engine the existing VIATRA Query engine in which this matcher will be created.
268 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
269 *
270 */
271 public static CommunicationLinkOfElement.Matcher on(final ViatraQueryEngine engine) {
272 // check if matcher already exists
273 Matcher matcher = engine.getExistingMatcher(querySpecification());
274 if (matcher == null) {
275 matcher = (Matcher)engine.getMatcher(querySpecification());
276 }
277 return matcher;
278 }
279
280 /**
281 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
282 * @return an initialized matcher
283 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
284 *
285 */
286 public static CommunicationLinkOfElement.Matcher create() {
287 return new Matcher();
288 }
289
290 private static final int POSITION_ELEMENT = 0;
291
292 private static final int POSITION_LINK = 1;
293
294 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkOfElement.Matcher.class);
295
296 /**
297 * Initializes the pattern matcher within an existing VIATRA Query engine.
298 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
299 *
300 * @param engine the existing VIATRA Query engine in which this matcher will be created.
301 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
302 *
303 */
304 private Matcher() {
305 super(querySpecification());
306 }
307
308 /**
309 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
310 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
311 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
312 * @return matches represented as a Match object.
313 *
314 */
315 public Collection<CommunicationLinkOfElement.Match> getAllMatches(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
316 return rawStreamAllMatches(new Object[]{pElement, pLink}).collect(Collectors.toSet());
317 }
318
319 /**
320 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
321 * </p>
322 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
323 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
324 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
325 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
326 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
327 * @return a stream of matches represented as a Match object.
328 *
329 */
330 public Stream<CommunicationLinkOfElement.Match> streamAllMatches(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
331 return rawStreamAllMatches(new Object[]{pElement, pLink});
332 }
333
334 /**
335 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
336 * Neither determinism nor randomness of selection is guaranteed.
337 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
338 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
339 * @return a match represented as a Match object, or null if no match is found.
340 *
341 */
342 public Optional<CommunicationLinkOfElement.Match> getOneArbitraryMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
343 return rawGetOneArbitraryMatch(new Object[]{pElement, pLink});
344 }
345
346 /**
347 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
348 * under any possible substitution of the unspecified parameters (if any).
349 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
350 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
351 * @return true if the input is a valid (partial) match of the pattern.
352 *
353 */
354 public boolean hasMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
355 return rawHasMatch(new Object[]{pElement, pLink});
356 }
357
358 /**
359 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
360 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
361 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
362 * @return the number of pattern matches found.
363 *
364 */
365 public int countMatches(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
366 return rawCountMatches(new Object[]{pElement, pLink});
367 }
368
369 /**
370 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
371 * Neither determinism nor randomness of selection is guaranteed.
372 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
373 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
374 * @param processor the action that will process the selected match.
375 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
376 *
377 */
378 public boolean forOneArbitraryMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink, final Consumer<? super CommunicationLinkOfElement.Match> processor) {
379 return rawForOneArbitraryMatch(new Object[]{pElement, pLink}, processor);
380 }
381
382 /**
383 * Returns a new (partial) match.
384 * This can be used e.g. to call the matcher with a partial match.
385 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
386 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
387 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
388 * @return the (partial) match object.
389 *
390 */
391 public CommunicationLinkOfElement.Match newMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
392 return CommunicationLinkOfElement.Match.newMatch(pElement, pLink);
393 }
394
395 /**
396 * Retrieve the set of values that occur in matches for Element.
397 * @return the Set of all values or empty set if there are no matches
398 *
399 */
400 protected Stream<CommunicatingElement> rawStreamAllValuesOfElement(final Object[] parameters) {
401 return rawStreamAllValues(POSITION_ELEMENT, parameters).map(CommunicatingElement.class::cast);
402 }
403
404 /**
405 * Retrieve the set of values that occur in matches for Element.
406 * @return the Set of all values or empty set if there are no matches
407 *
408 */
409 public Set<CommunicatingElement> getAllValuesOfElement() {
410 return rawStreamAllValuesOfElement(emptyArray()).collect(Collectors.toSet());
411 }
412
413 /**
414 * Retrieve the set of values that occur in matches for Element.
415 * @return the Set of all values or empty set if there are no matches
416 *
417 */
418 public Stream<CommunicatingElement> streamAllValuesOfElement() {
419 return rawStreamAllValuesOfElement(emptyArray());
420 }
421
422 /**
423 * Retrieve the set of values that occur in matches for Element.
424 * </p>
425 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
426 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
427 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
428 *
429 * @return the Stream of all values or empty set if there are no matches
430 *
431 */
432 public Stream<CommunicatingElement> streamAllValuesOfElement(final CommunicationLinkOfElement.Match partialMatch) {
433 return rawStreamAllValuesOfElement(partialMatch.toArray());
434 }
435
436 /**
437 * Retrieve the set of values that occur in matches for Element.
438 * </p>
439 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
440 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
441 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
442 *
443 * @return the Stream of all values or empty set if there are no matches
444 *
445 */
446 public Stream<CommunicatingElement> streamAllValuesOfElement(final DirectedCommunicationLink pLink) {
447 return rawStreamAllValuesOfElement(new Object[]{null, pLink});
448 }
449
450 /**
451 * Retrieve the set of values that occur in matches for Element.
452 * @return the Set of all values or empty set if there are no matches
453 *
454 */
455 public Set<CommunicatingElement> getAllValuesOfElement(final CommunicationLinkOfElement.Match partialMatch) {
456 return rawStreamAllValuesOfElement(partialMatch.toArray()).collect(Collectors.toSet());
457 }
458
459 /**
460 * Retrieve the set of values that occur in matches for Element.
461 * @return the Set of all values or empty set if there are no matches
462 *
463 */
464 public Set<CommunicatingElement> getAllValuesOfElement(final DirectedCommunicationLink pLink) {
465 return rawStreamAllValuesOfElement(new Object[]{null, pLink}).collect(Collectors.toSet());
466 }
467
468 /**
469 * Retrieve the set of values that occur in matches for Link.
470 * @return the Set of all values or empty set if there are no matches
471 *
472 */
473 protected Stream<DirectedCommunicationLink> rawStreamAllValuesOfLink(final Object[] parameters) {
474 return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast);
475 }
476
477 /**
478 * Retrieve the set of values that occur in matches for Link.
479 * @return the Set of all values or empty set if there are no matches
480 *
481 */
482 public Set<DirectedCommunicationLink> getAllValuesOfLink() {
483 return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet());
484 }
485
486 /**
487 * Retrieve the set of values that occur in matches for Link.
488 * @return the Set of all values or empty set if there are no matches
489 *
490 */
491 public Stream<DirectedCommunicationLink> streamAllValuesOfLink() {
492 return rawStreamAllValuesOfLink(emptyArray());
493 }
494
495 /**
496 * Retrieve the set of values that occur in matches for Link.
497 * </p>
498 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
499 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
500 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
501 *
502 * @return the Stream of all values or empty set if there are no matches
503 *
504 */
505 public Stream<DirectedCommunicationLink> streamAllValuesOfLink(final CommunicationLinkOfElement.Match partialMatch) {
506 return rawStreamAllValuesOfLink(partialMatch.toArray());
507 }
508
509 /**
510 * Retrieve the set of values that occur in matches for Link.
511 * </p>
512 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
513 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
514 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
515 *
516 * @return the Stream of all values or empty set if there are no matches
517 *
518 */
519 public Stream<DirectedCommunicationLink> streamAllValuesOfLink(final CommunicatingElement pElement) {
520 return rawStreamAllValuesOfLink(new Object[]{pElement, null});
521 }
522
523 /**
524 * Retrieve the set of values that occur in matches for Link.
525 * @return the Set of all values or empty set if there are no matches
526 *
527 */
528 public Set<DirectedCommunicationLink> getAllValuesOfLink(final CommunicationLinkOfElement.Match partialMatch) {
529 return rawStreamAllValuesOfLink(partialMatch.toArray()).collect(Collectors.toSet());
530 }
531
532 /**
533 * Retrieve the set of values that occur in matches for Link.
534 * @return the Set of all values or empty set if there are no matches
535 *
536 */
537 public Set<DirectedCommunicationLink> getAllValuesOfLink(final CommunicatingElement pElement) {
538 return rawStreamAllValuesOfLink(new Object[]{pElement, null}).collect(Collectors.toSet());
539 }
540
541 @Override
542 protected CommunicationLinkOfElement.Match tupleToMatch(final Tuple t) {
543 try {
544 return CommunicationLinkOfElement.Match.newMatch((CommunicatingElement) t.get(POSITION_ELEMENT), (DirectedCommunicationLink) t.get(POSITION_LINK));
545 } catch(ClassCastException e) {
546 LOGGER.error("Element(s) in tuple not properly typed!",e);
547 return null;
548 }
549 }
550
551 @Override
552 protected CommunicationLinkOfElement.Match arrayToMatch(final Object[] match) {
553 try {
554 return CommunicationLinkOfElement.Match.newMatch((CommunicatingElement) match[POSITION_ELEMENT], (DirectedCommunicationLink) match[POSITION_LINK]);
555 } catch(ClassCastException e) {
556 LOGGER.error("Element(s) in array not properly typed!",e);
557 return null;
558 }
559 }
560
561 @Override
562 protected CommunicationLinkOfElement.Match arrayToMatchMutable(final Object[] match) {
563 try {
564 return CommunicationLinkOfElement.Match.newMutableMatch((CommunicatingElement) match[POSITION_ELEMENT], (DirectedCommunicationLink) match[POSITION_LINK]);
565 } catch(ClassCastException e) {
566 LOGGER.error("Element(s) in array not properly typed!",e);
567 return null;
568 }
569 }
570
571 /**
572 * @return the singleton instance of the query specification of this pattern
573 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
574 *
575 */
576 public static IQuerySpecification<CommunicationLinkOfElement.Matcher> querySpecification() {
577 return CommunicationLinkOfElement.instance();
578 }
579 }
580
581 private CommunicationLinkOfElement() {
582 super(GeneratedPQuery.INSTANCE);
583 }
584
585 /**
586 * @return the singleton instance of the query specification
587 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
588 *
589 */
590 public static CommunicationLinkOfElement instance() {
591 try{
592 return LazyHolder.INSTANCE;
593 } catch (ExceptionInInitializerError err) {
594 throw processInitializerError(err);
595 }
596 }
597
598 @Override
599 protected CommunicationLinkOfElement.Matcher instantiate(final ViatraQueryEngine engine) {
600 return CommunicationLinkOfElement.Matcher.on(engine);
601 }
602
603 @Override
604 public CommunicationLinkOfElement.Matcher instantiate() {
605 return CommunicationLinkOfElement.Matcher.create();
606 }
607
608 @Override
609 public CommunicationLinkOfElement.Match newEmptyMatch() {
610 return CommunicationLinkOfElement.Match.newEmptyMatch();
611 }
612
613 @Override
614 public CommunicationLinkOfElement.Match newMatch(final Object... parameters) {
615 return CommunicationLinkOfElement.Match.newMatch((satellite.CommunicatingElement) parameters[0], (satellite.DirectedCommunicationLink) parameters[1]);
616 }
617
618 /**
619 * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement (visibility: PUBLIC, simpleName: CommunicationLinkOfElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
620 * <b>not</b> at the class load time of the outer class,
621 * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement (visibility: PUBLIC, simpleName: CommunicationLinkOfElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
622 *
623 * <p> This workaround is required e.g. to support recursion.
624 *
625 */
626 private static class LazyHolder {
627 private static final CommunicationLinkOfElement INSTANCE = new CommunicationLinkOfElement();
628
629 /**
630 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
631 * This initialization order is required to support indirect recursion.
632 *
633 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
634 *
635 */
636 private static final Object STATIC_INITIALIZER = ensureInitialized();
637
638 public static Object ensureInitialized() {
639 INSTANCE.ensureInitializedInternal();
640 return null;
641 }
642 }
643
644 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
645 private static final CommunicationLinkOfElement.GeneratedPQuery INSTANCE = new GeneratedPQuery();
646
647 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
648
649 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
650
651 private final List<PParameter> parameters = Arrays.asList(parameter_Element, parameter_Link);
652
653 private GeneratedPQuery() {
654 super(PVisibility.PUBLIC);
655 }
656
657 @Override
658 public String getFullyQualifiedName() {
659 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement";
660 }
661
662 @Override
663 public List<String> getParameterNames() {
664 return Arrays.asList("Element","Link");
665 }
666
667 @Override
668 public List<PParameter> getParameters() {
669 return parameters;
670 }
671
672 @Override
673 public Set<PBody> doGetContainedBodies() {
674 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
675 Set<PBody> bodies = new LinkedHashSet<>();
676 {
677 PBody body = new PBody(this);
678 PVariable var_Element = body.getOrCreateVariableByName("Element");
679 PVariable var_Link = body.getOrCreateVariableByName("Link");
680 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
681 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
682 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
683 new ExportedParameter(body, var_Element, parameter_Element),
684 new ExportedParameter(body, var_Link, parameter_Link)
685 ));
686 // CommunicatingElement.commSubsystem.communicationLink(Element, Link)
687 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
688 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
689 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
690 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
691 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
692 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "communicationLink")));
693 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
694 new Equality(body, var__virtual_1_, var_Link);
695 bodies.add(body);
696 }
697 {
698 PAnnotation annotation = new PAnnotation("QueryBasedFeature");
699 annotation.addAttribute("feature", "communicationLink");
700 addAnnotation(annotation);
701 }
702 return bodies;
703 }
704 }
705}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java
index ede57df8..f5835baf 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -38,7 +39,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
40import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
41import satellite.CommunicatingElement;
42 42
43/** 43/**
44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -472,7 +472,7 @@ public final class CommunicationLoop extends BaseGeneratedEMFQuerySpecification<
472 472
473 @Override 473 @Override
474 public CommunicationLoop.Match newMatch(final Object... parameters) { 474 public CommunicationLoop.Match newMatch(final Object... parameters) {
475 return CommunicationLoop.Match.newMatch((satellite.CommunicatingElement) parameters[0]); 475 return CommunicationLoop.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement) parameters[0]);
476 } 476 }
477 477
478 /** 478 /**
@@ -504,7 +504,7 @@ public final class CommunicationLoop extends BaseGeneratedEMFQuerySpecification<
504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
505 private static final CommunicationLoop.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 505 private static final CommunicationLoop.GeneratedPQuery INSTANCE = new GeneratedPQuery();
506 506
507 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 507 private final PParameter parameter_Element = new PParameter("Element", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
508 508
509 private final List<PParameter> parameters = Arrays.asList(parameter_Element); 509 private final List<PParameter> parameters = Arrays.asList(parameter_Element);
510 510
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java
index b73cb23f..ba69943a 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -43,7 +44,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
46import satellite.Spacecraft;
47 47
48/** 48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -477,7 +477,7 @@ public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecificati
477 477
478 @Override 478 @Override
479 public CubeSatWithKaAntenna.Match newMatch(final Object... parameters) { 479 public CubeSatWithKaAntenna.Match newMatch(final Object... parameters) {
480 return CubeSatWithKaAntenna.Match.newMatch((satellite.Spacecraft) parameters[0]); 480 return CubeSatWithKaAntenna.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]);
481 } 481 }
482 482
483 /** 483 /**
@@ -509,7 +509,7 @@ public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecificati
509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
510 private static final CubeSatWithKaAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 510 private static final CubeSatWithKaAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery();
511 511
512 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 512 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
513 513
514 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); 514 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft);
515 515
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java
index f2713f45..4cacc34b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -42,7 +43,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
45import satellite.DirectedCommunicationLink;
46 46
47/** 47/**
48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -480,7 +480,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
480 480
481 @Override 481 @Override
482 public IncompatibleSourceAndTargetBand.Match newMatch(final Object... parameters) { 482 public IncompatibleSourceAndTargetBand.Match newMatch(final Object... parameters) {
483 return IncompatibleSourceAndTargetBand.Match.newMatch((satellite.DirectedCommunicationLink) parameters[0]); 483 return IncompatibleSourceAndTargetBand.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]);
484 } 484 }
485 485
486 /** 486 /**
@@ -512,7 +512,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
512 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 512 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
513 private static final IncompatibleSourceAndTargetBand.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 513 private static final IncompatibleSourceAndTargetBand.GeneratedPQuery INSTANCE = new GeneratedPQuery();
514 514
515 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); 515 private final PParameter parameter_Link = new PParameter("Link", "hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
516 516
517 private final List<PParameter> parameters = Arrays.asList(parameter_Link); 517 private final List<PParameter> parameters = Arrays.asList(parameter_Link);
518 518
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java
index 33a4b067..3f247613 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -42,7 +43,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
45import satellite.DirectedCommunicationLink;
46 46
47/** 47/**
48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -476,7 +476,7 @@ public final class IncompatibleSourceAndTargetGain extends BaseGeneratedEMFQuery
476 476
477 @Override 477 @Override
478 public IncompatibleSourceAndTargetGain.Match newMatch(final Object... parameters) { 478 public IncompatibleSourceAndTargetGain.Match newMatch(final Object... parameters) {
479 return IncompatibleSourceAndTargetGain.Match.newMatch((satellite.DirectedCommunicationLink) parameters[0]); 479 return IncompatibleSourceAndTargetGain.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]);
480 } 480 }
481 481
482 /** 482 /**
@@ -508,7 +508,7 @@ public final class IncompatibleSourceAndTargetGain extends BaseGeneratedEMFQuery
508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
509 private static final IncompatibleSourceAndTargetGain.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 509 private static final IncompatibleSourceAndTargetGain.GeneratedPQuery INSTANCE = new GeneratedPQuery();
510 510
511 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); 511 private final PParameter parameter_Link = new PParameter("Link", "hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
512 512
513 private final List<PParameter> parameters = Arrays.asList(parameter_Link); 513 private final List<PParameter> parameters = Arrays.asList(parameter_Link);
514 514
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java
index 37c35bfe..18f6c32f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
6import java.util.Arrays; 7import java.util.Arrays;
7import java.util.Collection; 8import java.util.Collection;
8import java.util.LinkedHashSet; 9import java.util.LinkedHashSet;
@@ -41,7 +42,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
44import satellite.CommSubsystem;
45 45
46/** 46/**
47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -475,7 +475,7 @@ public final class KaAntennaGainLow extends BaseGeneratedEMFQuerySpecification<K
475 475
476 @Override 476 @Override
477 public KaAntennaGainLow.Match newMatch(final Object... parameters) { 477 public KaAntennaGainLow.Match newMatch(final Object... parameters) {
478 return KaAntennaGainLow.Match.newMatch((satellite.CommSubsystem) parameters[0]); 478 return KaAntennaGainLow.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]);
479 } 479 }
480 480
481 /** 481 /**
@@ -507,7 +507,7 @@ public final class KaAntennaGainLow extends BaseGeneratedEMFQuerySpecification<K
507 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 507 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
508 private static final KaAntennaGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 508 private static final KaAntennaGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery();
509 509
510 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 510 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
511 511
512 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 512 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
513 513
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java
index 45952f33..598f3a6b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -40,7 +41,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
43import satellite.Spacecraft;
44 44
45/** 45/**
46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -476,7 +476,7 @@ public final class NoLinkToGroundStation extends BaseGeneratedEMFQuerySpecificat
476 476
477 @Override 477 @Override
478 public NoLinkToGroundStation.Match newMatch(final Object... parameters) { 478 public NoLinkToGroundStation.Match newMatch(final Object... parameters) {
479 return NoLinkToGroundStation.Match.newMatch((satellite.Spacecraft) parameters[0]); 479 return NoLinkToGroundStation.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]);
480 } 480 }
481 481
482 /** 482 /**
@@ -508,7 +508,7 @@ public final class NoLinkToGroundStation extends BaseGeneratedEMFQuerySpecificat
508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
509 private static final NoLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 509 private static final NoLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery();
510 510
511 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 511 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
512 512
513 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); 513 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft);
514 514
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java
index 3366de46..1e8f8502 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -40,7 +41,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
43import satellite.Spacecraft;
44 44
45/** 45/**
46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -472,7 +472,7 @@ public final class NoPotentialLinkToGroundStation extends BaseGeneratedEMFQueryS
472 472
473 @Override 473 @Override
474 public NoPotentialLinkToGroundStation.Match newMatch(final Object... parameters) { 474 public NoPotentialLinkToGroundStation.Match newMatch(final Object... parameters) {
475 return NoPotentialLinkToGroundStation.Match.newMatch((satellite.Spacecraft) parameters[0]); 475 return NoPotentialLinkToGroundStation.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]);
476 } 476 }
477 477
478 /** 478 /**
@@ -504,7 +504,7 @@ public final class NoPotentialLinkToGroundStation extends BaseGeneratedEMFQueryS
504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
505 private static final NoPotentialLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 505 private static final NoPotentialLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery();
506 506
507 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 507 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
508 508
509 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); 509 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft);
510 510
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java
index bdd97100..d75dea5f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -38,7 +39,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
40import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
41import satellite.InterferometryMission;
42 42
43/** 43/**
44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -472,7 +472,7 @@ public final class NotEnoughInterferometryPayloads extends BaseGeneratedEMFQuery
472 472
473 @Override 473 @Override
474 public NotEnoughInterferometryPayloads.Match newMatch(final Object... parameters) { 474 public NotEnoughInterferometryPayloads.Match newMatch(final Object... parameters) {
475 return NotEnoughInterferometryPayloads.Match.newMatch((satellite.InterferometryMission) parameters[0]); 475 return NotEnoughInterferometryPayloads.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission) parameters[0]);
476 } 476 }
477 477
478 /** 478 /**
@@ -504,7 +504,7 @@ public final class NotEnoughInterferometryPayloads extends BaseGeneratedEMFQuery
504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
505 private static final NotEnoughInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 505 private static final NotEnoughInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery();
506 506
507 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); 507 private final PParameter parameter_Mission = new PParameter("Mission", "hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
508 508
509 private final List<PParameter> parameters = Arrays.asList(parameter_Mission); 509 private final List<PParameter> parameters = Arrays.asList(parameter_Mission);
510 510
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java
index d7378783..c86761ce 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java
@@ -3,13 +3,12 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; 8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna;
9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; 9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand;
10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain; 10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain;
11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow; 11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; 12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; 13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation;
15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; 14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads;
@@ -29,8 +28,7 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
29 * in order to achieve better performance than one-by-one on-demand matcher initialization. 28 * in order to achieve better performance than one-by-one on-demand matcher initialization.
30 * 29 *
31 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> 30 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul>
32 * <li>multipleCommunicationLinks</li> 31 * <li>communicationLinkDoesNotStartAtContainingElement</li>
33 * <li>communicationLinkOfElement</li>
34 * <li>notEnoughInterferometryPayloads</li> 32 * <li>notEnoughInterferometryPayloads</li>
35 * <li>noLinkToGroundStation</li> 33 * <li>noLinkToGroundStation</li>
36 * <li>noPotentialLinkToGroundStation</li> 34 * <li>noPotentialLinkToGroundStation</li>
@@ -68,8 +66,7 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
68 private static SatelliteQueries INSTANCE; 66 private static SatelliteQueries INSTANCE;
69 67
70 private SatelliteQueries() { 68 private SatelliteQueries() {
71 querySpecifications.add(MultipleCommunicationLinks.instance()); 69 querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance());
72 querySpecifications.add(CommunicationLinkOfElement.instance());
73 querySpecifications.add(NotEnoughInterferometryPayloads.instance()); 70 querySpecifications.add(NotEnoughInterferometryPayloads.instance());
74 querySpecifications.add(NoLinkToGroundStation.instance()); 71 querySpecifications.add(NoLinkToGroundStation.instance());
75 querySpecifications.add(NoPotentialLinkToGroundStation.instance()); 72 querySpecifications.add(NoPotentialLinkToGroundStation.instance());
@@ -85,20 +82,12 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
85 querySpecifications.add(SpacecraftOfKind.instance()); 82 querySpecifications.add(SpacecraftOfKind.instance());
86 } 83 }
87 84
88 public MultipleCommunicationLinks getMultipleCommunicationLinks() { 85 public CommunicationLinkDoesNotStartAtContainingElement getCommunicationLinkDoesNotStartAtContainingElement() {
89 return MultipleCommunicationLinks.instance(); 86 return CommunicationLinkDoesNotStartAtContainingElement.instance();
90 } 87 }
91 88
92 public MultipleCommunicationLinks.Matcher getMultipleCommunicationLinks(final ViatraQueryEngine engine) { 89 public CommunicationLinkDoesNotStartAtContainingElement.Matcher getCommunicationLinkDoesNotStartAtContainingElement(final ViatraQueryEngine engine) {
93 return MultipleCommunicationLinks.Matcher.on(engine); 90 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine);
94 }
95
96 public CommunicationLinkOfElement getCommunicationLinkOfElement() {
97 return CommunicationLinkOfElement.instance();
98 }
99
100 public CommunicationLinkOfElement.Matcher getCommunicationLinkOfElement(final ViatraQueryEngine engine) {
101 return CommunicationLinkOfElement.Matcher.on(engine);
102 } 91 }
103 92
104 public NotEnoughInterferometryPayloads getNotEnoughInterferometryPayloads() { 93 public NotEnoughInterferometryPayloads getNotEnoughInterferometryPayloads() {
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java
index 4791740e..7bc497ab 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java
@@ -64,11 +64,11 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
64 * 64 *
65 */ 65 */
66 public static abstract class Match extends BasePatternMatch { 66 public static abstract class Match extends BasePatternMatch {
67 private satellite.SmallSat fSat; 67 private hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat fSat;
68 68
69 private static List<String> parameterNames = makeImmutableList("Sat"); 69 private static List<String> parameterNames = makeImmutableList("Sat");
70 70
71 private Match(final satellite.SmallSat pSat) { 71 private Match(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
72 this.fSat = pSat; 72 this.fSat = pSat;
73 } 73 }
74 74
@@ -78,7 +78,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
78 return null; 78 return null;
79 } 79 }
80 80
81 public satellite.SmallSat getSat() { 81 public hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat getSat() {
82 return this.fSat; 82 return this.fSat;
83 } 83 }
84 84
@@ -86,13 +86,13 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
86 public boolean set(final String parameterName, final Object newValue) { 86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("Sat".equals(parameterName) ) { 88 if ("Sat".equals(parameterName) ) {
89 this.fSat = (satellite.SmallSat) newValue; 89 this.fSat = (hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) newValue;
90 return true; 90 return true;
91 } 91 }
92 return false; 92 return false;
93 } 93 }
94 94
95 public void setSat(final satellite.SmallSat pSat) { 95 public void setSat(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fSat = pSat; 97 this.fSat = pSat;
98 } 98 }
@@ -173,7 +173,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
173 * @return the new, mutable (partial) match object. 173 * @return the new, mutable (partial) match object.
174 * 174 *
175 */ 175 */
176 public static SmallSat.Match newMutableMatch(final satellite.SmallSat pSat) { 176 public static SmallSat.Match newMutableMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
177 return new Mutable(pSat); 177 return new Mutable(pSat);
178 } 178 }
179 179
@@ -185,12 +185,12 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
185 * @return the (partial) match object. 185 * @return the (partial) match object.
186 * 186 *
187 */ 187 */
188 public static SmallSat.Match newMatch(final satellite.SmallSat pSat) { 188 public static SmallSat.Match newMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
189 return new Immutable(pSat); 189 return new Immutable(pSat);
190 } 190 }
191 191
192 private static final class Mutable extends SmallSat.Match { 192 private static final class Mutable extends SmallSat.Match {
193 Mutable(final satellite.SmallSat pSat) { 193 Mutable(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
194 super(pSat); 194 super(pSat);
195 } 195 }
196 196
@@ -201,7 +201,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
201 } 201 }
202 202
203 private static final class Immutable extends SmallSat.Match { 203 private static final class Immutable extends SmallSat.Match {
204 Immutable(final satellite.SmallSat pSat) { 204 Immutable(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
205 super(pSat); 205 super(pSat);
206 } 206 }
207 207
@@ -282,7 +282,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
282 * @return matches represented as a Match object. 282 * @return matches represented as a Match object.
283 * 283 *
284 */ 284 */
285 public Collection<SmallSat.Match> getAllMatches(final satellite.SmallSat pSat) { 285 public Collection<SmallSat.Match> getAllMatches(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
286 return rawStreamAllMatches(new Object[]{pSat}).collect(Collectors.toSet()); 286 return rawStreamAllMatches(new Object[]{pSat}).collect(Collectors.toSet());
287 } 287 }
288 288
@@ -296,7 +296,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
296 * @return a stream of matches represented as a Match object. 296 * @return a stream of matches represented as a Match object.
297 * 297 *
298 */ 298 */
299 public Stream<SmallSat.Match> streamAllMatches(final satellite.SmallSat pSat) { 299 public Stream<SmallSat.Match> streamAllMatches(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
300 return rawStreamAllMatches(new Object[]{pSat}); 300 return rawStreamAllMatches(new Object[]{pSat});
301 } 301 }
302 302
@@ -307,7 +307,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
307 * @return a match represented as a Match object, or null if no match is found. 307 * @return a match represented as a Match object, or null if no match is found.
308 * 308 *
309 */ 309 */
310 public Optional<SmallSat.Match> getOneArbitraryMatch(final satellite.SmallSat pSat) { 310 public Optional<SmallSat.Match> getOneArbitraryMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
311 return rawGetOneArbitraryMatch(new Object[]{pSat}); 311 return rawGetOneArbitraryMatch(new Object[]{pSat});
312 } 312 }
313 313
@@ -318,7 +318,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
318 * @return true if the input is a valid (partial) match of the pattern. 318 * @return true if the input is a valid (partial) match of the pattern.
319 * 319 *
320 */ 320 */
321 public boolean hasMatch(final satellite.SmallSat pSat) { 321 public boolean hasMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
322 return rawHasMatch(new Object[]{pSat}); 322 return rawHasMatch(new Object[]{pSat});
323 } 323 }
324 324
@@ -328,7 +328,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
328 * @return the number of pattern matches found. 328 * @return the number of pattern matches found.
329 * 329 *
330 */ 330 */
331 public int countMatches(final satellite.SmallSat pSat) { 331 public int countMatches(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
332 return rawCountMatches(new Object[]{pSat}); 332 return rawCountMatches(new Object[]{pSat});
333 } 333 }
334 334
@@ -340,7 +340,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 * 341 *
342 */ 342 */
343 public boolean forOneArbitraryMatch(final satellite.SmallSat pSat, final Consumer<? super SmallSat.Match> processor) { 343 public boolean forOneArbitraryMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat, final Consumer<? super SmallSat.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pSat}, processor); 344 return rawForOneArbitraryMatch(new Object[]{pSat}, processor);
345 } 345 }
346 346
@@ -352,7 +352,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
352 * @return the (partial) match object. 352 * @return the (partial) match object.
353 * 353 *
354 */ 354 */
355 public SmallSat.Match newMatch(final satellite.SmallSat pSat) { 355 public SmallSat.Match newMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
356 return SmallSat.Match.newMatch(pSat); 356 return SmallSat.Match.newMatch(pSat);
357 } 357 }
358 358
@@ -361,8 +361,8 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
361 * @return the Set of all values or empty set if there are no matches 361 * @return the Set of all values or empty set if there are no matches
362 * 362 *
363 */ 363 */
364 protected Stream<satellite.SmallSat> rawStreamAllValuesOfSat(final Object[] parameters) { 364 protected Stream<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> rawStreamAllValuesOfSat(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_SAT, parameters).map(satellite.SmallSat.class::cast); 365 return rawStreamAllValues(POSITION_SAT, parameters).map(hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat.class::cast);
366 } 366 }
367 367
368 /** 368 /**
@@ -370,7 +370,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
370 * @return the Set of all values or empty set if there are no matches 370 * @return the Set of all values or empty set if there are no matches
371 * 371 *
372 */ 372 */
373 public Set<satellite.SmallSat> getAllValuesOfSat() { 373 public Set<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> getAllValuesOfSat() {
374 return rawStreamAllValuesOfSat(emptyArray()).collect(Collectors.toSet()); 374 return rawStreamAllValuesOfSat(emptyArray()).collect(Collectors.toSet());
375 } 375 }
376 376
@@ -379,14 +379,14 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
379 * @return the Set of all values or empty set if there are no matches 379 * @return the Set of all values or empty set if there are no matches
380 * 380 *
381 */ 381 */
382 public Stream<satellite.SmallSat> streamAllValuesOfSat() { 382 public Stream<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> streamAllValuesOfSat() {
383 return rawStreamAllValuesOfSat(emptyArray()); 383 return rawStreamAllValuesOfSat(emptyArray());
384 } 384 }
385 385
386 @Override 386 @Override
387 protected SmallSat.Match tupleToMatch(final Tuple t) { 387 protected SmallSat.Match tupleToMatch(final Tuple t) {
388 try { 388 try {
389 return SmallSat.Match.newMatch((satellite.SmallSat) t.get(POSITION_SAT)); 389 return SmallSat.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) t.get(POSITION_SAT));
390 } catch(ClassCastException e) { 390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e); 391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null; 392 return null;
@@ -396,7 +396,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
396 @Override 396 @Override
397 protected SmallSat.Match arrayToMatch(final Object[] match) { 397 protected SmallSat.Match arrayToMatch(final Object[] match) {
398 try { 398 try {
399 return SmallSat.Match.newMatch((satellite.SmallSat) match[POSITION_SAT]); 399 return SmallSat.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) match[POSITION_SAT]);
400 } catch(ClassCastException e) { 400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e); 401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null; 402 return null;
@@ -406,7 +406,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
406 @Override 406 @Override
407 protected SmallSat.Match arrayToMatchMutable(final Object[] match) { 407 protected SmallSat.Match arrayToMatchMutable(final Object[] match) {
408 try { 408 try {
409 return SmallSat.Match.newMutableMatch((satellite.SmallSat) match[POSITION_SAT]); 409 return SmallSat.Match.newMutableMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) match[POSITION_SAT]);
410 } catch(ClassCastException e) { 410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e); 411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null; 412 return null;
@@ -457,7 +457,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
457 457
458 @Override 458 @Override
459 public SmallSat.Match newMatch(final Object... parameters) { 459 public SmallSat.Match newMatch(final Object... parameters) {
460 return SmallSat.Match.newMatch((satellite.SmallSat) parameters[0]); 460 return SmallSat.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) parameters[0]);
461 } 461 }
462 462
463 /** 463 /**
@@ -489,7 +489,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private static final SmallSat.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 490 private static final SmallSat.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491 491
492 private final PParameter parameter_Sat = new PParameter("Sat", "satellite.SmallSat", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "SmallSat")), PParameterDirection.INOUT); 492 private final PParameter parameter_Sat = new PParameter("Sat", "hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "SmallSat")), PParameterDirection.INOUT);
493 493
494 private final List<PParameter> parameters = Arrays.asList(parameter_Sat); 494 private final List<PParameter> parameters = Arrays.asList(parameter_Sat);
495 495
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java
index ed0bd7dc..52602bb5 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java
@@ -3,6 +3,8 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind;
6import java.util.Arrays; 8import java.util.Arrays;
7import java.util.Collection; 9import java.util.Collection;
8import java.util.LinkedHashSet; 10import java.util.LinkedHashSet;
@@ -39,8 +41,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
42import satellite.Spacecraft;
43import satellite.SpacecraftKind;
44 44
45/** 45/**
46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -628,7 +628,7 @@ public final class SpacecraftOfKind extends BaseGeneratedEMFQuerySpecification<S
628 628
629 @Override 629 @Override
630 public SpacecraftOfKind.Match newMatch(final Object... parameters) { 630 public SpacecraftOfKind.Match newMatch(final Object... parameters) {
631 return SpacecraftOfKind.Match.newMatch((satellite.Spacecraft) parameters[0], (satellite.SpacecraftKind) parameters[1]); 631 return SpacecraftOfKind.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0], (hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind) parameters[1]);
632 } 632 }
633 633
634 /** 634 /**
@@ -660,9 +660,9 @@ public final class SpacecraftOfKind extends BaseGeneratedEMFQuerySpecification<S
660 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 660 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
661 private static final SpacecraftOfKind.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 661 private static final SpacecraftOfKind.GeneratedPQuery INSTANCE = new GeneratedPQuery();
662 662
663 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 663 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
664 664
665 private final PParameter parameter_Kind = new PParameter("Kind", "satellite.SpacecraftKind", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "SpacecraftKind")), PParameterDirection.INOUT); 665 private final PParameter parameter_Kind = new PParameter("Kind", "hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "SpacecraftKind")), PParameterDirection.INOUT);
666 666
667 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Kind); 667 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Kind);
668 668
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java
index 51b224b1..6408033b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; 8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork;
8import java.util.Arrays; 9import java.util.Arrays;
@@ -41,7 +42,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
44import satellite.CubeSat3U;
45 45
46/** 46/**
47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -485,7 +485,7 @@ public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuer
485 485
486 @Override 486 @Override
487 public ThreeUCubeSatWithNonUhfCrossLink.Match newMatch(final Object... parameters) { 487 public ThreeUCubeSatWithNonUhfCrossLink.Match newMatch(final Object... parameters) {
488 return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch((satellite.CubeSat3U) parameters[0]); 488 return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U) parameters[0]);
489 } 489 }
490 490
491 /** 491 /**
@@ -517,7 +517,7 @@ public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuer
517 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 517 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
518 private static final ThreeUCubeSatWithNonUhfCrossLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 518 private static final ThreeUCubeSatWithNonUhfCrossLink.GeneratedPQuery INSTANCE = new GeneratedPQuery();
519 519
520 private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); 520 private final PParameter parameter_Sat = new PParameter("Sat", "hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT);
521 521
522 private final List<PParameter> parameters = Arrays.asList(parameter_Sat); 522 private final List<PParameter> parameters = Arrays.asList(parameter_Sat);
523 523
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java
index 99e472ea..62222ded 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -43,7 +44,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
46import satellite.CommSubsystem;
47 47
48/** 48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -483,7 +483,7 @@ public final class UhfAntennaGainNotLow extends BaseGeneratedEMFQuerySpecificati
483 483
484 @Override 484 @Override
485 public UhfAntennaGainNotLow.Match newMatch(final Object... parameters) { 485 public UhfAntennaGainNotLow.Match newMatch(final Object... parameters) {
486 return UhfAntennaGainNotLow.Match.newMatch((satellite.CommSubsystem) parameters[0]); 486 return UhfAntennaGainNotLow.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]);
487 } 487 }
488 488
489 /** 489 /**
@@ -515,7 +515,7 @@ public final class UhfAntennaGainNotLow extends BaseGeneratedEMFQuerySpecificati
515 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 515 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
516 private static final UhfAntennaGainNotLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 516 private static final UhfAntennaGainNotLow.GeneratedPQuery INSTANCE = new GeneratedPQuery();
517 517
518 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 518 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
519 519
520 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 520 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
521 521
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java
index b50962c5..dbe6d26e 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -43,7 +44,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
46import satellite.CommSubsystem;
47 47
48/** 48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -477,7 +477,7 @@ public final class XAntennaGainNotMedium extends BaseGeneratedEMFQuerySpecificat
477 477
478 @Override 478 @Override
479 public XAntennaGainNotMedium.Match newMatch(final Object... parameters) { 479 public XAntennaGainNotMedium.Match newMatch(final Object... parameters) {
480 return XAntennaGainNotMedium.Match.newMatch((satellite.CommSubsystem) parameters[0]); 480 return XAntennaGainNotMedium.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]);
481 } 481 }
482 482
483 /** 483 /**
@@ -509,7 +509,7 @@ public final class XAntennaGainNotMedium extends BaseGeneratedEMFQuerySpecificat
509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
510 private static final XAntennaGainNotMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 510 private static final XAntennaGainNotMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery();
511 511
512 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 512 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
513 513
514 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 514 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
515 515
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java
index 58e7e183..d560ac93 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java
@@ -88,7 +88,7 @@ public final class AtLeastTwoInterferometryPayloads extends BaseGeneratedEMFQuer
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final AtLeastTwoInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final AtLeastTwoInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); 91 private final PParameter parameter_Mission = new PParameter("Mission", "hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
92 92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Mission); 93 private final List<PParameter> parameters = Arrays.asList(parameter_Mission);
94 94
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java
index 609e0b93..a0009587 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java
@@ -87,9 +87,9 @@ public final class CommSubsystemBand extends BaseGeneratedEMFQuerySpecificationW
87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
88 private static final CommSubsystemBand.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 88 private static final CommSubsystemBand.GeneratedPQuery INSTANCE = new GeneratedPQuery();
89 89
90 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 90 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
91 91
92 private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); 92 private final PParameter parameter_Band = new PParameter("Band", "hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT);
93 93
94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Band); 94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Band);
95 95
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java
index bc25ea59..51175ce3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java
@@ -88,7 +88,7 @@ public final class CommSubsystemBandUhf extends BaseGeneratedEMFQuerySpecificati
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemBandUhf.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final CommSubsystemBandUhf.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
92 92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
94 94
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java
index 69793a96..e2e0e2a1 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java
@@ -87,9 +87,9 @@ public final class CommSubsystemGain extends BaseGeneratedEMFQuerySpecificationW
87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
88 private static final CommSubsystemGain.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 88 private static final CommSubsystemGain.GeneratedPQuery INSTANCE = new GeneratedPQuery();
89 89
90 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 90 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
91 91
92 private final PParameter parameter_Gain = new PParameter("Gain", "satellite.AntennaGain", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "AntennaGain")), PParameterDirection.INOUT); 92 private final PParameter parameter_Gain = new PParameter("Gain", "hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "AntennaGain")), PParameterDirection.INOUT);
93 93
94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Gain); 94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Gain);
95 95
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java
index fd24f163..04ee67da 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java
@@ -88,7 +88,7 @@ public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificati
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final CommSubsystemGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
92 92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
94 94
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java
index 82b77bbc..4b3bc03b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java
@@ -88,7 +88,7 @@ public final class CommSubsystemGainMedium extends BaseGeneratedEMFQuerySpecific
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemGainMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final CommSubsystemGainMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
92 92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
94 94
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java
index acc60475..fe789893 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java
@@ -83,7 +83,7 @@ public final class CubeSat3U extends BaseGeneratedEMFQuerySpecificationWithGener
83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
84 private static final CubeSat3U.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 84 private static final CubeSat3U.GeneratedPQuery INSTANCE = new GeneratedPQuery();
85 85
86 private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); 86 private final PParameter parameter_Sat = new PParameter("Sat", "hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT);
87 87
88 private final List<PParameter> parameters = Arrays.asList(parameter_Sat); 88 private final List<PParameter> parameters = Arrays.asList(parameter_Sat);
89 89
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java
index a2123354..d6f5c53b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java
@@ -88,9 +88,9 @@ public final class DirectCommunicationLink extends BaseGeneratedEMFQuerySpecific
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final DirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final DirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Source = new PParameter("Source", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 91 private final PParameter parameter_Source = new PParameter("Source", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
92 92
93 private final PParameter parameter_Target = new PParameter("Target", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 93 private final PParameter parameter_Target = new PParameter("Target", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
94 94
95 private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target); 95 private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target);
96 96
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java
index 606cdfed..93b1a01b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java
@@ -83,7 +83,7 @@ public final class GroundStationNetwork extends BaseGeneratedEMFQuerySpecificati
83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
84 private static final GroundStationNetwork.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 84 private static final GroundStationNetwork.GeneratedPQuery INSTANCE = new GeneratedPQuery();
85 85
86 private final PParameter parameter_Network = new PParameter("Network", "satellite.GroundStationNetwork", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "GroundStationNetwork")), PParameterDirection.INOUT); 86 private final PParameter parameter_Network = new PParameter("Network", "hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "GroundStationNetwork")), PParameterDirection.INOUT);
87 87
88 private final List<PParameter> parameters = Arrays.asList(parameter_Network); 88 private final List<PParameter> parameters = Arrays.asList(parameter_Network);
89 89
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java
index dee8a83c..6d5e475c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java
@@ -85,9 +85,9 @@ public final class IndirectCommunicationLink extends BaseGeneratedEMFQuerySpecif
85 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 85 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
86 private static final IndirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 86 private static final IndirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery();
87 87
88 private final PParameter parameter_Source = new PParameter("Source", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 88 private final PParameter parameter_Source = new PParameter("Source", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
89 89
90 private final PParameter parameter_Target = new PParameter("Target", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 90 private final PParameter parameter_Target = new PParameter("Target", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
91 91
92 private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target); 92 private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target);
93 93
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java
index 31381a09..27648bf3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java
@@ -85,9 +85,9 @@ public final class IndirectLinkAllowed extends BaseGeneratedEMFQuerySpecificatio
85 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 85 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
86 private static final IndirectLinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 86 private static final IndirectLinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery();
87 87
88 private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 88 private final PParameter parameter_From = new PParameter("From", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
89 89
90 private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 90 private final PParameter parameter_To = new PParameter("To", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
91 91
92 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To); 92 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To);
93 93
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java
index 7118d657..e7529aa2 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java
@@ -96,9 +96,9 @@ public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGen
96 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 96 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
97 private static final LinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 97 private static final LinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery();
98 98
99 private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 99 private final PParameter parameter_From = new PParameter("From", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
100 100
101 private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 101 private final PParameter parameter_To = new PParameter("To", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
102 102
103 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To); 103 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To);
104 104
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
index 3a52ad1d..b4f0d9e9 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
@@ -90,11 +90,11 @@ public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWit
90 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 90 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
91 private static final MatchingAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 91 private static final MatchingAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery();
92 92
93 private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 93 private final PParameter parameter_From = new PParameter("From", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
94 94
95 private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 95 private final PParameter parameter_To = new PParameter("To", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
96 96
97 private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); 97 private final PParameter parameter_Band = new PParameter("Band", "hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT);
98 98
99 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To, parameter_Band); 99 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To, parameter_Band);
100 100
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java
index 591215cd..36fa4557 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java
@@ -3,13 +3,12 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; 8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna;
9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; 9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand;
10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain; 10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain;
11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow; 11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; 12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; 13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation;
15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; 14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads;
@@ -40,8 +39,7 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
40 * <p>A private group that includes private patterns as well. Only intended use case is for pattern testing. 39 * <p>A private group that includes private patterns as well. Only intended use case is for pattern testing.
41 * 40 *
42 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> 41 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul>
43 * <li>multipleCommunicationLinks</li> 42 * <li>communicationLinkDoesNotStartAtContainingElement</li>
44 * <li>communicationLinkOfElement</li>
45 * <li>notEnoughInterferometryPayloads</li> 43 * <li>notEnoughInterferometryPayloads</li>
46 * <li>atLeastTwoInterferometryPayloads</li> 44 * <li>atLeastTwoInterferometryPayloads</li>
47 * <li>spacecraftWithInterferometryPayload</li> 45 * <li>spacecraftWithInterferometryPayload</li>
@@ -93,8 +91,7 @@ public final class SatelliteQueriesAll extends BaseGeneratedPatternGroup {
93 private static SatelliteQueriesAll INSTANCE; 91 private static SatelliteQueriesAll INSTANCE;
94 92
95 private SatelliteQueriesAll() { 93 private SatelliteQueriesAll() {
96 querySpecifications.add(MultipleCommunicationLinks.instance()); 94 querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance());
97 querySpecifications.add(CommunicationLinkOfElement.instance());
98 querySpecifications.add(NotEnoughInterferometryPayloads.instance()); 95 querySpecifications.add(NotEnoughInterferometryPayloads.instance());
99 querySpecifications.add(AtLeastTwoInterferometryPayloads.instance()); 96 querySpecifications.add(AtLeastTwoInterferometryPayloads.instance());
100 querySpecifications.add(SpacecraftWithInterferometryPayload.instance()); 97 querySpecifications.add(SpacecraftWithInterferometryPayload.instance());
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java
index 9566c4c5..f8e6ca4f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java
@@ -87,9 +87,9 @@ public final class SpacecraftWithInterferometryPayload extends BaseGeneratedEMFQ
87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
88 private static final SpacecraftWithInterferometryPayload.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 88 private static final SpacecraftWithInterferometryPayload.GeneratedPQuery INSTANCE = new GeneratedPQuery();
89 89
90 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.ConstellationMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "ConstellationMission")), PParameterDirection.INOUT); 90 private final PParameter parameter_Mission = new PParameter("Mission", "hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "ConstellationMission")), PParameterDirection.INOUT);
91 91
92 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 92 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
93 93
94 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft); 94 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft);
95 95
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
index edffd941..40553e29 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
@@ -2,17 +2,13 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite.queries
2 2
3import "http://www.example.org/satellite" 3import "http://www.example.org/satellite"
4 4
5@Constraint(severity = "error", key = {Element}, 5@Constraint(severity = "error", key = {Link},
6 message = "Only one communication link is allowed per element.") 6 message = "Communication links must start from the containing element.")
7pattern multipleCommunicationLinks(Element : CommunicatingElement) { 7pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) {
8 CommunicatingElement.commSubsystem.communicationLink(Element, Link1); 8 CommunicatingElement.communicationLink(Element, Link);
9 CommunicatingElement.commSubsystem.communicationLink(Element, Link2); 9 DirectedCommunicationLink.source(Link, SourceComm);
10 Link1 != Link2; 10 CommunicatingElement.commSubsystem(SourceElement, SourceComm);
11} 11 Element != SourceElement;
12
13@QueryBasedFeature(feature = "communicationLink")
14pattern communicationLinkOfElement(Element : CommunicatingElement, Link : DirectedCommunicationLink) {
15 CommunicatingElement.commSubsystem.communicationLink(Element, Link);
16} 12}
17 13
18// At least two spacecraft must have the interferometry payload configured 14// At least two spacecraft must have the interferometry payload configured