aboutsummaryrefslogtreecommitdiffstats
path: root/Domains
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-05-07 11:53:38 -0400
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-05-07 11:53:38 -0400
commit9b83e33c055660f6de218d1b672f67734675f1f6 (patch)
tree9bd56534fdeb2bad776780a856065739d0d525cd /Domains
parentTrying to implement spacecraft case study (diff)
downloadVIATRA-Generator-9b83e33c055660f6de218d1b672f67734675f1f6.tar.gz
VIATRA-Generator-9b83e33c055660f6de218d1b672f67734675f1f6.tar.zst
VIATRA-Generator-9b83e33c055660f6de218d1b672f67734675f1f6.zip
Try to restructure satellite case study
Diffstat (limited to 'Domains')
-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/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/MultipleCommunicationLinks.java (renamed from Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java)273
-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, 2311 insertions, 1096 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 1942980c..726f838f 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 += 16..32 10 #node += 8..16
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 072a9705..1cee0c0d 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,6 +15,7 @@ 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>
18 * </ul> 19 * </ul>
19 * 20 *
20 * @see satellite.SatellitePackage#getCommSubsystem() 21 * @see satellite.SatellitePackage#getCommSubsystem()
@@ -80,4 +81,30 @@ public interface CommSubsystem extends EObject {
80 */ 81 */
81 void setGain(AntennaGain value); 82 void setGain(AntennaGain value);
82 83
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
83} // CommSubsystem 110} // 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 b96b281f..6e12fd9f 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,29 +41,18 @@ 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>' containment reference. 44 * Returns the value of the '<em><b>Communication Link</b></em>' 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>' containment reference. 51 * @return the value of the '<em>Communication Link</em>' reference.
52 * @see #setCommunicationLink(DirectedCommunicationLink)
53 * @see satellite.SatellitePackage#getCommunicatingElement_CommunicationLink() 52 * @see satellite.SatellitePackage#getCommunicatingElement_CommunicationLink()
54 * @model containment="true" 53 * @model transient="true" changeable="false" volatile="true" derived="true"
55 * @generated 54 * @generated
56 */ 55 */
57 DirectedCommunicationLink getCommunicationLink(); 56 DirectedCommunicationLink getCommunicationLink();
58 57
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
69} // CommunicatingElement 58} // 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
new file mode 100644
index 00000000..a38926d4
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java
@@ -0,0 +1,16 @@
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 5758e165..c68bf52c 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 Spacecraft { 15public interface CubeSat3U extends CubeSat {
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 a8d8830f..5ade601a 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 Spacecraft { 15public interface CubeSat6U extends CubeSat {
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 f0d80ac2..6e8723ae 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>' containment reference. 182 * The feature id for the '<em><b>Communication Link</b></em>' 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>' containment reference. 228 * The feature id for the '<em><b>Communication Link</b></em>' 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>' containment reference. 274 * The feature id for the '<em><b>Communication Link</b></em>' reference.
275 * <!-- begin-user-doc --> 275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc --> 276 * <!-- end-user-doc -->
277 * @generated 277 * @generated
@@ -344,13 +344,22 @@ 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 /**
347 * The number of structural features of the '<em>Comm Subsystem</em>' class. 356 * The number of structural features of the '<em>Comm Subsystem</em>' class.
348 * <!-- begin-user-doc --> 357 * <!-- begin-user-doc -->
349 * <!-- end-user-doc --> 358 * <!-- end-user-doc -->
350 * @generated 359 * @generated
351 * @ordered 360 * @ordered
352 */ 361 */
353 int COMM_SUBSYSTEM_FEATURE_COUNT = 2; 362 int COMM_SUBSYSTEM_FEATURE_COUNT = 3;
354 363
355 /** 364 /**
356 * The number of operations of the '<em>Comm Subsystem</em>' class. 365 * The number of operations of the '<em>Comm Subsystem</em>' class.
@@ -464,6 +473,70 @@ public interface SatellitePackage extends EPackage {
464 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0; 473 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0;
465 474
466 /** 475 /**
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 /**
467 * The meta object id for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class. 540 * The meta object id for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
468 * <!-- begin-user-doc --> 541 * <!-- begin-user-doc -->
469 * <!-- end-user-doc --> 542 * <!-- end-user-doc -->
@@ -480,16 +553,16 @@ public interface SatellitePackage extends EPackage {
480 * @generated 553 * @generated
481 * @ordered 554 * @ordered
482 */ 555 */
483 int CUBE_SAT3_U__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; 556 int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
484 557
485 /** 558 /**
486 * The feature id for the '<em><b>Communication Link</b></em>' containment reference. 559 * The feature id for the '<em><b>Communication Link</b></em>' reference.
487 * <!-- begin-user-doc --> 560 * <!-- begin-user-doc -->
488 * <!-- end-user-doc --> 561 * <!-- end-user-doc -->
489 * @generated 562 * @generated
490 * @ordered 563 * @ordered
491 */ 564 */
492 int CUBE_SAT3_U__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; 565 int CUBE_SAT3_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK;
493 566
494 /** 567 /**
495 * The feature id for the '<em><b>Payload</b></em>' containment reference. 568 * The feature id for the '<em><b>Payload</b></em>' containment reference.
@@ -498,7 +571,7 @@ public interface SatellitePackage extends EPackage {
498 * @generated 571 * @generated
499 * @ordered 572 * @ordered
500 */ 573 */
501 int CUBE_SAT3_U__PAYLOAD = SPACECRAFT__PAYLOAD; 574 int CUBE_SAT3_U__PAYLOAD = CUBE_SAT__PAYLOAD;
502 575
503 /** 576 /**
504 * The feature id for the '<em><b>Kind</b></em>' attribute. 577 * The feature id for the '<em><b>Kind</b></em>' attribute.
@@ -507,7 +580,7 @@ public interface SatellitePackage extends EPackage {
507 * @generated 580 * @generated
508 * @ordered 581 * @ordered
509 */ 582 */
510 int CUBE_SAT3_U__KIND = SPACECRAFT__KIND; 583 int CUBE_SAT3_U__KIND = CUBE_SAT__KIND;
511 584
512 /** 585 /**
513 * The number of structural features of the '<em>Cube Sat3 U</em>' class. 586 * The number of structural features of the '<em>Cube Sat3 U</em>' class.
@@ -516,7 +589,7 @@ public interface SatellitePackage extends EPackage {
516 * @generated 589 * @generated
517 * @ordered 590 * @ordered
518 */ 591 */
519 int CUBE_SAT3_U_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; 592 int CUBE_SAT3_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
520 593
521 /** 594 /**
522 * The number of operations of the '<em>Cube Sat3 U</em>' class. 595 * The number of operations of the '<em>Cube Sat3 U</em>' class.
@@ -525,7 +598,7 @@ public interface SatellitePackage extends EPackage {
525 * @generated 598 * @generated
526 * @ordered 599 * @ordered
527 */ 600 */
528 int CUBE_SAT3_U_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; 601 int CUBE_SAT3_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
529 602
530 /** 603 /**
531 * The meta object id for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class. 604 * The meta object id for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
@@ -544,16 +617,16 @@ public interface SatellitePackage extends EPackage {
544 * @generated 617 * @generated
545 * @ordered 618 * @ordered
546 */ 619 */
547 int CUBE_SAT6_U__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; 620 int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
548 621
549 /** 622 /**
550 * The feature id for the '<em><b>Communication Link</b></em>' containment reference. 623 * The feature id for the '<em><b>Communication Link</b></em>' reference.
551 * <!-- begin-user-doc --> 624 * <!-- begin-user-doc -->
552 * <!-- end-user-doc --> 625 * <!-- end-user-doc -->
553 * @generated 626 * @generated
554 * @ordered 627 * @ordered
555 */ 628 */
556 int CUBE_SAT6_U__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; 629 int CUBE_SAT6_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK;
557 630
558 /** 631 /**
559 * The feature id for the '<em><b>Payload</b></em>' containment reference. 632 * The feature id for the '<em><b>Payload</b></em>' containment reference.
@@ -562,7 +635,7 @@ public interface SatellitePackage extends EPackage {
562 * @generated 635 * @generated
563 * @ordered 636 * @ordered
564 */ 637 */
565 int CUBE_SAT6_U__PAYLOAD = SPACECRAFT__PAYLOAD; 638 int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD;
566 639
567 /** 640 /**
568 * The feature id for the '<em><b>Kind</b></em>' attribute. 641 * The feature id for the '<em><b>Kind</b></em>' attribute.
@@ -571,7 +644,7 @@ public interface SatellitePackage extends EPackage {
571 * @generated 644 * @generated
572 * @ordered 645 * @ordered
573 */ 646 */
574 int CUBE_SAT6_U__KIND = SPACECRAFT__KIND; 647 int CUBE_SAT6_U__KIND = CUBE_SAT__KIND;
575 648
576 /** 649 /**
577 * The number of structural features of the '<em>Cube Sat6 U</em>' class. 650 * The number of structural features of the '<em>Cube Sat6 U</em>' class.
@@ -580,7 +653,7 @@ public interface SatellitePackage extends EPackage {
580 * @generated 653 * @generated
581 * @ordered 654 * @ordered
582 */ 655 */
583 int CUBE_SAT6_U_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; 656 int CUBE_SAT6_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
584 657
585 /** 658 /**
586 * The number of operations of the '<em>Cube Sat6 U</em>' class. 659 * The number of operations of the '<em>Cube Sat6 U</em>' class.
@@ -589,7 +662,7 @@ public interface SatellitePackage extends EPackage {
589 * @generated 662 * @generated
590 * @ordered 663 * @ordered
591 */ 664 */
592 int CUBE_SAT6_U_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; 665 int CUBE_SAT6_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
593 666
594 /** 667 /**
595 * The meta object id for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class. 668 * The meta object id for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
@@ -611,7 +684,7 @@ public interface SatellitePackage extends EPackage {
611 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; 684 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
612 685
613 /** 686 /**
614 * The feature id for the '<em><b>Communication Link</b></em>' containment reference. 687 * The feature id for the '<em><b>Communication Link</b></em>' reference.
615 * <!-- begin-user-doc --> 688 * <!-- begin-user-doc -->
616 * <!-- end-user-doc --> 689 * <!-- end-user-doc -->
617 * @generated 690 * @generated
@@ -663,7 +736,7 @@ public interface SatellitePackage extends EPackage {
663 * @see satellite.impl.SatellitePackageImpl#getTransceiverBand() 736 * @see satellite.impl.SatellitePackageImpl#getTransceiverBand()
664 * @generated 737 * @generated
665 */ 738 */
666 int TRANSCEIVER_BAND = 12; 739 int TRANSCEIVER_BAND = 13;
667 740
668 /** 741 /**
669 * The meta object id for the '{@link satellite.AntennaGain <em>Antenna Gain</em>}' enum. 742 * The meta object id for the '{@link satellite.AntennaGain <em>Antenna Gain</em>}' enum.
@@ -673,7 +746,7 @@ public interface SatellitePackage extends EPackage {
673 * @see satellite.impl.SatellitePackageImpl#getAntennaGain() 746 * @see satellite.impl.SatellitePackageImpl#getAntennaGain()
674 * @generated 747 * @generated
675 */ 748 */
676 int ANTENNA_GAIN = 13; 749 int ANTENNA_GAIN = 14;
677 750
678 /** 751 /**
679 * The meta object id for the '{@link satellite.SpacecraftKind <em>Spacecraft Kind</em>}' enum. 752 * The meta object id for the '{@link satellite.SpacecraftKind <em>Spacecraft Kind</em>}' enum.
@@ -683,7 +756,7 @@ public interface SatellitePackage extends EPackage {
683 * @see satellite.impl.SatellitePackageImpl#getSpacecraftKind() 756 * @see satellite.impl.SatellitePackageImpl#getSpacecraftKind()
684 * @generated 757 * @generated
685 */ 758 */
686 int SPACECRAFT_KIND = 14; 759 int SPACECRAFT_KIND = 15;
687 760
688 /** 761 /**
689 * Returns the meta object for class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'. 762 * Returns the meta object for class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'.
@@ -760,10 +833,10 @@ public interface SatellitePackage extends EPackage {
760 EReference getCommunicatingElement_CommSubsystem(); 833 EReference getCommunicatingElement_CommSubsystem();
761 834
762 /** 835 /**
763 * Returns the meta object for the containment reference '{@link satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}'. 836 * Returns the meta object for the reference '{@link satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}'.
764 * <!-- begin-user-doc --> 837 * <!-- begin-user-doc -->
765 * <!-- end-user-doc --> 838 * <!-- end-user-doc -->
766 * @return the meta object for the containment reference '<em>Communication Link</em>'. 839 * @return the meta object for the reference '<em>Communication Link</em>'.
767 * @see satellite.CommunicatingElement#getCommunicationLink() 840 * @see satellite.CommunicatingElement#getCommunicationLink()
768 * @see #getCommunicatingElement() 841 * @see #getCommunicatingElement()
769 * @generated 842 * @generated
@@ -845,6 +918,17 @@ public interface SatellitePackage extends EPackage {
845 EAttribute getCommSubsystem_Gain(); 918 EAttribute getCommSubsystem_Gain();
846 919
847 /** 920 /**
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 /**
848 * Returns the meta object for class '{@link satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'. 932 * Returns the meta object for class '{@link satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'.
849 * <!-- begin-user-doc --> 933 * <!-- begin-user-doc -->
850 * <!-- end-user-doc --> 934 * <!-- end-user-doc -->
@@ -927,6 +1011,16 @@ public interface SatellitePackage extends EPackage {
927 EClass getSmallSat(); 1011 EClass getSmallSat();
928 1012
929 /** 1013 /**
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 /**
930 * Returns the meta object for enum '{@link satellite.TransceiverBand <em>Transceiver Band</em>}'. 1024 * Returns the meta object for enum '{@link satellite.TransceiverBand <em>Transceiver Band</em>}'.
931 * <!-- begin-user-doc --> 1025 * <!-- begin-user-doc -->
932 * <!-- end-user-doc --> 1026 * <!-- end-user-doc -->
@@ -1043,7 +1137,7 @@ public interface SatellitePackage extends EPackage {
1043 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem(); 1137 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem();
1044 1138
1045 /** 1139 /**
1046 * The meta object literal for the '<em><b>Communication Link</b></em>' containment reference feature. 1140 * The meta object literal for the '<em><b>Communication Link</b></em>' reference feature.
1047 * <!-- begin-user-doc --> 1141 * <!-- begin-user-doc -->
1048 * <!-- end-user-doc --> 1142 * <!-- end-user-doc -->
1049 * @generated 1143 * @generated
@@ -1113,6 +1207,14 @@ public interface SatellitePackage extends EPackage {
1113 EAttribute COMM_SUBSYSTEM__GAIN = eINSTANCE.getCommSubsystem_Gain(); 1207 EAttribute COMM_SUBSYSTEM__GAIN = eINSTANCE.getCommSubsystem_Gain();
1114 1208
1115 /** 1209 /**
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 /**
1116 * The meta object literal for the '{@link satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class. 1218 * The meta object literal for the '{@link satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class.
1117 * <!-- begin-user-doc --> 1219 * <!-- begin-user-doc -->
1118 * <!-- end-user-doc --> 1220 * <!-- end-user-doc -->
@@ -1189,6 +1291,16 @@ public interface SatellitePackage extends EPackage {
1189 EClass SMALL_SAT = eINSTANCE.getSmallSat(); 1291 EClass SMALL_SAT = eINSTANCE.getSmallSat();
1190 1292
1191 /** 1293 /**
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 /**
1192 * The meta object literal for the '{@link satellite.TransceiverBand <em>Transceiver Band</em>}' enum. 1304 * The meta object literal for the '{@link satellite.TransceiverBand <em>Transceiver Band</em>}' enum.
1193 * <!-- begin-user-doc --> 1305 * <!-- begin-user-doc -->
1194 * <!-- end-user-doc --> 1306 * <!-- 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 d8775572..6f72322e 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,7 +59,6 @@ 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'"
63 * @generated 62 * @generated
64 */ 63 */
65 SpacecraftKind getKind(); 64 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 cf8f1fe8..70ee268e 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,13 +4,16 @@ 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;
7import org.eclipse.emf.ecore.EClass; 8import org.eclipse.emf.ecore.EClass;
8 9
10import org.eclipse.emf.ecore.InternalEObject;
9import org.eclipse.emf.ecore.impl.ENotificationImpl; 11import org.eclipse.emf.ecore.impl.ENotificationImpl;
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11 13
12import satellite.AntennaGain; 14import satellite.AntennaGain;
13import satellite.CommSubsystem; 15import satellite.CommSubsystem;
16import satellite.DirectedCommunicationLink;
14import satellite.SatellitePackage; 17import satellite.SatellitePackage;
15import satellite.TransceiverBand; 18import satellite.TransceiverBand;
16 19
@@ -24,6 +27,7 @@ import satellite.TransceiverBand;
24 * <ul> 27 * <ul>
25 * <li>{@link satellite.impl.CommSubsystemImpl#getBand <em>Band</em>}</li> 28 * <li>{@link satellite.impl.CommSubsystemImpl#getBand <em>Band</em>}</li>
26 * <li>{@link satellite.impl.CommSubsystemImpl#getGain <em>Gain</em>}</li> 29 * <li>{@link satellite.impl.CommSubsystemImpl#getGain <em>Gain</em>}</li>
30 * <li>{@link satellite.impl.CommSubsystemImpl#getCommunicationLink <em>Communication Link</em>}</li>
27 * </ul> 31 * </ul>
28 * 32 *
29 * @generated 33 * @generated
@@ -70,6 +74,16 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
70 protected AntennaGain gain = GAIN_EDEFAULT; 74 protected AntennaGain gain = GAIN_EDEFAULT;
71 75
72 /** 76 /**
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 /**
73 * <!-- begin-user-doc --> 87 * <!-- begin-user-doc -->
74 * <!-- end-user-doc --> 88 * <!-- end-user-doc -->
75 * @generated 89 * @generated
@@ -142,12 +156,81 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
142 * @generated 156 * @generated
143 */ 157 */
144 @Override 158 @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
145 public Object eGet(int featureID, boolean resolve, boolean coreType) { 226 public Object eGet(int featureID, boolean resolve, boolean coreType) {
146 switch (featureID) { 227 switch (featureID) {
147 case SatellitePackage.COMM_SUBSYSTEM__BAND: 228 case SatellitePackage.COMM_SUBSYSTEM__BAND:
148 return getBand(); 229 return getBand();
149 case SatellitePackage.COMM_SUBSYSTEM__GAIN: 230 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
150 return getGain(); 231 return getGain();
232 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
233 return getCommunicationLink();
151 } 234 }
152 return super.eGet(featureID, resolve, coreType); 235 return super.eGet(featureID, resolve, coreType);
153 } 236 }
@@ -166,6 +249,9 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
166 case SatellitePackage.COMM_SUBSYSTEM__GAIN: 249 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
167 setGain((AntennaGain) newValue); 250 setGain((AntennaGain) newValue);
168 return; 251 return;
252 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
253 setCommunicationLink((DirectedCommunicationLink) newValue);
254 return;
169 } 255 }
170 super.eSet(featureID, newValue); 256 super.eSet(featureID, newValue);
171 } 257 }
@@ -184,6 +270,9 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
184 case SatellitePackage.COMM_SUBSYSTEM__GAIN: 270 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
185 setGain(GAIN_EDEFAULT); 271 setGain(GAIN_EDEFAULT);
186 return; 272 return;
273 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
274 setCommunicationLink((DirectedCommunicationLink) null);
275 return;
187 } 276 }
188 super.eUnset(featureID); 277 super.eUnset(featureID);
189 } 278 }
@@ -200,6 +289,8 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
200 return band != BAND_EDEFAULT; 289 return band != BAND_EDEFAULT;
201 case SatellitePackage.COMM_SUBSYSTEM__GAIN: 290 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
202 return gain != GAIN_EDEFAULT; 291 return gain != GAIN_EDEFAULT;
292 case SatellitePackage.COMM_SUBSYSTEM__COMMUNICATION_LINK:
293 return communicationLink != null;
203 } 294 }
204 return super.eIsSet(featureID); 295 return super.eIsSet(featureID);
205 } 296 }
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 1f79da3b..f472580b 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,16 +3,12 @@
3package satellite.impl; 3package satellite.impl;
4 4
5import java.util.Collection; 5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain; 6import org.eclipse.emf.common.notify.NotificationChain;
9 7
10import org.eclipse.emf.common.util.EList; 8import org.eclipse.emf.common.util.EList;
11 9
12import org.eclipse.emf.ecore.EClass; 10import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject; 11import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17 13
18import org.eclipse.emf.ecore.util.EObjectContainmentEList; 14import org.eclipse.emf.ecore.util.EObjectContainmentEList;
@@ -49,16 +45,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
49 protected EList<CommSubsystem> commSubsystem; 45 protected EList<CommSubsystem> commSubsystem;
50 46
51 /** 47 /**
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 /**
62 * <!-- begin-user-doc --> 48 * <!-- begin-user-doc -->
63 * <!-- end-user-doc --> 49 * <!-- end-user-doc -->
64 * @generated 50 * @generated
@@ -98,7 +84,10 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
98 */ 84 */
99 @Override 85 @Override
100 public DirectedCommunicationLink getCommunicationLink() { 86 public DirectedCommunicationLink getCommunicationLink() {
101 return communicationLink; 87 DirectedCommunicationLink communicationLink = basicGetCommunicationLink();
88 return communicationLink != null && communicationLink.eIsProxy()
89 ? (DirectedCommunicationLink) eResolveProxy((InternalEObject) communicationLink)
90 : communicationLink;
102 } 91 }
103 92
104 /** 93 /**
@@ -106,46 +95,11 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
106 * <!-- end-user-doc --> 95 * <!-- end-user-doc -->
107 * @generated 96 * @generated
108 */ 97 */
109 public NotificationChain basicSetCommunicationLink(DirectedCommunicationLink newCommunicationLink, 98 public DirectedCommunicationLink basicGetCommunicationLink() {
110 NotificationChain msgs) { 99 // TODO: implement this method to return the 'Communication Link' reference
111 DirectedCommunicationLink oldCommunicationLink = communicationLink; 100 // -> do not perform proxy resolution
112 communicationLink = newCommunicationLink; 101 // Ensure that you remove @generated or mark it @generated NOT
113 if (eNotificationRequired()) { 102 throw new UnsupportedOperationException();
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));
149 } 103 }
150 104
151 /** 105 /**
@@ -158,8 +112,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
158 switch (featureID) { 112 switch (featureID) {
159 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 113 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
160 return ((InternalEList<?>) getCommSubsystem()).basicRemove(otherEnd, msgs); 114 return ((InternalEList<?>) getCommSubsystem()).basicRemove(otherEnd, msgs);
161 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
162 return basicSetCommunicationLink(null, msgs);
163 } 115 }
164 return super.eInverseRemove(otherEnd, featureID, msgs); 116 return super.eInverseRemove(otherEnd, featureID, msgs);
165 } 117 }
@@ -175,7 +127,9 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
175 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 127 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
176 return getCommSubsystem(); 128 return getCommSubsystem();
177 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: 129 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
178 return getCommunicationLink(); 130 if (resolve)
131 return getCommunicationLink();
132 return basicGetCommunicationLink();
179 } 133 }
180 return super.eGet(featureID, resolve, coreType); 134 return super.eGet(featureID, resolve, coreType);
181 } 135 }
@@ -193,9 +147,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
193 getCommSubsystem().clear(); 147 getCommSubsystem().clear();
194 getCommSubsystem().addAll((Collection<? extends CommSubsystem>) newValue); 148 getCommSubsystem().addAll((Collection<? extends CommSubsystem>) newValue);
195 return; 149 return;
196 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
197 setCommunicationLink((DirectedCommunicationLink) newValue);
198 return;
199 } 150 }
200 super.eSet(featureID, newValue); 151 super.eSet(featureID, newValue);
201 } 152 }
@@ -211,9 +162,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
211 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 162 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
212 getCommSubsystem().clear(); 163 getCommSubsystem().clear();
213 return; 164 return;
214 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
215 setCommunicationLink((DirectedCommunicationLink) null);
216 return;
217 } 165 }
218 super.eUnset(featureID); 166 super.eUnset(featureID);
219 } 167 }
@@ -229,7 +177,7 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
229 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 177 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
230 return commSubsystem != null && !commSubsystem.isEmpty(); 178 return commSubsystem != null && !commSubsystem.isEmpty();
231 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: 179 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
232 return communicationLink != null; 180 return basicGetCommunicationLink() != null;
233 } 181 }
234 return super.eIsSet(featureID); 182 return super.eIsSet(featureID);
235 } 183 }
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 a7ba37a7..350a9bcc 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 SpacecraftImpl implements CubeSat3U { 17public class CubeSat3UImpl extends CubeSatImpl 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 d4f42e6c..3b9c5988 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 SpacecraftImpl implements CubeSat6U { 17public class CubeSat6UImpl extends CubeSatImpl 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
new file mode 100644
index 00000000..660bd062
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java
@@ -0,0 +1,37 @@
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 2347fe07..68e4ce30 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,6 +14,7 @@ import satellite.AntennaGain;
14import satellite.CommSubsystem; 14import satellite.CommSubsystem;
15import satellite.CommunicatingElement; 15import satellite.CommunicatingElement;
16import satellite.ConstellationMission; 16import satellite.ConstellationMission;
17import satellite.CubeSat;
17import satellite.CubeSat3U; 18import satellite.CubeSat3U;
18import satellite.CubeSat6U; 19import satellite.CubeSat6U;
19import satellite.DirectedCommunicationLink; 20import satellite.DirectedCommunicationLink;
@@ -124,6 +125,13 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
124 * <!-- end-user-doc --> 125 * <!-- end-user-doc -->
125 * @generated 126 * @generated
126 */ 127 */
128 private EClass cubeSatEClass = null;
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
127 private EEnum transceiverBandEEnum = null; 135 private EEnum transceiverBandEEnum = null;
128 136
129 /** 137 /**
@@ -360,6 +368,16 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
360 * @generated 368 * @generated
361 */ 369 */
362 @Override 370 @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
363 public EClass getDirectedCommunicationLink() { 381 public EClass getDirectedCommunicationLink() {
364 return directedCommunicationLinkEClass; 382 return directedCommunicationLinkEClass;
365 } 383 }
@@ -440,6 +458,16 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
440 * @generated 458 * @generated
441 */ 459 */
442 @Override 460 @Override
461 public EClass getCubeSat() {
462 return cubeSatEClass;
463 }
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 @Override
443 public EEnum getTransceiverBand() { 471 public EEnum getTransceiverBand() {
444 return transceiverBandEEnum; 472 return transceiverBandEEnum;
445 } 473 }
@@ -514,6 +542,7 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
514 commSubsystemEClass = createEClass(COMM_SUBSYSTEM); 542 commSubsystemEClass = createEClass(COMM_SUBSYSTEM);
515 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__BAND); 543 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__BAND);
516 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__GAIN); 544 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__GAIN);
545 createEReference(commSubsystemEClass, COMM_SUBSYSTEM__COMMUNICATION_LINK);
517 546
518 directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK); 547 directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK);
519 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE); 548 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE);
@@ -529,6 +558,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
529 558
530 smallSatEClass = createEClass(SMALL_SAT); 559 smallSatEClass = createEClass(SMALL_SAT);
531 560
561 cubeSatEClass = createEClass(CUBE_SAT);
562
532 // Create enums 563 // Create enums
533 transceiverBandEEnum = createEEnum(TRANSCEIVER_BAND); 564 transceiverBandEEnum = createEEnum(TRANSCEIVER_BAND);
534 antennaGainEEnum = createEEnum(ANTENNA_GAIN); 565 antennaGainEEnum = createEEnum(ANTENNA_GAIN);
@@ -568,9 +599,10 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
568 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement()); 599 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement());
569 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement()); 600 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement());
570 interferometryPayloadEClass.getESuperTypes().add(this.getPayload()); 601 interferometryPayloadEClass.getESuperTypes().add(this.getPayload());
571 cubeSat3UEClass.getESuperTypes().add(this.getSpacecraft()); 602 cubeSat3UEClass.getESuperTypes().add(this.getCubeSat());
572 cubeSat6UEClass.getESuperTypes().add(this.getSpacecraft()); 603 cubeSat6UEClass.getESuperTypes().add(this.getCubeSat());
573 smallSatEClass.getESuperTypes().add(this.getSpacecraft()); 604 smallSatEClass.getESuperTypes().add(this.getSpacecraft());
605 cubeSatEClass.getESuperTypes().add(this.getSpacecraft());
574 606
575 // Initialize classes, features, and operations; add parameters 607 // Initialize classes, features, and operations; add parameters
576 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT, 608 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT,
@@ -594,8 +626,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
594 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, 626 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
595 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 627 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
596 initEReference(getCommunicatingElement_CommunicationLink(), this.getDirectedCommunicationLink(), null, 628 initEReference(getCommunicatingElement_CommunicationLink(), this.getDirectedCommunicationLink(), null,
597 "communicationLink", null, 0, 1, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, 629 "communicationLink", null, 0, 1, CommunicatingElement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE,
598 IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 630 !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
599 631
600 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT, 632 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT,
601 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 633 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -614,6 +646,9 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
614 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 646 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
615 initEAttribute(getCommSubsystem_Gain(), this.getAntennaGain(), "gain", null, 1, 1, CommSubsystem.class, 647 initEAttribute(getCommSubsystem_Gain(), this.getAntennaGain(), "gain", null, 1, 1, CommSubsystem.class,
616 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 648 !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);
617 652
618 initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink", 653 initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink",
619 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 654 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -638,6 +673,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
638 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE, 673 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE,
639 IS_GENERATED_INSTANCE_CLASS); 674 IS_GENERATED_INSTANCE_CLASS);
640 675
676 initEClass(cubeSatEClass, CubeSat.class, "CubeSat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
677
641 // Initialize enums and add enum literals 678 // Initialize enums and add enum literals
642 initEEnum(transceiverBandEEnum, TransceiverBand.class, "TransceiverBand"); 679 initEEnum(transceiverBandEEnum, TransceiverBand.class, "TransceiverBand");
643 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.UHF); 680 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.UHF);
@@ -660,8 +697,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
660 // Create annotations 697 // Create annotations
661 // http://www.eclipse.org/emf/2002/Ecore 698 // http://www.eclipse.org/emf/2002/Ecore
662 createEcoreAnnotations(); 699 createEcoreAnnotations();
663 // org.eclipse.viatra.query.querybasedfeature
664 createOrgAnnotations();
665 } 700 }
666 701
667 /** 702 /**
@@ -675,16 +710,4 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
675 addAnnotation(this, source, new String[] { "settingDelegates", "org.eclipse.viatra.query.querybasedfeature" }); 710 addAnnotation(this, source, new String[] { "settingDelegates", "org.eclipse.viatra.query.querybasedfeature" });
676 } 711 }
677 712
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
690} //SatellitePackageImpl 713} //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 73609fbd..ef98fb07 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,7 +6,6 @@ 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;
10import org.eclipse.emf.ecore.InternalEObject; 9import org.eclipse.emf.ecore.InternalEObject;
11 10
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 11import org.eclipse.emf.ecore.impl.ENotificationImpl;
@@ -42,15 +41,14 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
42 protected Payload payload; 41 protected Payload payload;
43 42
44 /** 43 /**
45 * The cached setting delegate for the '{@link #getKind() <em>Kind</em>}' attribute. 44 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
46 * <!-- begin-user-doc --> 45 * <!-- begin-user-doc -->
47 * <!-- end-user-doc --> 46 * <!-- end-user-doc -->
48 * @see #getKind() 47 * @see #getKind()
49 * @generated 48 * @generated
50 * @ordered 49 * @ordered
51 */ 50 */
52 protected EStructuralFeature.Internal.SettingDelegate KIND__ESETTING_DELEGATE = ((EStructuralFeature.Internal) SatellitePackage.Literals.SPACECRAFT__KIND) 51 protected static final SpacecraftKind KIND_EDEFAULT = SpacecraftKind.CUBE_SAT3_U;
53 .getSettingDelegate();
54 52
55 /** 53 /**
56 * <!-- begin-user-doc --> 54 * <!-- begin-user-doc -->
@@ -130,7 +128,9 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
130 */ 128 */
131 @Override 129 @Override
132 public SpacecraftKind getKind() { 130 public SpacecraftKind getKind() {
133 return (SpacecraftKind) KIND__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false); 131 // TODO: implement this method to return the 'Kind' attribute
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 KIND__ESETTING_DELEGATE.dynamicIsSet(this, null, 0); 207 return getKind() != KIND_EDEFAULT;
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 1ecf7b19..f71d8da5 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,6 +127,11 @@ 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
130 public Adapter defaultCase(EObject object) { 135 public Adapter defaultCase(EObject object) {
131 return createEObjectAdapter(); 136 return createEObjectAdapter();
132 } 137 }
@@ -314,6 +319,20 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl {
314 } 319 }
315 320
316 /** 321 /**
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 /**
317 * Creates a new adapter for the default case. 336 * Creates a new adapter for the default case.
318 * <!-- begin-user-doc --> 337 * <!-- begin-user-doc -->
319 * This default implementation returns null. 338 * 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 3eb78d75..1e2fb04b 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,6 +141,8 @@ 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)
144 result = caseSpacecraft(cubeSat3U); 146 result = caseSpacecraft(cubeSat3U);
145 if (result == null) 147 if (result == null)
146 result = caseCommunicatingElement(cubeSat3U); 148 result = caseCommunicatingElement(cubeSat3U);
@@ -152,6 +154,8 @@ public class SatelliteSwitch<T> extends Switch<T> {
152 CubeSat6U cubeSat6U = (CubeSat6U) theEObject; 154 CubeSat6U cubeSat6U = (CubeSat6U) theEObject;
153 T result = caseCubeSat6U(cubeSat6U); 155 T result = caseCubeSat6U(cubeSat6U);
154 if (result == null) 156 if (result == null)
157 result = caseCubeSat(cubeSat6U);
158 if (result == null)
155 result = caseSpacecraft(cubeSat6U); 159 result = caseSpacecraft(cubeSat6U);
156 if (result == null) 160 if (result == null)
157 result = caseCommunicatingElement(cubeSat6U); 161 result = caseCommunicatingElement(cubeSat6U);
@@ -170,6 +174,17 @@ public class SatelliteSwitch<T> extends Switch<T> {
170 result = defaultCase(theEObject); 174 result = defaultCase(theEObject);
171 return result; 175 return result;
172 } 176 }
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 }
173 default: 188 default:
174 return defaultCase(theEObject); 189 return defaultCase(theEObject);
175 } 190 }
@@ -356,6 +371,21 @@ public class SatelliteSwitch<T> extends Switch<T> {
356 } 371 }
357 372
358 /** 373 /**
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 /**
359 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. 389 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
360 * <!-- begin-user-doc --> 390 * <!-- begin-user-doc -->
361 * This implementation returns null; 391 * 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 31575c3c..4ffc0ea3 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,6 +1307,16 @@
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>
1310 <ownedViews xmi:type="viewpoint:DView" uid="_reOHEF0qEemRYLyXht2IrQ"> 1320 <ownedViews xmi:type="viewpoint:DView" uid="_reOHEF0qEemRYLyXht2IrQ">
1311 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> 1321 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
1312 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_re1yIF0qEemRYLyXht2IrQ" name="satellite" repPath="#_rel6gF0qEemRYLyXht2IrQ"> 1322 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_re1yIF0qEemRYLyXht2IrQ" name="satellite" repPath="#_rel6gF0qEemRYLyXht2IrQ">
@@ -1359,6 +1369,24 @@
1359 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> 1369 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1360 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 1370 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1361 </computedStyleDescriptions> 1371 </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>
1362 </data> 1390 </data>
1363 </ownedAnnotationEntries> 1391 </ownedAnnotationEntries>
1364 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_rfAxQF0qEemRYLyXht2IrQ" source="GMF_DIAGRAMS"> 1392 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_rfAxQF0qEemRYLyXht2IrQ" source="GMF_DIAGRAMS">
@@ -1615,38 +1643,6 @@
1615 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29F0vEemRYLyXht2IrQ" id="(1.0,0.5306122448979592)"/> 1643 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29F0vEemRYLyXht2IrQ" id="(1.0,0.5306122448979592)"/>
1616 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29V0vEemRYLyXht2IrQ" id="(0.0,0.7959183673469388)"/> 1644 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29V0vEemRYLyXht2IrQ" id="(0.0,0.7959183673469388)"/>
1617 </edges> 1645 </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>
1650 <edges xmi:type="notation:Edge" xmi:id="_i2ZRcF0xEemRYLyXht2IrQ" type="4001" element="_i2PgeV0xEemRYLyXht2IrQ" source="_Ct-Y8F0wEemRYLyXht2IrQ" target="_j0vs4F0tEemRYLyXht2IrQ"> 1646 <edges xmi:type="notation:Edge" xmi:id="_i2ZRcF0xEemRYLyXht2IrQ" type="4001" element="_i2PgeV0xEemRYLyXht2IrQ" source="_Ct-Y8F0wEemRYLyXht2IrQ" target="_j0vs4F0tEemRYLyXht2IrQ">
1651 <children xmi:type="notation:Node" xmi:id="_i2ZRdF0xEemRYLyXht2IrQ" type="6001"> 1647 <children xmi:type="notation:Node" xmi:id="_i2ZRdF0xEemRYLyXht2IrQ" type="6001">
1652 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2ZRdV0xEemRYLyXht2IrQ" x="-5" y="46"/> 1648 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2ZRdV0xEemRYLyXht2IrQ" x="-5" y="46"/>
@@ -1659,7 +1655,7 @@
1659 </children> 1655 </children>
1660 <styles xmi:type="notation:ConnectorStyle" xmi:id="_i2ZRcV0xEemRYLyXht2IrQ" routing="Rectilinear"/> 1656 <styles xmi:type="notation:ConnectorStyle" xmi:id="_i2ZRcV0xEemRYLyXht2IrQ" routing="Rectilinear"/>
1661 <styles xmi:type="notation:FontStyle" xmi:id="_i2ZRcl0xEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 1657 <styles xmi:type="notation:FontStyle" xmi:id="_i2ZRcl0xEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1662 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_i2ZRc10xEemRYLyXht2IrQ" points="[0, 0, 0, 45]$[0, -45, 0, 0]"/> 1658 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_i2ZRc10xEemRYLyXht2IrQ" points="[29, 0, 29, 45]$[29, -45, 29, 0]"/>
1663 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRel0xEemRYLyXht2IrQ" id="(0.7193877551020408,0.0)"/> 1659 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRel0xEemRYLyXht2IrQ" id="(0.7193877551020408,0.0)"/>
1664 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRe10xEemRYLyXht2IrQ" id="(0.7193877551020408,1.0)"/> 1660 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRe10xEemRYLyXht2IrQ" id="(0.7193877551020408,1.0)"/>
1665 </edges> 1661 </edges>
@@ -1775,6 +1771,38 @@
1775 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgHBMEempc7JjePmuNw" id="(0.559322033898305,0.0)"/> 1771 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgHBMEempc7JjePmuNw" id="(0.559322033898305,0.0)"/>
1776 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgXBMEempc7JjePmuNw" id="(0.3305084745762712,0.0)"/> 1772 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgXBMEempc7JjePmuNw" id="(0.3305084745762712,0.0)"/>
1777 </edges> 1773 </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>
1778 </data> 1806 </data>
1779 </ownedAnnotationEntries> 1807 </ownedAnnotationEntries>
1780 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tM4oUF0qEemRYLyXht2IrQ" name="ConstellationMission" tooltipText="" outgoingEdges="_KzljXl0yEemRYLyXht2IrQ _PdH6PF0yEemRYLyXht2IrQ" incomingEdges="_0jIdIF0qEemRYLyXht2IrQ" width="12" height="10"> 1808 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tM4oUF0qEemRYLyXht2IrQ" name="ConstellationMission" tooltipText="" outgoingEdges="_KzljXl0yEemRYLyXht2IrQ _PdH6PF0yEemRYLyXht2IrQ" incomingEdges="_0jIdIF0qEemRYLyXht2IrQ" width="12" height="10">
@@ -1820,7 +1848,7 @@
1820 </ownedStyle> 1848 </ownedStyle>
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']"/> 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']"/>
1822 </ownedDiagramElements> 1850 </ownedDiagramElements>
1823 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_3T7UUF0rEemRYLyXht2IrQ" name="CommunicatingElement" tooltipText="" outgoingEdges="_4B9iMF0vEemRYLyXht2IrQ _ccF89l0wEemRYLyXht2IrQ" incomingEdges="_NpQ-pl0sEemRYLyXht2IrQ _PEp-k10sEemRYLyXht2IrQ" width="12" height="10"> 1851 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_3T7UUF0rEemRYLyXht2IrQ" name="CommunicatingElement" tooltipText="" outgoingEdges="_4B9iMF0vEemRYLyXht2IrQ _VpHdoHBSEemNI_R9YUxM4w" incomingEdges="_NpQ-pl0sEemRYLyXht2IrQ _PEp-k10sEemRYLyXht2IrQ" width="12" height="10">
1824 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/> 1852 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
1825 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/> 1853 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
1826 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1854 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1887,7 +1915,7 @@
1887 </ownedStyle> 1915 </ownedStyle>
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']"/> 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']"/>
1889 </ownedDiagramElements> 1917 </ownedDiagramElements>
1890 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_j0eAEF0tEemRYLyXht2IrQ" name="CommSubsystem" tooltipText="" incomingEdges="_4B9iMF0vEemRYLyXht2IrQ _dbuYhl0xEemRYLyXht2IrQ _i2PgeV0xEemRYLyXht2IrQ" width="12" height="10"> 1918 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_j0eAEF0tEemRYLyXht2IrQ" name="CommSubsystem" tooltipText="" outgoingEdges="_6y-9UHCAEemkIbiETO8SXA" incomingEdges="_4B9iMF0vEemRYLyXht2IrQ _i2PgeV0xEemRYLyXht2IrQ" width="12" height="10">
1891 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/> 1919 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
1892 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/> 1920 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
1893 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1921 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1960,7 +1988,7 @@
1960 </ownedStyle> 1988 </ownedStyle>
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']"/> 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']"/>
1962 </ownedDiagramElements> 1990 </ownedDiagramElements>
1963 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Ctw9kF0wEemRYLyXht2IrQ" name="DirectedCommunicationLink" tooltipText="" outgoingEdges="_dbuYhl0xEemRYLyXht2IrQ _i2PgeV0xEemRYLyXht2IrQ" incomingEdges="_ccF89l0wEemRYLyXht2IrQ" width="12" height="10"> 1991 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Ctw9kF0wEemRYLyXht2IrQ" name="DirectedCommunicationLink" tooltipText="" outgoingEdges="_i2PgeV0xEemRYLyXht2IrQ" incomingEdges="_VpHdoHBSEemNI_R9YUxM4w _6y-9UHCAEemkIbiETO8SXA" width="12" height="10">
1964 <target xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/> 1992 <target xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/>
1965 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/> 1993 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/>
1966 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1994 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -2006,30 +2034,6 @@
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']"/> 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']"/>
2007 </ownedElements> 2035 </ownedElements>
2008 </ownedDiagramElements> 2036 </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>
2033 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_i2PgeV0xEemRYLyXht2IrQ" name="[1..1] target" sourceNode="_Ctw9kF0wEemRYLyXht2IrQ" targetNode="_j0eAEF0tEemRYLyXht2IrQ"> 2037 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_i2PgeV0xEemRYLyXht2IrQ" name="[1..1] target" sourceNode="_Ctw9kF0wEemRYLyXht2IrQ" targetNode="_j0eAEF0tEemRYLyXht2IrQ">
2034 <target xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/> 2038 <target xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/>
2035 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/> 2039 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/>
@@ -2215,6 +2219,25 @@
2215 </ownedStyle> 2219 </ownedStyle>
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']"/> 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']"/>
2217 </ownedDiagramElements> 2221 </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>
2218 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 2241 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
2219 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_reoWwF0qEemRYLyXht2IrQ"/> 2242 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_reoWwF0qEemRYLyXht2IrQ"/>
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"/> 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"/>
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 ae9197da..002c8fd8 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,7 +18,11 @@
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 containment="true"/> 21 changeable="false" volatile="true" transient="true" derived="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>
22 </eClassifiers> 26 </eClassifiers>
23 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/> 27 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/>
24 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement"> 28 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement">
@@ -34,6 +38,8 @@
34 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem"> 38 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem">
35 <eStructuralFeatures xsi:type="ecore:EAttribute" name="band" lowerBound="1" eType="#//TransceiverBand"/> 39 <eStructuralFeatures xsi:type="ecore:EAttribute" name="band" lowerBound="1" eType="#//TransceiverBand"/>
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="gain" lowerBound="1" eType="#//AntennaGain"/> 40 <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"/>
37 </eClassifiers> 43 </eClassifiers>
38 <eClassifiers xsi:type="ecore:EEnum" name="TransceiverBand"> 44 <eClassifiers xsi:type="ecore:EEnum" name="TransceiverBand">
39 <eLiterals name="UHF"/> 45 <eLiterals name="UHF"/>
@@ -42,7 +48,7 @@
42 </eClassifiers> 48 </eClassifiers>
43 <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink"> 49 <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink">
44 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" 50 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
45 eType="#//CommSubsystem"/> 51 eType="#//CommSubsystem" eOpposite="#//CommSubsystem/communicationLink"/>
46 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" 52 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
47 eType="#//CommSubsystem"/> 53 eType="#//CommSubsystem"/>
48 </eClassifiers> 54 </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 f8b6d75b..b570f05e 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 property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/communicationLink"/> 38 <genFeatures notify="false" createChild="false" propertySortChoices="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,6 +45,7 @@
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"/>
48 </genClasses> 49 </genClasses>
49 <genClasses ecoreClass="satellite.ecore#//DirectedCommunicationLink"> 50 <genClasses ecoreClass="satellite.ecore#//DirectedCommunicationLink">
50 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/source"/> 51 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/source"/>
@@ -55,5 +56,6 @@
55 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/> 56 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/>
56 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/> 57 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/>
57 <genClasses ecoreClass="satellite.ecore#//SmallSat"/> 58 <genClasses ecoreClass="satellite.ecore#//SmallSat"/>
59 <genClasses image="false" ecoreClass="satellite.ecore#//CubeSat"/>
58 </genPackages> 60 </genPackages>
59</genmodel:GenModel> 61</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 853b7b54..d28c0d4d 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 mustInstanceOfPayload_class(problem,interpretation,element); 113 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(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);
116 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 117 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 mustInstanceOfPayload_class(problem,interpretation,element); 124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
126 neg find mustInstanceOfCommSubsystem_class(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);
127 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 128 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 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); 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);
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 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); 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);
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 mustInstanceOfPayload_class(problem,interpretation,element);
200 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 199 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
201 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
202 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 200 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
201 neg find mustInstanceOfPayload_class(problem,interpretation,element);
202 neg find mustInstanceOfConstellationMission_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 mustInstanceOfPayload_class(problem,interpretation,element);
211 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 210 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
212 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
213 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 211 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
212 neg find mustInstanceOfPayload_class(problem,interpretation,element);
213 neg find mustInstanceOfConstellationMission_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);
243 neg find mustInstanceOfPayload_class(problem,interpretation,element); 244 neg find mustInstanceOfPayload_class(problem,interpretation,element);
244 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 245 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);
253 neg find mustInstanceOfPayload_class(problem,interpretation,element); 254 neg find mustInstanceOfPayload_class(problem,interpretation,element);
254 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 255 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);
285 neg find mustInstanceOfPayload_class(problem,interpretation,element); 288 neg find mustInstanceOfPayload_class(problem,interpretation,element);
286 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 289 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
287 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
288 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 290 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);
297 neg find mustInstanceOfPayload_class(problem,interpretation,element); 300 neg find mustInstanceOfPayload_class(problem,interpretation,element);
298 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 301 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
299 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
300 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 302 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 mustInstanceOfPayload_class(problem,interpretation,element);
332 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 331 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
332 neg find mustInstanceOfPayload_class(problem,interpretation,element);
334 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 333 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
334 neg find mustInstanceOfConstellationMission_class(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 mustInstanceOfPayload_class(problem,interpretation,element);
342 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
343 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 341 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
342 neg find mustInstanceOfPayload_class(problem,interpretation,element);
344 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 343 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
344 neg find mustInstanceOfConstellationMission_class(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 mustInstanceOfPayload_class(problem,interpretation,element);
373 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
374 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 372 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 373 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
374 neg find mustInstanceOfPayload_class(problem,interpretation,element);
375 neg find mustInstanceOfConstellationMission_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 mustInstanceOfPayload_class(problem,interpretation,element);
382 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
383 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 381 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
384 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 382 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
383 neg find mustInstanceOfPayload_class(problem,interpretation,element);
384 neg find mustInstanceOfConstellationMission_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 mustInstanceOfConstellationMission_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 413 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
416 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 414 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
415 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
416 neg find mustInstanceOfInterferometryPayload_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 mustInstanceOfConstellationMission_class(problem,interpretation,element);
424 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 423 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
425 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
426 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 424 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
425 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
426 neg find mustInstanceOfInterferometryPayload_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 mustInstanceOfConstellationMission_class(problem,interpretation,element);
456 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_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);
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 mustInstanceOfConstellationMission_class(problem,interpretation,element);
465 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
466 neg find mustInstanceOfCommSubsystem_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);
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);
494 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 495 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);
498 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 497 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
499 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 498 neg find mustInstanceOfPayload_class(problem,interpretation,element);
500 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 499 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);
506 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 507 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);
510 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 509 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
511 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 510 neg find mustInstanceOfPayload_class(problem,interpretation,element);
512 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 511 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 mustInstanceOfPayload_class(problem,interpretation,element); 541 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
542 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 542 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 543 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 mustInstanceOfSmallSat_class(problem,interpretation,element); 546 neg find mustInstanceOfConstellationMission_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 mustInstanceOfPayload_class(problem,interpretation,element); 553 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
554 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
555 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 554 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
556 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 555 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 mustInstanceOfSmallSat_class(problem,interpretation,element); 558 neg find mustInstanceOfConstellationMission_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);
587 neg find mustInstanceOfPayload_class(problem,interpretation,element); 589 neg find mustInstanceOfPayload_class(problem,interpretation,element);
588 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 590 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
589 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
590 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 591 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);
598 neg find mustInstanceOfPayload_class(problem,interpretation,element); 600 neg find mustInstanceOfPayload_class(problem,interpretation,element);
599 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 601 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
600 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
601 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 602 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 mustInstanceOfPayload_class(problem,interpretation,element); 631 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
632 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
633 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 632 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
634 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 633 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);
637 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 636 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 mustInstanceOfPayload_class(problem,interpretation,element); 644 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
645 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
646 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 645 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
647 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 646 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);
650 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 649 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);
764 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 763 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 764 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);
774 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 773 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
775 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 774 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);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 826 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 827 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);
836 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
837 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 836 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 mustInstanceOfPayload_class(problem,interpretation,element);
888 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
889 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
890 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 888 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find mustInstanceOfConstellationMission_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 mustInstanceOfPayload_class(problem,interpretation,element);
899 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
900 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 898 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
901 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 899 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
900 neg find mustInstanceOfPayload_class(problem,interpretation,element);
901 neg find mustInstanceOfConstellationMission_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);
952 neg find mustInstanceOfPayload_class(problem,interpretation,element); 953 neg find mustInstanceOfPayload_class(problem,interpretation,element);
953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 954 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);
962 neg find mustInstanceOfPayload_class(problem,interpretation,element); 963 neg find mustInstanceOfPayload_class(problem,interpretation,element);
963 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 964 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);
1015 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1016 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1016 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1017 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);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1025 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1026 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,21 +1155,39 @@ 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 */
1158private pattern mustInRelationcommunicationLink_reference_CommunicatingElement( 1158 private 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(
1159 problem:LogicProblem, interpretation:PartialInterpretation, 1177 problem:LogicProblem, interpretation:PartialInterpretation,
1160 source: DefinedElement, target:DefinedElement) 1178 source: DefinedElement, target:DefinedElement)
1161{ 1179{
1162 find interpretation(problem,interpretation); 1180 find interpretation(problem,interpretation);
1163 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 1181 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1164 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"communicationLink reference CommunicatingElement"); 1182 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1165 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 1183 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1166 BinaryElementRelationLink.param1(link,source); 1184 BinaryElementRelationLink.param1(link,source);
1167 BinaryElementRelationLink.param2(link,target); 1185 BinaryElementRelationLink.param2(link,target);
1168} 1186}
1169/** 1187/**
1170 * Matcher for detecting tuples t where <>communicationLink reference CommunicatingElement(source,target) 1188 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1171 */ 1189 */
1172private pattern mayInRelationcommunicationLink_reference_CommunicatingElement( 1190private pattern mayInRelationpayload_reference_Spacecraft(
1173 problem:LogicProblem, interpretation:PartialInterpretation, 1191 problem:LogicProblem, interpretation:PartialInterpretation,
1174 source: DefinedElement, target:DefinedElement) 1192 source: DefinedElement, target:DefinedElement)
1175{ 1193{
@@ -1178,11 +1196,11 @@ private pattern mayInRelationcommunicationLink_reference_CommunicatingElement(
1178 find mayExist(problem, interpretation, source); 1196 find mayExist(problem, interpretation, source);
1179 find mayExist(problem, interpretation, target); 1197 find mayExist(problem, interpretation, target);
1180 // Type consistency 1198 // Type consistency
1181 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source); 1199 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1182 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,target); 1200 find mayInstanceOfPayload_class(problem,interpretation,target);
1183 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 1201 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1184 // the upper bound of the multiplicity should be considered. 1202 // the upper bound of the multiplicity should be considered.
1185 numberOfExistingReferences == count find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,_); 1203 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1186 check(numberOfExistingReferences < 1); 1204 check(numberOfExistingReferences < 1);
1187 // The reference is containment, then a new reference cannot be create if: 1205 // The reference is containment, then a new reference cannot be create if:
1188 // 1. Multiple parents 1206 // 1. Multiple parents
@@ -1190,26 +1208,26 @@ private pattern mayInRelationcommunicationLink_reference_CommunicatingElement(
1190 // 2. Circle in the containment hierarchy 1208 // 2. Circle in the containment hierarchy
1191 neg find mustTransitiveContains(source,target); 1209 neg find mustTransitiveContains(source,target);
1192} or { 1210} or {
1193 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,target); 1211 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1194} 1212}
1195/** 1213/**
1196 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target) 1214 * Matcher for detecting tuples t where []communicationLink reference CommSubsystem(source,target)
1197 */ 1215 */
1198private pattern mustInRelationpayload_reference_Spacecraft( 1216private pattern mustInRelationcommunicationLink_reference_CommSubsystem(
1199 problem:LogicProblem, interpretation:PartialInterpretation, 1217 problem:LogicProblem, interpretation:PartialInterpretation,
1200 source: DefinedElement, target:DefinedElement) 1218 source: DefinedElement, target:DefinedElement)
1201{ 1219{
1202 find interpretation(problem,interpretation); 1220 find interpretation(problem,interpretation);
1203 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 1221 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1204 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft"); 1222 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"communicationLink reference CommSubsystem");
1205 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 1223 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1206 BinaryElementRelationLink.param1(link,source); 1224 BinaryElementRelationLink.param1(link,source);
1207 BinaryElementRelationLink.param2(link,target); 1225 BinaryElementRelationLink.param2(link,target);
1208} 1226}
1209/** 1227/**
1210 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target) 1228 * Matcher for detecting tuples t where <>communicationLink reference CommSubsystem(source,target)
1211 */ 1229 */
1212private pattern mayInRelationpayload_reference_Spacecraft( 1230private pattern mayInRelationcommunicationLink_reference_CommSubsystem(
1213 problem:LogicProblem, interpretation:PartialInterpretation, 1231 problem:LogicProblem, interpretation:PartialInterpretation,
1214 source: DefinedElement, target:DefinedElement) 1232 source: DefinedElement, target:DefinedElement)
1215{ 1233{
@@ -1218,11 +1236,11 @@ private pattern mayInRelationpayload_reference_Spacecraft(
1218 find mayExist(problem, interpretation, source); 1236 find mayExist(problem, interpretation, source);
1219 find mayExist(problem, interpretation, target); 1237 find mayExist(problem, interpretation, target);
1220 // Type consistency 1238 // Type consistency
1221 find mayInstanceOfSpacecraft_class(problem,interpretation,source); 1239 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1222 find mayInstanceOfPayload_class(problem,interpretation,target); 1240 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,target);
1223 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 1241 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1224 // the upper bound of the multiplicity should be considered. 1242 // the upper bound of the multiplicity should be considered.
1225 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_); 1243 numberOfExistingReferences == count find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,source,_);
1226 check(numberOfExistingReferences < 1); 1244 check(numberOfExistingReferences < 1);
1227 // The reference is containment, then a new reference cannot be create if: 1245 // The reference is containment, then a new reference cannot be create if:
1228 // 1. Multiple parents 1246 // 1. Multiple parents
@@ -1230,7 +1248,7 @@ private pattern mayInRelationpayload_reference_Spacecraft(
1230 // 2. Circle in the containment hierarchy 1248 // 2. Circle in the containment hierarchy
1231 neg find mustTransitiveContains(source,target); 1249 neg find mustTransitiveContains(source,target);
1232} or { 1250} or {
1233 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); 1251 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,source,target);
1234} 1252}
1235/** 1253/**
1236 * Matcher for detecting tuples t where []source reference DirectedCommunicationLink(source,target) 1254 * Matcher for detecting tuples t where []source reference DirectedCommunicationLink(source,target)
@@ -1394,69 +1412,118 @@ private pattern mayInRelationgain_attribute_CommSubsystem(
1394////////// 1412//////////
1395// 1.3 Relation Definition Indexers 1413// 1.3 Relation Definition Indexers
1396////////// 1414//////////
1397// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement 1415// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries multipleCommunicationLinks
1398private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1416private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(
1399 problem:LogicProblem, interpretation:PartialInterpretation, 1417 problem:LogicProblem, interpretation:PartialInterpretation,
1400 var_Link) 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,
1460 var_Element)
1401{ 1461{
1402 find interpretation(problem,interpretation); 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{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1403 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1486 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1487 // Element is exported
1404 // Link is exported 1488 // Link is exported
1405 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1489 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1406 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1490 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1407 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1491 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1408 find mustEquivalent(problem, interpretation, var_virtual0, var_Link); 1492 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1);
1409 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1493 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1);
1410 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1494 find mustEquivalent(problem, interpretation, var_virtual1, var_Link);
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);
1418} 1495}
1419private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1496private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkOfElement(
1420 problem:LogicProblem, interpretation:PartialInterpretation, 1497 problem:LogicProblem, interpretation:PartialInterpretation,
1421 var_Link) 1498 var_Element, var_Link)
1422{ 1499{
1423 find interpretation(problem,interpretation); 1500 find interpretation(problem,interpretation);
1501 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1424 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1502 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1503 // Element is exported
1425 // Link is exported 1504 // Link is exported
1426 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1505 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1427 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1506 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1428 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1507 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1429 find mayEquivalent(problem, interpretation, var_virtual0, var_Link); 1508 find mayInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1);
1430 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1509 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1);
1431 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1510 find mayEquivalent(problem, interpretation, var_virtual1, var_Link);
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);
1439} 1511}
1440private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1512private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkOfElement(
1441 problem:LogicProblem, interpretation:PartialInterpretation, 1513 problem:LogicProblem, interpretation:PartialInterpretation,
1442 var_Link) 1514 var_Element, var_Link)
1443{ 1515{
1444 find interpretation(problem,interpretation); 1516 find interpretation(problem,interpretation);
1517 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1445 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1518 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1519 // Element is exported
1446 // Link is exported 1520 // Link is exported
1447 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1521 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1448 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1522 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1449 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1523 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1450 find mustEquivalent(problem, interpretation, var_virtual0, var_Link); 1524 find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1);
1451 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1525 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual1);
1452 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1526 find mustEquivalent(problem, interpretation, var_virtual1, var_Link);
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);
1460} 1527}
1461// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads 1528// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1462private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( 1529private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
@@ -2875,9 +2942,9 @@ private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterp
2875 2942
2876 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or 2943 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2877 2944
2878 { find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,target); }or 2945 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }or
2879 2946
2880 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); } 2947 { find mustInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,source,target); }
2881 2948
2882private pattern mustTransitiveContains(source,target) { 2949private pattern mustTransitiveContains(source,target) {
2883 find mustContains2+(source,target); 2950 find mustContains2+(source,target);
@@ -2888,10 +2955,10 @@ private pattern mustTransitiveContains(source,target) {
2888////////// 2955//////////
2889// 2.1 Invalidated by WF Queries 2956// 2.1 Invalidated by WF Queries
2890////////// 2957//////////
2891pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, 2958pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(problem:LogicProblem, interpretation:PartialInterpretation,
2892 var_Link) 2959 var_Element)
2893{ 2960{
2894 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Link); 2961 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(problem,interpretation,var_Element);
2895} 2962}
2896pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, 2963pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2897 var_Mission) 2964 var_Mission)
@@ -3021,10 +3088,10 @@ pattern unfinishedLowerMultiplicity_gain_attribute_CommSubsystem(problem:LogicPr
3021////////// 3088//////////
3022// 3.2 Unfinishedness Measured by WF Queries 3089// 3.2 Unfinishedness Measured by WF Queries
3023////////// 3090//////////
3024pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, 3091pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(problem:LogicProblem, interpretation:PartialInterpretation,
3025 var_Link) 3092 var_Element)
3026{ 3093{
3027 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Link); 3094 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_multipleCommunicationLinks(problem,interpretation,var_Element);
3028} 3095}
3029pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, 3096pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
3030 var_Mission) 3097 var_Mission)
@@ -3090,55 +3157,55 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie
3090private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 3157private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
3091{ 3158{
3092 find interpretation(problem,interpretation); 3159 find interpretation(problem,interpretation);
3093 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); 3160 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
3094 find mustExist(problem, interpretation, root); 3161 find mustExist(problem, interpretation, root);
3095}or{ 3162}or{
3096 find interpretation(problem,interpretation); 3163 find interpretation(problem,interpretation);
3097 find mustInstanceOfSpacecraft_class(problem,interpretation,root); 3164 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
3098 find mustExist(problem, interpretation, root); 3165 find mustExist(problem, interpretation, root);
3099}or{ 3166}or{
3100 find interpretation(problem,interpretation); 3167 find interpretation(problem,interpretation);
3101 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,root); 3168 find mustInstanceOfSmallSat_class(problem,interpretation,root);
3102 find mustExist(problem, interpretation, root); 3169 find mustExist(problem, interpretation, root);
3103}or{ 3170}or{
3104 find interpretation(problem,interpretation); 3171 find interpretation(problem,interpretation);
3105 find mustInstanceOfCubeSat_class(problem,interpretation,root); 3172 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
3106 find mustExist(problem, interpretation, root); 3173 find mustExist(problem, interpretation, root);
3107}or{ 3174}or{
3108 find interpretation(problem,interpretation); 3175 find interpretation(problem,interpretation);
3109 find mustInstanceOfConstellationMission_class(problem,interpretation,root); 3176 find mustInstanceOfPayload_class(problem,interpretation,root);
3110 find mustExist(problem, interpretation, root); 3177 find mustExist(problem, interpretation, root);
3111}or{ 3178}or{
3112 find interpretation(problem,interpretation); 3179 find interpretation(problem,interpretation);
3113 find mustInstanceOfInterferometryMission_class(problem,interpretation,root); 3180 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
3114 find mustExist(problem, interpretation, root); 3181 find mustExist(problem, interpretation, root);
3115}or{ 3182}or{
3116 find interpretation(problem,interpretation); 3183 find interpretation(problem,interpretation);
3117 find mustInstanceOfCubeSat3U_class(problem,interpretation,root); 3184 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,root);
3118 find mustExist(problem, interpretation, root); 3185 find mustExist(problem, interpretation, root);
3119}or{ 3186}or{
3120 find interpretation(problem,interpretation); 3187 find interpretation(problem,interpretation);
3121 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); 3188 find mustInstanceOfCubeSat_class(problem,interpretation,root);
3122 find mustExist(problem, interpretation, root); 3189 find mustExist(problem, interpretation, root);
3123}or{ 3190}or{
3124 find interpretation(problem,interpretation); 3191 find interpretation(problem,interpretation);
3125 find mustInstanceOfCubeSat6U_class(problem,interpretation,root); 3192 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
3126 find mustExist(problem, interpretation, root); 3193 find mustExist(problem, interpretation, root);
3127}or{ 3194}or{
3128 find interpretation(problem,interpretation); 3195 find interpretation(problem,interpretation);
3129 find mustInstanceOfSmallSat_class(problem,interpretation,root); 3196 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
3130 find mustExist(problem, interpretation, root); 3197 find mustExist(problem, interpretation, root);
3131}or{ 3198}or{
3132 find interpretation(problem,interpretation); 3199 find interpretation(problem,interpretation);
3133 find mustInstanceOfCommSubsystem_class(problem,interpretation,root); 3200 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
3134 find mustExist(problem, interpretation, root); 3201 find mustExist(problem, interpretation, root);
3135}or{ 3202}or{
3136 find interpretation(problem,interpretation); 3203 find interpretation(problem,interpretation);
3137 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); 3204 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
3138 find mustExist(problem, interpretation, root); 3205 find mustExist(problem, interpretation, root);
3139}or{ 3206}or{
3140 find interpretation(problem,interpretation); 3207 find interpretation(problem,interpretation);
3141 find mustInstanceOfPayload_class(problem,interpretation,root); 3208 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
3142 find mustExist(problem, interpretation, root); 3209 find mustExist(problem, interpretation, root);
3143}or{ 3210}or{
3144 find interpretation(problem,interpretation); 3211 find interpretation(problem,interpretation);
@@ -3181,99 +3248,87 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
3181 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); 3248 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
3182 find mustExist(problem, interpretation, root); 3249 find mustExist(problem, interpretation, root);
3183} 3250}
3184pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommunicatingElement( 3251pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
3185 problem:LogicProblem, interpretation:PartialInterpretation, 3252 problem:LogicProblem, interpretation:PartialInterpretation,
3186 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3253 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3187 container:DefinedElement) 3254 container:DefinedElement)
3188{ 3255{
3189 find interpretation(problem,interpretation); 3256 find interpretation(problem,interpretation);
3190 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3257 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3191 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 3258 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
3192 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3259 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3193 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommunicatingElement"); 3260 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
3194 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); 3261 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3195 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 3262 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
3196 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,container,newObject); 3263 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
3197 find mustExist(problem, interpretation, container); 3264 find mustExist(problem, interpretation, container);
3198 neg find mustExist(problem, interpretation, newObject); 3265 neg find mustExist(problem, interpretation, newObject);
3199} 3266}
3200pattern createObject_DirectedCommunicationLink_class( 3267pattern createObject_GroundStationNetwork_class_UndefinedPart(
3201 problem:LogicProblem, interpretation:PartialInterpretation,
3202 typeInterpretation:PartialComplexTypeInterpretation)
3203{
3204 find interpretation(problem,interpretation);
3205 neg find hasElementInContainment(problem,interpretation);
3206 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3207 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class");
3208 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject);
3209 find mayExist(problem, interpretation, newObject);
3210 neg find mustExist(problem, interpretation, newObject);
3211}
3212pattern createObject_InterferometryMission_class_UndefinedPart(
3213 problem:LogicProblem, interpretation:PartialInterpretation, 3268 problem:LogicProblem, interpretation:PartialInterpretation,
3214 typeInterpretation:PartialComplexTypeInterpretation) 3269 typeInterpretation:PartialComplexTypeInterpretation)
3215{ 3270{
3216 find interpretation(problem,interpretation); 3271 find interpretation(problem,interpretation);
3217 neg find hasElementInContainment(problem,interpretation); 3272 neg find hasElementInContainment(problem,interpretation);
3218 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3273 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3219 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); 3274 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
3220 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); 3275 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
3221 find mayExist(problem, interpretation, newObject); 3276 find mayExist(problem, interpretation, newObject);
3222 neg find mustExist(problem, interpretation, newObject); 3277 neg find mustExist(problem, interpretation, newObject);
3223} 3278}
3224pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft( 3279pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
3225 problem:LogicProblem, interpretation:PartialInterpretation, 3280 problem:LogicProblem, interpretation:PartialInterpretation,
3226 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3281 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3227 container:DefinedElement) 3282 container:DefinedElement)
3228{ 3283{
3229 find interpretation(problem,interpretation); 3284 find interpretation(problem,interpretation);
3230 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3285 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3231 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); 3286 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
3232 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3287 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3233 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); 3288 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
3234 find mustInstanceOfSpacecraft_class(problem,interpretation,container); 3289 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3235 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); 3290 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
3236 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); 3291 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3237 find mustExist(problem, interpretation, container); 3292 find mustExist(problem, interpretation, container);
3238 neg find mustExist(problem, interpretation, newObject); 3293 neg find mustExist(problem, interpretation, newObject);
3239} 3294}
3240pattern createObject_InterferometryPayload_class( 3295pattern createObject_SmallSat_class(
3241 problem:LogicProblem, interpretation:PartialInterpretation, 3296 problem:LogicProblem, interpretation:PartialInterpretation,
3242 typeInterpretation:PartialComplexTypeInterpretation) 3297 typeInterpretation:PartialComplexTypeInterpretation)
3243{ 3298{
3244 find interpretation(problem,interpretation); 3299 find interpretation(problem,interpretation);
3245 neg find hasElementInContainment(problem,interpretation); 3300 neg find hasElementInContainment(problem,interpretation);
3246 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3301 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3247 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); 3302 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
3248 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); 3303 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
3249 find mayExist(problem, interpretation, newObject); 3304 find mayExist(problem, interpretation, newObject);
3250 neg find mustExist(problem, interpretation, newObject); 3305 neg find mustExist(problem, interpretation, newObject);
3251} 3306}
3252pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( 3307pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommSubsystem(
3253 problem:LogicProblem, interpretation:PartialInterpretation, 3308 problem:LogicProblem, interpretation:PartialInterpretation,
3254 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3309 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3255 container:DefinedElement) 3310 container:DefinedElement)
3256{ 3311{
3257 find interpretation(problem,interpretation); 3312 find interpretation(problem,interpretation);
3258 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3313 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3259 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 3314 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class");
3260 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3315 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3261 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); 3316 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommSubsystem");
3262 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 3317 find mustInstanceOfCommSubsystem_class(problem,interpretation,container);
3263 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 3318 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject);
3264 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); 3319 find mayInRelationcommunicationLink_reference_CommSubsystem(problem,interpretation,container,newObject);
3265 find mustExist(problem, interpretation, container); 3320 find mustExist(problem, interpretation, container);
3266 neg find mustExist(problem, interpretation, newObject); 3321 neg find mustExist(problem, interpretation, newObject);
3267} 3322}
3268pattern createObject_GroundStationNetwork_class_UndefinedPart( 3323pattern createObject_DirectedCommunicationLink_class(
3269 problem:LogicProblem, interpretation:PartialInterpretation, 3324 problem:LogicProblem, interpretation:PartialInterpretation,
3270 typeInterpretation:PartialComplexTypeInterpretation) 3325 typeInterpretation:PartialComplexTypeInterpretation)
3271{ 3326{
3272 find interpretation(problem,interpretation); 3327 find interpretation(problem,interpretation);
3273 neg find hasElementInContainment(problem,interpretation); 3328 neg find hasElementInContainment(problem,interpretation);
3274 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3329 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3275 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 3330 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class");
3276 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 3331 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject);
3277 find mayExist(problem, interpretation, newObject); 3332 find mayExist(problem, interpretation, newObject);
3278 neg find mustExist(problem, interpretation, newObject); 3333 neg find mustExist(problem, interpretation, newObject);
3279} 3334}
@@ -3305,31 +3360,31 @@ pattern createObject_CubeSat3U_class(
3305 find mayExist(problem, interpretation, newObject); 3360 find mayExist(problem, interpretation, newObject);
3306 neg find mustExist(problem, interpretation, newObject); 3361 neg find mustExist(problem, interpretation, newObject);
3307} 3362}
3308pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( 3363pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
3309 problem:LogicProblem, interpretation:PartialInterpretation, 3364 problem:LogicProblem, interpretation:PartialInterpretation,
3310 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3365 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3311 container:DefinedElement) 3366 container:DefinedElement)
3312{ 3367{
3313 find interpretation(problem,interpretation); 3368 find interpretation(problem,interpretation);
3314 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3369 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3315 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 3370 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
3316 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3371 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3317 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 3372 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
3318 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 3373 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3319 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 3374 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
3320 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 3375 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3321 find mustExist(problem, interpretation, container); 3376 find mustExist(problem, interpretation, container);
3322 neg find mustExist(problem, interpretation, newObject); 3377 neg find mustExist(problem, interpretation, newObject);
3323} 3378}
3324pattern createObject_SmallSat_class( 3379pattern createObject_CubeSat6U_class(
3325 problem:LogicProblem, interpretation:PartialInterpretation, 3380 problem:LogicProblem, interpretation:PartialInterpretation,
3326 typeInterpretation:PartialComplexTypeInterpretation) 3381 typeInterpretation:PartialComplexTypeInterpretation)
3327{ 3382{
3328 find interpretation(problem,interpretation); 3383 find interpretation(problem,interpretation);
3329 neg find hasElementInContainment(problem,interpretation); 3384 neg find hasElementInContainment(problem,interpretation);
3330 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3385 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3331 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 3386 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
3332 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 3387 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
3333 find mayExist(problem, interpretation, newObject); 3388 find mayExist(problem, interpretation, newObject);
3334 neg find mustExist(problem, interpretation, newObject); 3389 neg find mustExist(problem, interpretation, newObject);
3335} 3390}
@@ -3361,31 +3416,43 @@ pattern createObject_CommSubsystem_class_UndefinedPart(
3361 find mayExist(problem, interpretation, newObject); 3416 find mayExist(problem, interpretation, newObject);
3362 neg find mustExist(problem, interpretation, newObject); 3417 neg find mustExist(problem, interpretation, newObject);
3363} 3418}
3364pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( 3419pattern createObject_InterferometryMission_class_UndefinedPart(
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(
3365 problem:LogicProblem, interpretation:PartialInterpretation, 3432 problem:LogicProblem, interpretation:PartialInterpretation,
3366 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3433 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3367 container:DefinedElement) 3434 container:DefinedElement)
3368{ 3435{
3369 find interpretation(problem,interpretation); 3436 find interpretation(problem,interpretation);
3370 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3437 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3371 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); 3438 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
3372 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3439 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3373 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 3440 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
3374 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 3441 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
3375 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); 3442 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
3376 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 3443 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
3377 find mustExist(problem, interpretation, container); 3444 find mustExist(problem, interpretation, container);
3378 neg find mustExist(problem, interpretation, newObject); 3445 neg find mustExist(problem, interpretation, newObject);
3379} 3446}
3380pattern createObject_CubeSat6U_class( 3447pattern createObject_InterferometryPayload_class(
3381 problem:LogicProblem, interpretation:PartialInterpretation, 3448 problem:LogicProblem, interpretation:PartialInterpretation,
3382 typeInterpretation:PartialComplexTypeInterpretation) 3449 typeInterpretation:PartialComplexTypeInterpretation)
3383{ 3450{
3384 find interpretation(problem,interpretation); 3451 find interpretation(problem,interpretation);
3385 neg find hasElementInContainment(problem,interpretation); 3452 neg find hasElementInContainment(problem,interpretation);
3386 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3453 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3387 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); 3454 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
3388 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); 3455 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
3389 find mayExist(problem, interpretation, newObject); 3456 find mayExist(problem, interpretation, newObject);
3390 neg find mustExist(problem, interpretation, newObject); 3457 neg find mustExist(problem, interpretation, newObject);
3391} 3458}
@@ -3393,99 +3460,114 @@ pattern createObject_CubeSat6U_class(
3393////////// 3460//////////
3394// 4.2 Type refinement 3461// 4.2 Type refinement
3395////////// 3462//////////
3396pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3463pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3397 find interpretation(problem,interpretation); 3464 find interpretation(problem,interpretation);
3398 PartialInterpretation.newElements(interpretation,element); 3465 PartialInterpretation.newElements(interpretation,element);
3399 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3466 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3467 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3400 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3468 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3469 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3401 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3470 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3402 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3471 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3403 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3472 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
3404 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3405} 3473}
3406pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3474pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3407 find interpretation(problem,interpretation); 3475 find interpretation(problem,interpretation);
3408 PartialInterpretation.newElements(interpretation,element); 3476 PartialInterpretation.newElements(interpretation,element);
3409 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); 3477 find mayInstanceOfSmallSat_class(problem,interpretation,element);
3478 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3410 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3479 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3411 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3480 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3412 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3413 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3481 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3414 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 3482 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3415} 3483 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3416pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3417 find interpretation(problem,interpretation);
3418 PartialInterpretation.newElements(interpretation,element);
3419 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
3420 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3421 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3484 neg find mustInstanceOfConstellationMission_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} 3485}
3426pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3486pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3427 find interpretation(problem,interpretation); 3487 find interpretation(problem,interpretation);
3428 PartialInterpretation.newElements(interpretation,element); 3488 PartialInterpretation.newElements(interpretation,element);
3429 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); 3489 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3430 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3490 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3491 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3492 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3431 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3493 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3432 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3494 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);
3436} 3495}
3437pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3496pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3438 find interpretation(problem,interpretation); 3497 find interpretation(problem,interpretation);
3439 PartialInterpretation.newElements(interpretation,element); 3498 PartialInterpretation.newElements(interpretation,element);
3440 find mayInstanceOfCubeSat3U_class(problem,interpretation,element); 3499 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
3441 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3500 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3442 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3501 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3443 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 3502 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3444 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3445 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3503 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3504 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3446 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 3505 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3447 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3448 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 3506 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3507 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3449} 3508}
3450pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3509pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3451 find interpretation(problem,interpretation); 3510 find interpretation(problem,interpretation);
3452 PartialInterpretation.newElements(interpretation,element); 3511 PartialInterpretation.newElements(interpretation,element);
3453 find mayInstanceOfSmallSat_class(problem,interpretation,element); 3512 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
3454 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3513 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3455 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3514 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3456 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3457 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 3515 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3458 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3459 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3516 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3460 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 3517 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3518 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3519 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3520 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3461} 3521}
3462pattern refineTypeTo_CommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3522pattern refineTypeTo_CommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3463 find interpretation(problem,interpretation); 3523 find interpretation(problem,interpretation);
3464 PartialInterpretation.newElements(interpretation,element); 3524 PartialInterpretation.newElements(interpretation,element);
3465 find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 3525 find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3466 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3526 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3467 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3468 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3469 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 3527 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3528 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3470 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 3529 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3471} 3531}
3472pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3532pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3473 find interpretation(problem,interpretation); 3533 find interpretation(problem,interpretation);
3474 PartialInterpretation.newElements(interpretation,element); 3534 PartialInterpretation.newElements(interpretation,element);
3475 find mayInstanceOfCubeSat6U_class(problem,interpretation,element); 3535 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3476 neg find mustInstanceOfDirectedCommunicationLink_class(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);
3477 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3539 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3478 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3540 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3479 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 3541}
3542pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3543 find interpretation(problem,interpretation);
3544 PartialInterpretation.newElements(interpretation,element);
3545 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
3546 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3480 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3547 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3481 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 3548 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3482 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 3549 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3483 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 3550 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
3484} 3551}
3485 3552
3486////////// 3553//////////
3487// 4.3 Relation refinement 3554// 4.3 Relation refinement
3488////////// 3555//////////
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}
3489pattern refineRelation_source_reference_DirectedCommunicationLink( 3571pattern refineRelation_source_reference_DirectedCommunicationLink(
3490 problem:LogicProblem, interpretation:PartialInterpretation, 3572 problem:LogicProblem, interpretation:PartialInterpretation,
3491 relationIterpretation:PartialRelationInterpretation, 3573 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 2a54174a..2164c23c 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,7 +648,38 @@
648 </expression> 648 </expression>
649 </value> 649 </value>
650 </assertions> 650 </assertions>
651 <assertions name="lowerMultiplicity source DirectedCommunicationLink" annotations="//@annotations.8"> 651 <assertions name="upperMultiplicity communicationLink CommSubsystem" 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">
652 <value xsi:type="language_1:Forall"> 683 <value xsi:type="language_1:Forall">
653 <quantifiedVariables name="src"> 684 <quantifiedVariables name="src">
654 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 685 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -658,15 +689,15 @@
658 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 689 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
659 </quantifiedVariables> 690 </quantifiedVariables>
660 <expression xsi:type="language_1:And"> 691 <expression xsi:type="language_1:And">
661 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 692 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
662 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/> 693 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/>
663 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@expression/@quantifiedVariables.0"/> 694 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@expression/@quantifiedVariables.0"/>
664 </operands> 695 </operands>
665 </expression> 696 </expression>
666 </expression> 697 </expression>
667 </value> 698 </value>
668 </assertions> 699 </assertions>
669 <assertions name="upperMultiplicity source DirectedCommunicationLink" annotations="//@annotations.9"> 700 <assertions name="upperMultiplicity source DirectedCommunicationLink" annotations="//@annotations.10">
670 <value xsi:type="language_1:Forall"> 701 <value xsi:type="language_1:Forall">
671 <quantifiedVariables name="src"> 702 <quantifiedVariables name="src">
672 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 703 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -679,25 +710,25 @@
679 </quantifiedVariables> 710 </quantifiedVariables>
680 <expression xsi:type="language_1:Impl"> 711 <expression xsi:type="language_1:Impl">
681 <leftOperand xsi:type="language_1:And"> 712 <leftOperand xsi:type="language_1:And">
682 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 713 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
683 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/> 714 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
684 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/> 715 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.1"/>
685 </operands> 716 </operands>
686 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 717 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
687 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/> 718 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
688 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/> 719 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.2"/>
689 </operands> 720 </operands>
690 </leftOperand> 721 </leftOperand>
691 <rightOperand xsi:type="language_1:Not"> 722 <rightOperand xsi:type="language_1:Not">
692 <operand xsi:type="language_1:Distinct"> 723 <operand xsi:type="language_1:Distinct">
693 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/> 724 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.1"/>
694 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/> 725 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.2"/>
695 </operand> 726 </operand>
696 </rightOperand> 727 </rightOperand>
697 </expression> 728 </expression>
698 </value> 729 </value>
699 </assertions> 730 </assertions>
700 <assertions name="lowerMultiplicity target DirectedCommunicationLink" annotations="//@annotations.10"> 731 <assertions name="lowerMultiplicity target DirectedCommunicationLink" annotations="//@annotations.11">
701 <value xsi:type="language_1:Forall"> 732 <value xsi:type="language_1:Forall">
702 <quantifiedVariables name="src"> 733 <quantifiedVariables name="src">
703 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 734 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -707,15 +738,15 @@
707 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 738 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
708 </quantifiedVariables> 739 </quantifiedVariables>
709 <expression xsi:type="language_1:And"> 740 <expression xsi:type="language_1:And">
710 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 741 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
711 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/> 742 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
712 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@expression/@quantifiedVariables.0"/> 743 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@expression/@quantifiedVariables.0"/>
713 </operands> 744 </operands>
714 </expression> 745 </expression>
715 </expression> 746 </expression>
716 </value> 747 </value>
717 </assertions> 748 </assertions>
718 <assertions name="upperMultiplicity target DirectedCommunicationLink" annotations="//@annotations.11"> 749 <assertions name="upperMultiplicity target DirectedCommunicationLink" annotations="//@annotations.12">
719 <value xsi:type="language_1:Forall"> 750 <value xsi:type="language_1:Forall">
720 <quantifiedVariables name="src"> 751 <quantifiedVariables name="src">
721 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 752 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -728,25 +759,25 @@
728 </quantifiedVariables> 759 </quantifiedVariables>
729 <expression xsi:type="language_1:Impl"> 760 <expression xsi:type="language_1:Impl">
730 <leftOperand xsi:type="language_1:And"> 761 <leftOperand xsi:type="language_1:And">
731 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 762 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
732 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/> 763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/>
733 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/> 764 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.1"/>
734 </operands> 765 </operands>
735 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 766 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
736 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/> 767 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/>
737 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.2"/> 768 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.2"/>
738 </operands> 769 </operands>
739 </leftOperand> 770 </leftOperand>
740 <rightOperand xsi:type="language_1:Not"> 771 <rightOperand xsi:type="language_1:Not">
741 <operand xsi:type="language_1:Distinct"> 772 <operand xsi:type="language_1:Distinct">
742 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/> 773 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.1"/>
743 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.2"/> 774 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.2"/>
744 </operand> 775 </operand>
745 </rightOperand> 776 </rightOperand>
746 </expression> 777 </expression>
747 </value> 778 </value>
748 </assertions> 779 </assertions>
749 <assertions name="lowerMultiplicity kind Spacecraft" annotations="//@annotations.12"> 780 <assertions name="lowerMultiplicity kind Spacecraft" annotations="//@annotations.13">
750 <value xsi:type="language_1:Forall"> 781 <value xsi:type="language_1:Forall">
751 <quantifiedVariables name="src"> 782 <quantifiedVariables name="src">
752 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 783 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -756,15 +787,15 @@
756 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 787 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
757 </quantifiedVariables> 788 </quantifiedVariables>
758 <expression xsi:type="language_1:And"> 789 <expression xsi:type="language_1:And">
759 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 790 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
760 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/> 791 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
761 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@expression/@quantifiedVariables.0"/> 792 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@expression/@quantifiedVariables.0"/>
762 </operands> 793 </operands>
763 </expression> 794 </expression>
764 </expression> 795 </expression>
765 </value> 796 </value>
766 </assertions> 797 </assertions>
767 <assertions name="upperMultiplicity kind Spacecraft" annotations="//@annotations.13"> 798 <assertions name="upperMultiplicity kind Spacecraft" annotations="//@annotations.14">
768 <value xsi:type="language_1:Forall"> 799 <value xsi:type="language_1:Forall">
769 <quantifiedVariables name="src"> 800 <quantifiedVariables name="src">
770 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 801 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -777,25 +808,25 @@
777 </quantifiedVariables> 808 </quantifiedVariables>
778 <expression xsi:type="language_1:Impl"> 809 <expression xsi:type="language_1:Impl">
779 <leftOperand xsi:type="language_1:And"> 810 <leftOperand xsi:type="language_1:And">
780 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 811 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
781 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/> 812 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
782 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.1"/> 813 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.1"/>
783 </operands> 814 </operands>
784 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 815 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
785 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/> 816 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
786 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.2"/> 817 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.2"/>
787 </operands> 818 </operands>
788 </leftOperand> 819 </leftOperand>
789 <rightOperand xsi:type="language_1:Not"> 820 <rightOperand xsi:type="language_1:Not">
790 <operand xsi:type="language_1:Distinct"> 821 <operand xsi:type="language_1:Distinct">
791 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.1"/> 822 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.1"/>
792 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.2"/> 823 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.2"/>
793 </operand> 824 </operand>
794 </rightOperand> 825 </rightOperand>
795 </expression> 826 </expression>
796 </value> 827 </value>
797 </assertions> 828 </assertions>
798 <assertions name="lowerMultiplicity band CommSubsystem" annotations="//@annotations.14"> 829 <assertions name="lowerMultiplicity band CommSubsystem" annotations="//@annotations.15">
799 <value xsi:type="language_1:Forall"> 830 <value xsi:type="language_1:Forall">
800 <quantifiedVariables name="src"> 831 <quantifiedVariables name="src">
801 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 832 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -805,15 +836,15 @@
805 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 836 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
806 </quantifiedVariables> 837 </quantifiedVariables>
807 <expression xsi:type="language_1:And"> 838 <expression xsi:type="language_1:And">
808 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 839 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
809 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/> 840 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
810 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@expression/@quantifiedVariables.0"/> 841 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@expression/@quantifiedVariables.0"/>
811 </operands> 842 </operands>
812 </expression> 843 </expression>
813 </expression> 844 </expression>
814 </value> 845 </value>
815 </assertions> 846 </assertions>
816 <assertions name="upperMultiplicity band CommSubsystem" annotations="//@annotations.15"> 847 <assertions name="upperMultiplicity band CommSubsystem" annotations="//@annotations.16">
817 <value xsi:type="language_1:Forall"> 848 <value xsi:type="language_1:Forall">
818 <quantifiedVariables name="src"> 849 <quantifiedVariables name="src">
819 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 850 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -826,25 +857,25 @@
826 </quantifiedVariables> 857 </quantifiedVariables>
827 <expression xsi:type="language_1:Impl"> 858 <expression xsi:type="language_1:Impl">
828 <leftOperand xsi:type="language_1:And"> 859 <leftOperand xsi:type="language_1:And">
829 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 860 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
830 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/> 861 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
831 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.1"/> 862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.1"/>
832 </operands> 863 </operands>
833 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 864 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
834 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/> 865 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
835 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.2"/> 866 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.2"/>
836 </operands> 867 </operands>
837 </leftOperand> 868 </leftOperand>
838 <rightOperand xsi:type="language_1:Not"> 869 <rightOperand xsi:type="language_1:Not">
839 <operand xsi:type="language_1:Distinct"> 870 <operand xsi:type="language_1:Distinct">
840 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.1"/> 871 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.1"/>
841 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.2"/> 872 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.2"/>
842 </operand> 873 </operand>
843 </rightOperand> 874 </rightOperand>
844 </expression> 875 </expression>
845 </value> 876 </value>
846 </assertions> 877 </assertions>
847 <assertions name="lowerMultiplicity gain CommSubsystem" annotations="//@annotations.16"> 878 <assertions name="lowerMultiplicity gain CommSubsystem" annotations="//@annotations.17">
848 <value xsi:type="language_1:Forall"> 879 <value xsi:type="language_1:Forall">
849 <quantifiedVariables name="src"> 880 <quantifiedVariables name="src">
850 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 881 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -854,15 +885,15 @@
854 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 885 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
855 </quantifiedVariables> 886 </quantifiedVariables>
856 <expression xsi:type="language_1:And"> 887 <expression xsi:type="language_1:And">
857 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 888 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
858 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/> 889 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
859 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@expression/@quantifiedVariables.0"/> 890 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@expression/@quantifiedVariables.0"/>
860 </operands> 891 </operands>
861 </expression> 892 </expression>
862 </expression> 893 </expression>
863 </value> 894 </value>
864 </assertions> 895 </assertions>
865 <assertions name="upperMultiplicity gain CommSubsystem" annotations="//@annotations.17"> 896 <assertions name="upperMultiplicity gain CommSubsystem" annotations="//@annotations.18">
866 <value xsi:type="language_1:Forall"> 897 <value xsi:type="language_1:Forall">
867 <quantifiedVariables name="src"> 898 <quantifiedVariables name="src">
868 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 899 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -875,31 +906,31 @@
875 </quantifiedVariables> 906 </quantifiedVariables>
876 <expression xsi:type="language_1:Impl"> 907 <expression xsi:type="language_1:Impl">
877 <leftOperand xsi:type="language_1:And"> 908 <leftOperand xsi:type="language_1:And">
878 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 909 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
879 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/> 910 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.0"/>
880 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.1"/> 911 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.1"/>
881 </operands> 912 </operands>
882 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 913 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
883 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/> 914 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.0"/>
884 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.2"/> 915 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.2"/>
885 </operands> 916 </operands>
886 </leftOperand> 917 </leftOperand>
887 <rightOperand xsi:type="language_1:Not"> 918 <rightOperand xsi:type="language_1:Not">
888 <operand xsi:type="language_1:Distinct"> 919 <operand xsi:type="language_1:Distinct">
889 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.1"/> 920 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.1"/>
890 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.2"/> 921 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.2"/>
891 </operand> 922 </operand>
892 </rightOperand> 923 </rightOperand>
893 </expression> 924 </expression>
894 </value> 925 </value>
895 </assertions> 926 </assertions>
896 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.18"> 927 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.19">
897 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 928 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
898 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.9"/> 929 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.9"/>
899 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/> 930 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/>
900 </value> 931 </value>
901 </assertions> 932 </assertions>
902 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.19"> 933 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.20">
903 <value xsi:type="language_1:And"> 934 <value xsi:type="language_1:And">
904 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 935 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
905 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/> 936 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/>
@@ -911,46 +942,34 @@
911 </operands> 942 </operands>
912 </value> 943 </value>
913 </assertions> 944 </assertions>
914 <assertions name="PartialInterpretation band attribute CommSubsystem" annotations="//@annotations.20"> 945 <assertions name="PartialInterpretation band attribute CommSubsystem" annotations="//@annotations.21">
915 <value xsi:type="language_1:And"> 946 <value xsi:type="language_1:And">
916 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 947 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
917 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/> 948 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/>
918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 949 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
919 </operands> 950 </operands>
920 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 951 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
921 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/> 952 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/>
922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> 953 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
923 </operands> 954 </operands>
924 </value> 955 </value>
925 </assertions> 956 </assertions>
926 <assertions name="PartialInterpretation gain attribute CommSubsystem" annotations="//@annotations.21"> 957 <assertions name="PartialInterpretation gain attribute CommSubsystem" annotations="//@annotations.22">
927 <value xsi:type="language_1:And"> 958 <value xsi:type="language_1:And">
928 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 959 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
929 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/> 960 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/>
930 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/> 961 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/>
931 </operands> 962 </operands>
932 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 963 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
933 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/> 964 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/>
934 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.5"/> 965 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.5"/>
935 </operands> 966 </operands>
936 </value> 967 </value>
937 </assertions> 968 </assertions>
938 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.50"> 969 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries multipleCommunicationLinks" annotations="//@annotations.52">
939 <value xsi:type="language_1:Forall"> 970 <value xsi:type="language_1:Forall">
940 <quantifiedVariables name="p0"> 971 <quantifiedVariables name="p0">
941 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 972 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
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"/>
954 </quantifiedVariables> 973 </quantifiedVariables>
955 <expression xsi:type="language_1:Not"> 974 <expression xsi:type="language_1:Not">
956 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11"> 975 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11">
@@ -959,55 +978,55 @@
959 </expression> 978 </expression>
960 </value> 979 </value>
961 </assertions> 980 </assertions>
962 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.52"> 981 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.53">
963 <value xsi:type="language_1:Forall"> 982 <value xsi:type="language_1:Forall">
964 <quantifiedVariables name="p0"> 983 <quantifiedVariables name="p0">
965 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 984 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
966 </quantifiedVariables> 985 </quantifiedVariables>
967 <expression xsi:type="language_1:Not"> 986 <expression xsi:type="language_1:Not">
968 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14"> 987 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13">
969 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.24/@value/@quantifiedVariables.0"/> 988 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.24/@value/@quantifiedVariables.0"/>
970 </operand> 989 </operand>
971 </expression> 990 </expression>
972 </value> 991 </value>
973 </assertions> 992 </assertions>
974 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.53"> 993 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.54">
975 <value xsi:type="language_1:Forall"> 994 <value xsi:type="language_1:Forall">
976 <quantifiedVariables name="p0"> 995 <quantifiedVariables name="p0">
977 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 996 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
978 </quantifiedVariables> 997 </quantifiedVariables>
979 <expression xsi:type="language_1:Not"> 998 <expression xsi:type="language_1:Not">
980 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 999 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16">
981 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.25/@value/@quantifiedVariables.0"/> 1000 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.25/@value/@quantifiedVariables.0"/>
982 </operand> 1001 </operand>
983 </expression> 1002 </expression>
984 </value> 1003 </value>
985 </assertions> 1004 </assertions>
986 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.54"> 1005 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.55">
987 <value xsi:type="language_1:Forall"> 1006 <value xsi:type="language_1:Forall">
988 <quantifiedVariables name="p0"> 1007 <quantifiedVariables name="p0">
989 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1008 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
990 </quantifiedVariables> 1009 </quantifiedVariables>
991 <expression xsi:type="language_1:Not"> 1010 <expression xsi:type="language_1:Not">
992 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 1011 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17">
993 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.26/@value/@quantifiedVariables.0"/> 1012 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.26/@value/@quantifiedVariables.0"/>
994 </operand> 1013 </operand>
995 </expression> 1014 </expression>
996 </value> 1015 </value>
997 </assertions> 1016 </assertions>
998 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.55"> 1017 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.56">
999 <value xsi:type="language_1:Forall"> 1018 <value xsi:type="language_1:Forall">
1000 <quantifiedVariables name="p0"> 1019 <quantifiedVariables name="p0">
1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1020 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1002 </quantifiedVariables> 1021 </quantifiedVariables>
1003 <expression xsi:type="language_1:Not"> 1022 <expression xsi:type="language_1:Not">
1004 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23"> 1023 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22">
1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.27/@value/@quantifiedVariables.0"/> 1024 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.27/@value/@quantifiedVariables.0"/>
1006 </operand> 1025 </operand>
1007 </expression> 1026 </expression>
1008 </value> 1027 </value>
1009 </assertions> 1028 </assertions>
1010 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.56"> 1029 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.57">
1011 <value xsi:type="language_1:Forall"> 1030 <value xsi:type="language_1:Forall">
1012 <quantifiedVariables name="p0"> 1031 <quantifiedVariables name="p0">
1013 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1032 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -1019,10 +1038,10 @@
1019 </expression> 1038 </expression>
1020 </value> 1039 </value>
1021 </assertions> 1040 </assertions>
1022 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.57"> 1041 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.58">
1023 <value xsi:type="language_1:Forall"> 1042 <value xsi:type="language_1:Forall">
1024 <quantifiedVariables name="p0"> 1043 <quantifiedVariables name="p0">
1025 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1044 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1026 </quantifiedVariables> 1045 </quantifiedVariables>
1027 <expression xsi:type="language_1:Not"> 1046 <expression xsi:type="language_1:Not">
1028 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27"> 1047 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27">
@@ -1031,7 +1050,7 @@
1031 </expression> 1050 </expression>
1032 </value> 1051 </value>
1033 </assertions> 1052 </assertions>
1034 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.58"> 1053 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.59">
1035 <value xsi:type="language_1:Forall"> 1054 <value xsi:type="language_1:Forall">
1036 <quantifiedVariables name="p0"> 1055 <quantifiedVariables name="p0">
1037 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1056 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1043,7 +1062,7 @@
1043 </expression> 1062 </expression>
1044 </value> 1063 </value>
1045 </assertions> 1064 </assertions>
1046 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.59"> 1065 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.60">
1047 <value xsi:type="language_1:Forall"> 1066 <value xsi:type="language_1:Forall">
1048 <quantifiedVariables name="p0"> 1067 <quantifiedVariables name="p0">
1049 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1068 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1055,30 +1074,42 @@
1055 </expression> 1074 </expression>
1056 </value> 1075 </value>
1057 </assertions> 1076 </assertions>
1058 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.60"> 1077 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.61">
1059 <value xsi:type="language_1:Forall"> 1078 <value xsi:type="language_1:Forall">
1060 <quantifiedVariables name="p0"> 1079 <quantifiedVariables name="p0">
1061 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1080 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1062 </quantifiedVariables> 1081 </quantifiedVariables>
1063 <expression xsi:type="language_1:Not"> 1082 <expression xsi:type="language_1:Not">
1064 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32"> 1083 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33">
1065 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.32/@value/@quantifiedVariables.0"/> 1084 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.32/@value/@quantifiedVariables.0"/>
1066 </operand> 1085 </operand>
1067 </expression> 1086 </expression>
1068 </value> 1087 </value>
1069 </assertions> 1088 </assertions>
1070 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.61"> 1089 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.62">
1071 <value xsi:type="language_1:Forall"> 1090 <value xsi:type="language_1:Forall">
1072 <quantifiedVariables name="p0"> 1091 <quantifiedVariables name="p0">
1073 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1092 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1074 </quantifiedVariables> 1093 </quantifiedVariables>
1075 <expression xsi:type="language_1:Not"> 1094 <expression xsi:type="language_1:Not">
1076 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35"> 1095 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34">
1077 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.33/@value/@quantifiedVariables.0"/> 1096 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.33/@value/@quantifiedVariables.0"/>
1078 </operand> 1097 </operand>
1079 </expression> 1098 </expression>
1080 </value> 1099 </value>
1081 </assertions> 1100 </assertions>
1101 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.63">
1102 <value xsi:type="language_1:Forall">
1103 <quantifiedVariables name="p0">
1104 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1105 </quantifiedVariables>
1106 <expression xsi:type="language_1:Not">
1107 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37">
1108 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.34/@value/@quantifiedVariables.0"/>
1109 </operand>
1110 </expression>
1111 </value>
1112 </assertions>
1082 <relations xsi:type="language_1:RelationDeclaration" name="groundStationNetwork reference ConstellationMission"> 1113 <relations xsi:type="language_1:RelationDeclaration" name="groundStationNetwork reference ConstellationMission">
1083 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 1114 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
1084 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1115 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
@@ -1091,7 +1122,7 @@
1091 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1122 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1092 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1123 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1093 </relations> 1124 </relations>
1094 <relations xsi:type="language_1:RelationDeclaration" name="communicationLink reference CommunicatingElement"> 1125 <relations xsi:type="language_1:RelationDeclaration" name="communicationLink reference CommunicatingElement" annotations="//@annotations.64">
1095 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1126 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1096 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1127 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1097 </relations> 1128 </relations>
@@ -1099,6 +1130,10 @@
1099 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1130 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1100 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/> 1131 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
1101 </relations> 1132 </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>
1102 <relations xsi:type="language_1:RelationDeclaration" name="source reference DirectedCommunicationLink"> 1137 <relations xsi:type="language_1:RelationDeclaration" name="source reference DirectedCommunicationLink">
1103 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1138 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1104 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1139 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1107,7 +1142,7 @@
1107 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1142 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1108 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1143 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1109 </relations> 1144 </relations>
1110 <relations xsi:type="language_1:RelationDeclaration" name="kind attribute Spacecraft" annotations="//@annotations.62"> 1145 <relations xsi:type="language_1:RelationDeclaration" name="kind attribute Spacecraft" annotations="//@annotations.65">
1111 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1146 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1112 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1147 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1113 </relations> 1148 </relations>
@@ -1119,48 +1154,90 @@
1119 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1154 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1120 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1155 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1121 </relations> 1156 </relations>
1122 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.22"> 1157 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries multipleCommunicationLinks" annotations="//@annotations.23">
1123 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1158 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1124 <variables name="parameter Link"> 1159 <variables name="parameter Element">
1125 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1160 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1126 </variables> 1161 </variables>
1127 <value xsi:type="language_1:Or"> 1162 <value xsi:type="language_1:Or">
1128 <operands xsi:type="language_1:Exists"> 1163 <operands xsi:type="language_1:Exists">
1129 <quantifiedVariables name="variable Element"> 1164 <quantifiedVariables name="variable Link1">
1130 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1165 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1131 </quantifiedVariables> 1166 </quantifiedVariables>
1132 <quantifiedVariables name="variable SourceComm"> 1167 <quantifiedVariables name="variable Link2">
1168 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1169 </quantifiedVariables>
1170 <quantifiedVariables name="variable virtual0">
1133 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1171 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1134 </quantifiedVariables> 1172 </quantifiedVariables>
1135 <quantifiedVariables name="variable SourceElement"> 1173 <quantifiedVariables name="variable virtual2">
1136 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1174 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1137 </quantifiedVariables> 1175 </quantifiedVariables>
1138 <expression xsi:type="language_1:And"> 1176 <expression xsi:type="language_1:And">
1139 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> 1177 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1140 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/> 1178 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1141 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/> 1179 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.2"/>
1142 </operands> 1180 </operands>
1143 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1181 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1144 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/> 1182 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.2"/>
1145 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/> 1183 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
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"/>
1146 </operands> 1188 </operands>
1147 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1189 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1148 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.2"/> 1190 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1149 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/> 1191 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.3"/>
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"/>
1150 </operands> 1196 </operands>
1151 <operands xsi:type="language_1:InstanceOf"> 1197 <operands xsi:type="language_1:InstanceOf">
1152 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/> 1198 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1153 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1199 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1154 </operands> 1200 </operands>
1155 <operands xsi:type="language_1:Distinct"> 1201 <operands xsi:type="language_1:Distinct">
1156 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/> 1202 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
1157 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.2"/> 1203 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1158 </operands> 1204 </operands>
1159 </expression> 1205 </expression>
1160 </operands> 1206 </operands>
1161 </value> 1207 </value>
1162 </relations> 1208 </relations>
1163 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.23"> 1209 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkOfElement" annotations="//@annotations.24" defines="//@relations.3">
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">
1164 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1241 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1165 <variables name="parameter Mission"> 1242 <variables name="parameter Mission">
1166 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1243 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -1168,18 +1245,18 @@
1168 <value xsi:type="language_1:Or"> 1245 <value xsi:type="language_1:Or">
1169 <operands xsi:type="language_1:And"> 1246 <operands xsi:type="language_1:And">
1170 <operands xsi:type="language_1:InstanceOf"> 1247 <operands xsi:type="language_1:InstanceOf">
1171 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 1248 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1172 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1249 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1173 </operands> 1250 </operands>
1174 <operands xsi:type="language_1:Not"> 1251 <operands xsi:type="language_1:Not">
1175 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12"> 1252 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1176 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 1253 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1177 </operand> 1254 </operand>
1178 </operands> 1255 </operands>
1179 </operands> 1256 </operands>
1180 </value> 1257 </value>
1181 </relations> 1258 </relations>
1182 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.24"> 1259 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.26">
1183 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1260 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1184 <variables name="parameter Mission"> 1261 <variables name="parameter Mission">
1185 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1262 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -1194,26 +1271,26 @@
1194 </quantifiedVariables> 1271 </quantifiedVariables>
1195 <expression xsi:type="language_1:And"> 1272 <expression xsi:type="language_1:And">
1196 <operands xsi:type="language_1:InstanceOf"> 1273 <operands xsi:type="language_1:InstanceOf">
1197 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 1274 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1198 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 1275 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1199 </operands> 1276 </operands>
1200 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> 1277 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1201 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 1278 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1202 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/> 1279 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1203 </operands> 1280 </operands>
1204 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> 1281 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1205 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 1282 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1206 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 1283 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1207 </operands> 1284 </operands>
1208 <operands xsi:type="language_1:Distinct"> 1285 <operands xsi:type="language_1:Distinct">
1209 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/> 1286 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1210 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 1287 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1211 </operands> 1288 </operands>
1212 </expression> 1289 </expression>
1213 </operands> 1290 </operands>
1214 </value> 1291 </value>
1215 </relations> 1292 </relations>
1216 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.25"> 1293 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.27">
1217 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 1294 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
1218 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1295 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1219 <variables name="parameter Mission"> 1296 <variables name="parameter Mission">
@@ -1229,22 +1306,22 @@
1229 </quantifiedVariables> 1306 </quantifiedVariables>
1230 <expression xsi:type="language_1:And"> 1307 <expression xsi:type="language_1:And">
1231 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1308 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1232 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/> 1309 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1233 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/> 1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1234 </operands> 1311 </operands>
1235 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> 1312 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1236 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/> 1313 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1237 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@value/@operands.0/@quantifiedVariables.0"/> 1314 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/>
1238 </operands> 1315 </operands>
1239 <operands xsi:type="language_1:InstanceOf"> 1316 <operands xsi:type="language_1:InstanceOf">
1240 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@value/@operands.0/@quantifiedVariables.0"/> 1317 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/>
1241 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/> 1318 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1242 </operands> 1319 </operands>
1243 </expression> 1320 </expression>
1244 </operands> 1321 </operands>
1245 </value> 1322 </value>
1246 </relations> 1323 </relations>
1247 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.26"> 1324 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.28">
1248 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1325 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1249 <variables name="parameter Spacecraft"> 1326 <variables name="parameter Spacecraft">
1250 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1327 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1259,32 +1336,32 @@
1259 </quantifiedVariables> 1336 </quantifiedVariables>
1260 <expression xsi:type="language_1:And"> 1337 <expression xsi:type="language_1:And">
1261 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 1338 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1262 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/> 1339 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.0"/>
1263 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/> 1340 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.1"/>
1264 </operands> 1341 </operands>
1265 <operands xsi:type="language_1:InstanceOf"> 1342 <operands xsi:type="language_1:InstanceOf">
1266 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/> 1343 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.1"/>
1267 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1344 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1268 </operands> 1345 </operands>
1269 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1346 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1270 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/> 1347 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.0"/>
1271 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1348 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1272 </operands> 1349 </operands>
1273 <operands xsi:type="language_1:InstanceOf"> 1350 <operands xsi:type="language_1:InstanceOf">
1274 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1351 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1275 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1352 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1276 </operands> 1353 </operands>
1277 <operands xsi:type="language_1:Not"> 1354 <operands xsi:type="language_1:Not">
1278 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21"> 1355 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
1279 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1356 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1280 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/> 1357 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@value/@operands.0/@quantifiedVariables.1"/>
1281 </operand> 1358 </operand>
1282 </operands> 1359 </operands>
1283 </expression> 1360 </expression>
1284 </operands> 1361 </operands>
1285 </value> 1362 </value>
1286 </relations> 1363 </relations>
1287 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.27"> 1364 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.29">
1288 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1365 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1289 <variables name="parameter Spacecraft"> 1366 <variables name="parameter Spacecraft">
1290 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1367 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1299,32 +1376,32 @@
1299 </quantifiedVariables> 1376 </quantifiedVariables>
1300 <expression xsi:type="language_1:And"> 1377 <expression xsi:type="language_1:And">
1301 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 1378 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1302 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1379 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/>
1303 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1380 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.1"/>
1304 </operands> 1381 </operands>
1305 <operands xsi:type="language_1:InstanceOf"> 1382 <operands xsi:type="language_1:InstanceOf">
1306 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1383 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.1"/>
1307 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1384 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1308 </operands> 1385 </operands>
1309 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1386 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1387 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/>
1311 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1388 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1312 </operands> 1389 </operands>
1313 <operands xsi:type="language_1:InstanceOf"> 1390 <operands xsi:type="language_1:InstanceOf">
1314 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1391 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1315 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1392 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1316 </operands> 1393 </operands>
1317 <operands xsi:type="language_1:Not"> 1394 <operands xsi:type="language_1:Not">
1318 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16"> 1395 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
1319 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1396 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1320 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1397 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.1"/>
1321 </operand> 1398 </operand>
1322 </operands> 1399 </operands>
1323 </expression> 1400 </expression>
1324 </operands> 1401 </operands>
1325 </value> 1402 </value>
1326 </relations> 1403 </relations>
1327 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.28"> 1404 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.30">
1328 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1405 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1329 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1406 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1330 <variables name="parameter From"> 1407 <variables name="parameter From">
@@ -1335,11 +1412,11 @@
1335 </variables> 1412 </variables>
1336 <value xsi:type="language_1:Or"> 1413 <value xsi:type="language_1:Or">
1337 <operands xsi:type="language_1:And"> 1414 <operands xsi:type="language_1:And">
1338 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.17"/> 1415 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.19"/>
1339 </operands> 1416 </operands>
1340 </value> 1417 </value>
1341 </relations> 1418 </relations>
1342 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.29"> 1419 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.31">
1343 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1420 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1344 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1421 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1345 <variables name="parameter From"> 1422 <variables name="parameter From">
@@ -1354,14 +1431,14 @@
1354 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1431 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1355 </quantifiedVariables> 1432 </quantifiedVariables>
1356 <expression xsi:type="language_1:And"> 1433 <expression xsi:type="language_1:And">
1357 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18"> 1434 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20">
1358 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1435 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1359 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/> 1436 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.1"/>
1360 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/> 1437 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.0/@quantifiedVariables.0"/>
1361 </operands> 1438 </operands>
1362 <operands xsi:type="language_1:Not"> 1439 <operands xsi:type="language_1:Not">
1363 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19"> 1440 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21">
1364 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1441 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1365 </operand> 1442 </operand>
1366 </operands> 1443 </operands>
1367 </expression> 1444 </expression>
@@ -1372,16 +1449,16 @@
1372 </quantifiedVariables> 1449 </quantifiedVariables>
1373 <expression xsi:type="language_1:And"> 1450 <expression xsi:type="language_1:And">
1374 <operands xsi:type="language_1:Equals"> 1451 <operands xsi:type="language_1:Equals">
1375 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.1/@quantifiedVariables.0"/> 1452 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.1/@quantifiedVariables.0"/>
1376 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 1453 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
1377 </operands> 1454 </operands>
1378 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18"> 1455 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20">
1379 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1456 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1380 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/> 1457 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.1"/>
1381 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.1/@quantifiedVariables.0"/> 1458 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.1/@quantifiedVariables.0"/>
1382 </operands> 1459 </operands>
1383 <operands xsi:type="language_1:InstanceOf"> 1460 <operands xsi:type="language_1:InstanceOf">
1384 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1461 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1385 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1462 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1386 </operands> 1463 </operands>
1387 </expression> 1464 </expression>
@@ -1391,24 +1468,24 @@
1391 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1468 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1392 </quantifiedVariables> 1469 </quantifiedVariables>
1393 <expression xsi:type="language_1:And"> 1470 <expression xsi:type="language_1:And">
1394 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18"> 1471 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20">
1395 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1472 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1396 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/> 1473 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.1"/>
1397 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.2/@quantifiedVariables.0"/> 1474 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@value/@operands.2/@quantifiedVariables.0"/>
1398 </operands> 1475 </operands>
1399 <operands xsi:type="language_1:InstanceOf"> 1476 <operands xsi:type="language_1:InstanceOf">
1400 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1477 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1401 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1478 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1402 </operands> 1479 </operands>
1403 <operands xsi:type="language_1:InstanceOf"> 1480 <operands xsi:type="language_1:InstanceOf">
1404 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/> 1481 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.1"/>
1405 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1482 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1406 </operands> 1483 </operands>
1407 </expression> 1484 </expression>
1408 </operands> 1485 </operands>
1409 </value> 1486 </value>
1410 </relations> 1487 </relations>
1411 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.30"> 1488 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.32">
1412 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1489 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1413 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1490 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1414 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1491 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
@@ -1440,46 +1517,46 @@
1440 </quantifiedVariables> 1517 </quantifiedVariables>
1441 <expression xsi:type="language_1:And"> 1518 <expression xsi:type="language_1:And">
1442 <operands xsi:type="language_1:InstanceOf"> 1519 <operands xsi:type="language_1:InstanceOf">
1443 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/> 1520 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
1444 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1521 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1445 </operands> 1522 </operands>
1446 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1523 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1447 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/> 1524 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
1448 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.1"/> 1525 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1449 </operands> 1526 </operands>
1450 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1527 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1451 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.1"/> 1528 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1452 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/> 1529 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.2"/>
1453 </operands> 1530 </operands>
1454 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1531 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1455 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.1"/> 1532 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.1"/>
1456 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.2"/> 1533 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.2"/>
1457 </operands> 1534 </operands>
1458 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1535 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1459 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.2"/> 1536 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.2"/>
1460 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/> 1537 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.2"/>
1461 </operands> 1538 </operands>
1462 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1539 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1463 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/> 1540 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
1464 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.3"/> 1541 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.3"/>
1465 </operands> 1542 </operands>
1466 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1543 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1467 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.3"/> 1544 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.3"/>
1468 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/> 1545 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
1469 </operands> 1546 </operands>
1470 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1547 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1471 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.1"/> 1548 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.1"/>
1472 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.4"/> 1549 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.4"/>
1473 </operands> 1550 </operands>
1474 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1551 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1475 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.4"/> 1552 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.4"/>
1476 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/> 1553 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
1477 </operands> 1554 </operands>
1478 </expression> 1555 </expression>
1479 </operands> 1556 </operands>
1480 </value> 1557 </value>
1481 </relations> 1558 </relations>
1482 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.31"> 1559 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.33">
1483 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1560 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1484 <variables name="parameter Sat"> 1561 <variables name="parameter Sat">
1485 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1562 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
@@ -1487,27 +1564,27 @@
1487 <value xsi:type="language_1:Or"> 1564 <value xsi:type="language_1:Or">
1488 <operands xsi:type="language_1:And"> 1565 <operands xsi:type="language_1:And">
1489 <operands xsi:type="language_1:InstanceOf"> 1566 <operands xsi:type="language_1:InstanceOf">
1490 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1567 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
1491 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1568 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1492 </operands> 1569 </operands>
1493 </operands> 1570 </operands>
1494 </value> 1571 </value>
1495 </relations> 1572 </relations>
1496 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.32"> 1573 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.34">
1497 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1574 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1498 <variables name="parameter Element"> 1575 <variables name="parameter Element">
1499 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1576 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1500 </variables> 1577 </variables>
1501 <value xsi:type="language_1:Or"> 1578 <value xsi:type="language_1:Or">
1502 <operands xsi:type="language_1:And"> 1579 <operands xsi:type="language_1:And">
1503 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21"> 1580 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
1504 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> 1581 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1505 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> 1582 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1506 </operands> 1583 </operands>
1507 </operands> 1584 </operands>
1508 </value> 1585 </value>
1509 </relations> 1586 </relations>
1510 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.33"> 1587 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.35">
1511 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1588 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1512 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1589 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1513 <variables name="parameter Source"> 1590 <variables name="parameter Source">
@@ -1518,11 +1595,11 @@
1518 </variables> 1595 </variables>
1519 <value xsi:type="language_1:Or"> 1596 <value xsi:type="language_1:Or">
1520 <operands xsi:type="language_1:And"> 1597 <operands xsi:type="language_1:And">
1521 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.22"/> 1598 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.24"/>
1522 </operands> 1599 </operands>
1523 </value> 1600 </value>
1524 </relations> 1601 </relations>
1525 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.34"> 1602 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.36">
1526 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1603 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1527 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1604 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1528 <variables name="parameter Source"> 1605 <variables name="parameter Source">
@@ -1543,35 +1620,35 @@
1543 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1620 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1544 </quantifiedVariables> 1621 </quantifiedVariables>
1545 <expression xsi:type="language_1:And"> 1622 <expression xsi:type="language_1:And">
1546 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1547 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1548 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1549 </operands>
1550 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1623 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1551 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> 1624 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.0"/>
1552 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> 1625 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.1"/>
1626 </operands>
1627 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
1628 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.0"/>
1629 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.2"/>
1553 </operands> 1630 </operands>
1554 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1631 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1555 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> 1632 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1556 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1633 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.1"/>
1557 </operands> 1634 </operands>
1558 <operands xsi:type="language_1:InstanceOf"> 1635 <operands xsi:type="language_1:InstanceOf">
1559 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1636 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.1"/>
1560 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1637 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1561 </operands> 1638 </operands>
1562 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1639 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1563 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.1"/> 1640 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.1"/>
1564 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> 1641 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.2"/>
1565 </operands> 1642 </operands>
1566 <operands xsi:type="language_1:InstanceOf"> 1643 <operands xsi:type="language_1:InstanceOf">
1567 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> 1644 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@value/@operands.0/@quantifiedVariables.2"/>
1568 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1645 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1569 </operands> 1646 </operands>
1570 </expression> 1647 </expression>
1571 </operands> 1648 </operands>
1572 </value> 1649 </value>
1573 </relations> 1650 </relations>
1574 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.35"> 1651 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.37">
1575 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1652 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1576 <variables name="parameter Link"> 1653 <variables name="parameter Link">
1577 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1654 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -1588,33 +1665,33 @@
1588 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1665 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1589 </quantifiedVariables> 1666 </quantifiedVariables>
1590 <expression xsi:type="language_1:And"> 1667 <expression xsi:type="language_1:And">
1591 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1592 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1593 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1594 </operands>
1595 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1668 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1596 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/> 1669 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1597 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/> 1670 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1671 </operands>
1672 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
1673 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1674 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/>
1598 </operands> 1675 </operands>
1599 <operands xsi:type="language_1:InstanceOf"> 1676 <operands xsi:type="language_1:InstanceOf">
1600 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/> 1677 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/>
1601 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1678 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1602 </operands> 1679 </operands>
1603 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1680 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1604 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/> 1681 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1605 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/> 1682 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/>
1606 </operands> 1683 </operands>
1607 <operands xsi:type="language_1:Not"> 1684 <operands xsi:type="language_1:Not">
1608 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24"> 1685 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26">
1609 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/> 1686 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/>
1610 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/> 1687 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/>
1611 </operand> 1688 </operand>
1612 </operands> 1689 </operands>
1613 </expression> 1690 </expression>
1614 </operands> 1691 </operands>
1615 </value> 1692 </value>
1616 </relations> 1693 </relations>
1617 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBand" annotations="//@annotations.36"> 1694 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBand" annotations="//@annotations.38">
1618 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1695 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1619 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1696 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1620 <variables name="parameter Comm"> 1697 <variables name="parameter Comm">
@@ -1625,14 +1702,14 @@
1625 </variables> 1702 </variables>
1626 <value xsi:type="language_1:Or"> 1703 <value xsi:type="language_1:Or">
1627 <operands xsi:type="language_1:And"> 1704 <operands xsi:type="language_1:And">
1628 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1705 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1629 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/> 1706 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1630 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.1"/> 1707 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.1"/>
1631 </operands> 1708 </operands>
1632 </operands> 1709 </operands>
1633 </value> 1710 </value>
1634 </relations> 1711 </relations>
1635 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.37"> 1712 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.39">
1636 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1713 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1637 <variables name="parameter Link"> 1714 <variables name="parameter Link">
1638 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1715 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -1649,33 +1726,33 @@
1649 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1726 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1650 </quantifiedVariables> 1727 </quantifiedVariables>
1651 <expression xsi:type="language_1:And"> 1728 <expression xsi:type="language_1:And">
1652 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1653 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1654 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1655 </operands>
1656 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1729 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1657 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/> 1730 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1658 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1731 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/>
1732 </operands>
1733 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
1734 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1735 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.1"/>
1659 </operands> 1736 </operands>
1660 <operands xsi:type="language_1:InstanceOf"> 1737 <operands xsi:type="language_1:InstanceOf">
1661 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1738 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.1"/>
1662 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1739 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1663 </operands> 1740 </operands>
1664 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1741 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1665 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/> 1742 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/>
1666 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/> 1743 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.2"/>
1667 </operands> 1744 </operands>
1668 <operands xsi:type="language_1:Not"> 1745 <operands xsi:type="language_1:Not">
1669 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26"> 1746 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28">
1670 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1747 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.1"/>
1671 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/> 1748 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.2"/>
1672 </operand> 1749 </operand>
1673 </operands> 1750 </operands>
1674 </expression> 1751 </expression>
1675 </operands> 1752 </operands>
1676 </value> 1753 </value>
1677 </relations> 1754 </relations>
1678 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGain" annotations="//@annotations.38"> 1755 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGain" annotations="//@annotations.40">
1679 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1756 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1680 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1757 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1681 <variables name="parameter Comm"> 1758 <variables name="parameter Comm">
@@ -1686,14 +1763,14 @@
1686 </variables> 1763 </variables>
1687 <value xsi:type="language_1:Or"> 1764 <value xsi:type="language_1:Or">
1688 <operands xsi:type="language_1:And"> 1765 <operands xsi:type="language_1:And">
1689 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1766 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1690 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> 1767 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.0"/>
1691 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.1"/> 1768 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.1"/>
1692 </operands> 1769 </operands>
1693 </operands> 1770 </operands>
1694 </value> 1771 </value>
1695 </relations> 1772 </relations>
1696 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.39"> 1773 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.41">
1697 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1774 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1698 <variables name="parameter Comm"> 1775 <variables name="parameter Comm">
1699 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1776 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1705,23 +1782,23 @@
1705 </quantifiedVariables> 1782 </quantifiedVariables>
1706 <expression xsi:type="language_1:And"> 1783 <expression xsi:type="language_1:And">
1707 <operands xsi:type="language_1:Equals"> 1784 <operands xsi:type="language_1:Equals">
1708 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/> 1785 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1709 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 1786 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
1710 </operands> 1787 </operands>
1711 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1788 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1712 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/> 1789 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1713 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/> 1790 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1714 </operands> 1791 </operands>
1715 <operands xsi:type="language_1:Not"> 1792 <operands xsi:type="language_1:Not">
1716 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28"> 1793 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30">
1717 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/> 1794 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1718 </operand> 1795 </operand>
1719 </operands> 1796 </operands>
1720 </expression> 1797 </expression>
1721 </operands> 1798 </operands>
1722 </value> 1799 </value>
1723 </relations> 1800 </relations>
1724 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainLow" annotations="//@annotations.40"> 1801 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainLow" annotations="//@annotations.42">
1725 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1802 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1726 <variables name="parameter Comm"> 1803 <variables name="parameter Comm">
1727 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1804 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1733,18 +1810,18 @@
1733 </quantifiedVariables> 1810 </quantifiedVariables>
1734 <expression xsi:type="language_1:And"> 1811 <expression xsi:type="language_1:And">
1735 <operands xsi:type="language_1:Equals"> 1812 <operands xsi:type="language_1:Equals">
1736 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.0"/> 1813 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/>
1737 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/> 1814 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/>
1738 </operands> 1815 </operands>
1739 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1816 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1740 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.0"/> 1817 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.0"/>
1741 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.0"/> 1818 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/>
1742 </operands> 1819 </operands>
1743 </expression> 1820 </expression>
1744 </operands> 1821 </operands>
1745 </value> 1822 </value>
1746 </relations> 1823 </relations>
1747 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.41"> 1824 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.43">
1748 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1825 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1749 <variables name="parameter Comm"> 1826 <variables name="parameter Comm">
1750 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1827 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1756,23 +1833,23 @@
1756 </quantifiedVariables> 1833 </quantifiedVariables>
1757 <expression xsi:type="language_1:And"> 1834 <expression xsi:type="language_1:And">
1758 <operands xsi:type="language_1:Equals"> 1835 <operands xsi:type="language_1:Equals">
1759 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/> 1836 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/>
1760 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 1837 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
1761 </operands> 1838 </operands>
1762 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1839 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/> 1840 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/>
1764 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/> 1841 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/>
1765 </operands> 1842 </operands>
1766 <operands xsi:type="language_1:Not"> 1843 <operands xsi:type="language_1:Not">
1767 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30"> 1844 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32">
1768 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/> 1845 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/>
1769 </operand> 1846 </operand>
1770 </operands> 1847 </operands>
1771 </expression> 1848 </expression>
1772 </operands> 1849 </operands>
1773 </value> 1850 </value>
1774 </relations> 1851 </relations>
1775 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainMedium" annotations="//@annotations.42"> 1852 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainMedium" annotations="//@annotations.44">
1776 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1853 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1777 <variables name="parameter Comm"> 1854 <variables name="parameter Comm">
1778 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1855 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1784,18 +1861,18 @@
1784 </quantifiedVariables> 1861 </quantifiedVariables>
1785 <expression xsi:type="language_1:And"> 1862 <expression xsi:type="language_1:And">
1786 <operands xsi:type="language_1:Equals"> 1863 <operands xsi:type="language_1:Equals">
1787 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/> 1864 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/>
1788 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/> 1865 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/>
1789 </operands> 1866 </operands>
1790 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1867 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1791 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.0"/> 1868 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@variables.0"/>
1792 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/> 1869 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/>
1793 </operands> 1870 </operands>
1794 </expression> 1871 </expression>
1795 </operands> 1872 </operands>
1796 </value> 1873 </value>
1797 </relations> 1874 </relations>
1798 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.43"> 1875 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.45">
1799 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1876 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1800 <variables name="parameter Comm"> 1877 <variables name="parameter Comm">
1801 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1878 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1810,26 +1887,26 @@
1810 </quantifiedVariables> 1887 </quantifiedVariables>
1811 <expression xsi:type="language_1:And"> 1888 <expression xsi:type="language_1:And">
1812 <operands xsi:type="language_1:Equals"> 1889 <operands xsi:type="language_1:Equals">
1813 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/> 1890 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/>
1814 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> 1891 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
1815 </operands> 1892 </operands>
1816 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1893 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1817 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/> 1894 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@variables.0"/>
1818 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/> 1895 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/>
1819 </operands> 1896 </operands>
1820 <operands xsi:type="language_1:Equals"> 1897 <operands xsi:type="language_1:Equals">
1821 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.1"/> 1898 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.1"/>
1822 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/> 1899 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/>
1823 </operands> 1900 </operands>
1824 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1901 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1825 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/> 1902 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@variables.0"/>
1826 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.1"/> 1903 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.1"/>
1827 </operands> 1904 </operands>
1828 </expression> 1905 </expression>
1829 </operands> 1906 </operands>
1830 </value> 1907 </value>
1831 </relations> 1908 </relations>
1832 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.44"> 1909 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.46">
1833 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1910 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1834 <variables name="parameter Sat"> 1911 <variables name="parameter Sat">
1835 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1912 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
@@ -1850,48 +1927,48 @@
1850 </quantifiedVariables> 1927 </quantifiedVariables>
1851 <expression xsi:type="language_1:And"> 1928 <expression xsi:type="language_1:And">
1852 <operands xsi:type="language_1:InstanceOf"> 1929 <operands xsi:type="language_1:InstanceOf">
1853 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@variables.0"/> 1930 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@variables.0"/>
1854 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1931 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1855 </operands> 1932 </operands>
1856 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1933 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1857 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@variables.0"/> 1934 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@variables.0"/>
1858 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1935 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.0"/>
1859 </operands> 1936 </operands>
1860 <operands xsi:type="language_1:Not"> 1937 <operands xsi:type="language_1:Not">
1861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33"> 1938 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35">
1862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1939 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.0"/>
1863 </operand> 1940 </operand>
1864 </operands> 1941 </operands>
1865 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1942 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1866 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.1"/> 1943 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.1"/>
1867 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1944 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.0"/>
1868 </operands> 1945 </operands>
1869 <operands xsi:type="language_1:InstanceOf"> 1946 <operands xsi:type="language_1:InstanceOf">
1870 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1947 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.0"/>
1871 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1948 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1872 </operands> 1949 </operands>
1873 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1950 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
1874 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.1"/> 1951 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.1"/>
1875 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/> 1952 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.2"/>
1876 </operands> 1953 </operands>
1877 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1954 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1878 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.3"/> 1955 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.3"/>
1879 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/> 1956 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.2"/>
1880 </operands> 1957 </operands>
1881 <operands xsi:type="language_1:InstanceOf"> 1958 <operands xsi:type="language_1:InstanceOf">
1882 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/> 1959 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.2"/>
1883 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1960 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1884 </operands> 1961 </operands>
1885 <operands xsi:type="language_1:Not"> 1962 <operands xsi:type="language_1:Not">
1886 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34"> 1963 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36">
1887 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.3"/> 1964 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@value/@operands.0/@quantifiedVariables.3"/>
1888 </operand> 1965 </operand>
1889 </operands> 1966 </operands>
1890 </expression> 1967 </expression>
1891 </operands> 1968 </operands>
1892 </value> 1969 </value>
1893 </relations> 1970 </relations>
1894 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.45"> 1971 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.47">
1895 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1972 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1896 <variables name="parameter Comm"> 1973 <variables name="parameter Comm">
1897 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1974 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
@@ -1903,18 +1980,18 @@
1903 </quantifiedVariables> 1980 </quantifiedVariables>
1904 <expression xsi:type="language_1:And"> 1981 <expression xsi:type="language_1:And">
1905 <operands xsi:type="language_1:Equals"> 1982 <operands xsi:type="language_1:Equals">
1906 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/> 1983 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/>
1907 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 1984 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
1908 </operands> 1985 </operands>
1909 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1986 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1910 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@variables.0"/> 1987 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/>
1911 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/> 1988 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/>
1912 </operands> 1989 </operands>
1913 </expression> 1990 </expression>
1914 </operands> 1991 </operands>
1915 </value> 1992 </value>
1916 </relations> 1993 </relations>
1917 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.46"> 1994 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.48">
1918 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1995 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1919 <variables name="parameter Network"> 1996 <variables name="parameter Network">
1920 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1997 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
@@ -1922,13 +1999,13 @@
1922 <value xsi:type="language_1:Or"> 1999 <value xsi:type="language_1:Or">
1923 <operands xsi:type="language_1:And"> 2000 <operands xsi:type="language_1:And">
1924 <operands xsi:type="language_1:InstanceOf"> 2001 <operands xsi:type="language_1:InstanceOf">
1925 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@variables.0"/> 2002 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36/@variables.0"/>
1926 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 2003 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1927 </operands> 2004 </operands>
1928 </operands> 2005 </operands>
1929 </value> 2006 </value>
1930 </relations> 2007 </relations>
1931 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.47"> 2008 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.49">
1932 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 2009 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1933 <variables name="parameter Spacecraft"> 2010 <variables name="parameter Spacecraft">
1934 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 2011 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1943,31 +2020,31 @@
1943 </quantifiedVariables> 2020 </quantifiedVariables>
1944 <expression xsi:type="language_1:And"> 2021 <expression xsi:type="language_1:And">
1945 <operands xsi:type="language_1:InstanceOf"> 2022 <operands xsi:type="language_1:InstanceOf">
1946 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/> 2023 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
1947 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 2024 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1948 </operands> 2025 </operands>
1949 <operands xsi:type="language_1:Equals"> 2026 <operands xsi:type="language_1:Equals">
1950 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/> 2027 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@value/@operands.0/@quantifiedVariables.0"/>
1951 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> 2028 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
1952 </operands> 2029 </operands>
1953 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 2030 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1954 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/> 2031 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
1955 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.1"/> 2032 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@value/@operands.0/@quantifiedVariables.1"/>
1956 </operands> 2033 </operands>
1957 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 2034 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1958 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.1"/> 2035 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@value/@operands.0/@quantifiedVariables.1"/>
1959 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/> 2036 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@value/@operands.0/@quantifiedVariables.0"/>
1960 </operands> 2037 </operands>
1961 <operands xsi:type="language_1:Not"> 2038 <operands xsi:type="language_1:Not">
1962 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36"> 2039 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.38">
1963 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/> 2040 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
1964 </operand> 2041 </operand>
1965 </operands> 2042 </operands>
1966 </expression> 2043 </expression>
1967 </operands> 2044 </operands>
1968 </value> 2045 </value>
1969 </relations> 2046 </relations>
1970 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.48"> 2047 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.50">
1971 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 2048 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
1972 <variables name="parameter Sat"> 2049 <variables name="parameter Sat">
1973 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 2050 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
@@ -1975,13 +2052,13 @@
1975 <value xsi:type="language_1:Or"> 2052 <value xsi:type="language_1:Or">
1976 <operands xsi:type="language_1:And"> 2053 <operands xsi:type="language_1:And">
1977 <operands xsi:type="language_1:InstanceOf"> 2054 <operands xsi:type="language_1:InstanceOf">
1978 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36/@variables.0"/> 2055 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.38/@variables.0"/>
1979 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 2056 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
1980 </operands> 2057 </operands>
1981 </operands> 2058 </operands>
1982 </value> 2059 </value>
1983 </relations> 2060 </relations>
1984 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftOfKind" annotations="//@annotations.49" defines="//@relations.7"> 2061 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftOfKind" annotations="//@annotations.51" defines="//@relations.8">
1985 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 2062 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1986 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 2063 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1987 <variables name="parameter Spacecraft"> 2064 <variables name="parameter Spacecraft">
@@ -1993,31 +2070,31 @@
1993 <value xsi:type="language_1:Or"> 2070 <value xsi:type="language_1:Or">
1994 <operands xsi:type="language_1:And"> 2071 <operands xsi:type="language_1:And">
1995 <operands xsi:type="language_1:InstanceOf"> 2072 <operands xsi:type="language_1:InstanceOf">
1996 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/> 2073 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.0"/>
1997 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 2074 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1998 </operands> 2075 </operands>
1999 <operands xsi:type="language_1:Equals"> 2076 <operands xsi:type="language_1:Equals">
2000 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/> 2077 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.1"/>
2001 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.6"/> 2078 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.6"/>
2002 </operands> 2079 </operands>
2003 </operands> 2080 </operands>
2004 <operands xsi:type="language_1:And"> 2081 <operands xsi:type="language_1:And">
2005 <operands xsi:type="language_1:InstanceOf"> 2082 <operands xsi:type="language_1:InstanceOf">
2006 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/> 2083 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.0"/>
2007 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/> 2084 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
2008 </operands> 2085 </operands>
2009 <operands xsi:type="language_1:Equals"> 2086 <operands xsi:type="language_1:Equals">
2010 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/> 2087 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.1"/>
2011 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.7"/> 2088 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.7"/>
2012 </operands> 2089 </operands>
2013 </operands> 2090 </operands>
2014 <operands xsi:type="language_1:And"> 2091 <operands xsi:type="language_1:And">
2015 <operands xsi:type="language_1:InstanceOf"> 2092 <operands xsi:type="language_1:InstanceOf">
2016 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/> 2093 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.0"/>
2017 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 2094 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
2018 </operands> 2095 </operands>
2019 <operands xsi:type="language_1:Equals"> 2096 <operands xsi:type="language_1:Equals">
2020 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/> 2097 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.39/@variables.1"/>
2021 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.8"/> 2098 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.8"/>
2022 </operands> 2099 </operands>
2023 </operands> 2100 </operands>
@@ -2036,7 +2113,7 @@
2036 <elements name="o 2" definedInType="//@types.20 //@types.22"/> 2113 <elements name="o 2" definedInType="//@types.20 //@types.22"/>
2037 <elements name="o 3" definedInType="//@types.24"/> 2114 <elements name="o 3" definedInType="//@types.24"/>
2038 <elements name="o 4" definedInType="//@types.24"/> 2115 <elements name="o 4" definedInType="//@types.24"/>
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"/> 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"/>
2040 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/> 2117 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/>
2041 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/> 2118 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/>
2042 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/> 2119 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/>
@@ -2045,59 +2122,62 @@
2045 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/> 2122 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/>
2046 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/> 2123 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/>
2047 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/> 2124 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/>
2048 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.8" relation="//@relations.5" lower="1"/> 2125 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.8" relation="//@relations.5" upper="1"/>
2049 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.9" relation="//@relations.5" upper="1"/> 2126 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.9" relation="//@relations.6" lower="1"/>
2050 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.10" relation="//@relations.6" lower="1"/> 2127 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.10" relation="//@relations.6" upper="1"/>
2051 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.11" relation="//@relations.6" upper="1"/> 2128 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.11" relation="//@relations.7" lower="1"/>
2052 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.12" relation="//@relations.7" lower="1"/> 2129 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.12" relation="//@relations.7" upper="1"/>
2053 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.13" relation="//@relations.7" upper="1"/> 2130 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.13" relation="//@relations.8" lower="1"/>
2054 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.14" relation="//@relations.8" lower="1"/> 2131 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.14" relation="//@relations.8" upper="1"/>
2055 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.15" relation="//@relations.8" upper="1"/> 2132 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.15" relation="//@relations.9" lower="1"/>
2056 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.16" relation="//@relations.9" lower="1"/> 2133 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.16" relation="//@relations.9" upper="1"/>
2057 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.17" relation="//@relations.9" upper="1"/> 2134 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.17" relation="//@relations.10" lower="1"/>
2058 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.18" targetRelation="//@relations.0"/> 2135 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.18" relation="//@relations.10" upper="1"/>
2059 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.19" targetRelation="//@relations.2"/> 2136 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.19" targetRelation="//@relations.0"/>
2060 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.20" targetRelation="//@relations.8"/> 2137 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.20" targetRelation="//@relations.2"/>
2061 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.21" targetRelation="//@relations.9"/> 2138 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.21" targetRelation="//@relations.9"/>
2062 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> 2139 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.22" targetRelation="//@relations.10"/>
2063 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 2140 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks"/>
2064 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/> 2141 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement"/>
2065 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/> 2142 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
2066 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> 2143 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/>
2067 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> 2144 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/>
2068 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/> 2145 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
2069 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/> 2146 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
2070 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/> 2147 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/>
2071 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/> 2148 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/>
2072 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/> 2149 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/>
2073 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/> 2150 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/>
2074 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/> 2151 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
2075 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/> 2152 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/>
2076 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBand"/> 2153 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/>
2077 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain"/> 2154 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
2078 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGain"/> 2155 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBand"/>
2079 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow"/> 2156 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain"/>
2080 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.28" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainLow"/> 2157 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.28" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGain"/>
2081 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.29" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium"/> 2158 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.29" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow"/>
2082 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.30" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainMedium"/> 2159 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.30" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainLow"/>
2083 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.31" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow"/> 2160 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.31" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium"/>
2084 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.32" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/> 2161 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.32" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainMedium"/>
2085 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.33" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/> 2162 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.33" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow"/>
2086 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.34" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/> 2163 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.34" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
2087 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.35" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/> 2164 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.35" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/>
2088 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.36" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/> 2165 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.36" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/>
2089 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.37" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/> 2166 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.37" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
2090 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.22" query="//@annotations.22"/> 2167 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.38" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
2168 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.39" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/>
2091 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.23" query="//@annotations.23"/> 2169 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.23" query="//@annotations.23"/>
2092 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.24" query="//@annotations.26"/> 2170 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.24" query="//@annotations.25"/>
2093 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.25" query="//@annotations.27"/> 2171 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.25" query="//@annotations.28"/>
2094 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.26" query="//@annotations.32"/> 2172 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.26" query="//@annotations.29"/>
2095 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.27" query="//@annotations.35"/> 2173 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.27" query="//@annotations.34"/>
2096 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.28" query="//@annotations.37"/> 2174 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.28" query="//@annotations.37"/>
2097 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.29" query="//@annotations.39"/> 2175 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.29" query="//@annotations.39"/>
2098 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.30" query="//@annotations.41"/> 2176 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.30" query="//@annotations.41"/>
2099 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.31" query="//@annotations.43"/> 2177 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.31" query="//@annotations.43"/>
2100 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.32" query="//@annotations.44"/> 2178 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.32" query="//@annotations.45"/>
2101 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.33" query="//@annotations.47"/> 2179 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.33" query="//@annotations.46"/>
2102 <annotations xsi:type="viatra2logicannotations:DefinedByDerivedFeature" target="//@relations.7" query="//@annotations.49"/> 2180 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.34" 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"/>
2103</language:LogicProblem> 2183</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 6589a3ca..f7827e03 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="16" maxNewElements="32"> 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">
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,6 +55,11 @@
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"/>
58 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink"> 63 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
59 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/> 64 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/>
60 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/> 65 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/>
@@ -63,11 +68,11 @@
63 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/> 68 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/>
64 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/> 69 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/>
65 </relationlinks> 70 </relationlinks>
66 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.8/@parameters.0"/> 71 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.0"/>
67 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.8/@parameters.1"/> 72 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.1"/>
68 </partialrelationinterpretation> 73 </partialrelationinterpretation>
69 <partialrelationinterpretation> 74 <partialrelationinterpretation>
70 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.9"/> 75 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.10"/>
71 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink"> 76 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
72 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/> 77 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/>
73 <param2 href="outputs/debug/generation.logicproblem#//@elements.4"/> 78 <param2 href="outputs/debug/generation.logicproblem#//@elements.4"/>
@@ -76,8 +81,8 @@
76 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/> 81 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/>
77 <param2 href="outputs/debug/generation.logicproblem#//@elements.5"/> 82 <param2 href="outputs/debug/generation.logicproblem#//@elements.5"/>
78 </relationlinks> 83 </relationlinks>
79 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.0"/> 84 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.10/@parameters.0"/>
80 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.1"/> 85 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.10/@parameters.1"/>
81 </partialrelationinterpretation> 86 </partialrelationinterpretation>
82 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/> 87 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
83 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/> 88 <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 5d75b948..d019e891 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
@@ -1,15 +1,19 @@
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>
6 <extension point="org.eclipse.emf.ecore.generated_package"> 3 <extension point="org.eclipse.emf.ecore.generated_package">
7 <!-- @generated satellite --> 4 <!-- @generated satellite -->
8 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/> 5 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/>
9 </extension> 6 </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>
10 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification"> 13 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
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"> 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">
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> 15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> 18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> 19 <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 6f361334..4354da2c 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,3 +23,5 @@
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/CommunicationLinkOfElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java
new file mode 100644
index 00000000..1327c6bf
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java
@@ -0,0 +1,705 @@
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 f5835baf..ede57df8 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,7 +3,6 @@
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;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -39,6 +38,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 40import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement) parameters[0]); 475 return CommunicationLoop.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 507 private final PParameter parameter_Element = new PParameter("Element", "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 ba69943a..b73cb23f 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,7 +3,6 @@
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.queries.SmallSat; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -44,6 +43,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 45import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]); 480 return CubeSatWithKaAntenna.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 512 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "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 4cacc34b..f2713f45 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,7 +3,6 @@
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;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -43,6 +42,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 44import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]); 483 return IncompatibleSourceAndTargetBand.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); 515 private final PParameter parameter_Link = new PParameter("Link", "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 3f247613..33a4b067 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,7 +3,6 @@
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;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -43,6 +42,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 44import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]); 479 return IncompatibleSourceAndTargetGain.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); 511 private final PParameter parameter_Link = new PParameter("Link", "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 18f6c32f..37c35bfe 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,7 +3,6 @@
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;
7import java.util.Arrays; 6import java.util.Arrays;
8import java.util.Collection; 7import java.util.Collection;
9import java.util.LinkedHashSet; 8import java.util.LinkedHashSet;
@@ -42,6 +41,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 43import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]); 478 return KaAntennaGainLow.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 510 private final PParameter parameter_Comm = new PParameter("Comm", "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/CommunicationLinkDoesNotStartAtContainingElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/MultipleCommunicationLinks.java
index dde3c20f..ad82ead9 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/MultipleCommunicationLinks.java
@@ -3,7 +3,6 @@
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;
7import java.util.Arrays; 6import java.util.Arrays;
8import java.util.Collection; 7import java.util.Collection;
9import java.util.LinkedHashSet; 8import java.util.LinkedHashSet;
@@ -40,19 +39,19 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 41import 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 = {Link}, 49 * {@literal @}Constraint(severity = "error", key = {Element},
50 * message = "Communication links must start from the containing element.") 50 * message = "Only one communication link is allowed per element.")
51 * pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) { 51 * pattern multipleCommunicationLinks(Element : CommunicatingElement) {
52 * CommunicatingElement.communicationLink(Element, Link); 52 * CommunicatingElement.commSubsystem.communicationLink(Element, Link1);
53 * DirectedCommunicationLink.source(Link, SourceComm); 53 * CommunicatingElement.commSubsystem.communicationLink(Element, Link2);
54 * CommunicatingElement.commSubsystem(SourceElement, SourceComm); 54 * Link1 != Link2;
55 * Element != SourceElement;
56 * } 55 * }
57 * </pre></code> 56 * </pre></code>
58 * 57 *
@@ -61,9 +60,9 @@ import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
61 * 60 *
62 */ 61 */
63@SuppressWarnings("all") 62@SuppressWarnings("all")
64public final class CommunicationLinkDoesNotStartAtContainingElement extends BaseGeneratedEMFQuerySpecification<CommunicationLinkDoesNotStartAtContainingElement.Matcher> { 63public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpecification<MultipleCommunicationLinks.Matcher> {
65 /** 64 /**
66 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern, 65 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks pattern,
67 * to be used in conjunction with {@link Matcher}. 66 * to be used in conjunction with {@link Matcher}.
68 * 67 *
69 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. 68 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
@@ -75,69 +74,69 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
75 * 74 *
76 */ 75 */
77 public static abstract class Match extends BasePatternMatch { 76 public static abstract class Match extends BasePatternMatch {
78 private DirectedCommunicationLink fLink; 77 private CommunicatingElement fElement;
79 78
80 private static List<String> parameterNames = makeImmutableList("Link"); 79 private static List<String> parameterNames = makeImmutableList("Element");
81 80
82 private Match(final DirectedCommunicationLink pLink) { 81 private Match(final CommunicatingElement pElement) {
83 this.fLink = pLink; 82 this.fElement = pElement;
84 } 83 }
85 84
86 @Override 85 @Override
87 public Object get(final String parameterName) { 86 public Object get(final String parameterName) {
88 if ("Link".equals(parameterName)) return this.fLink; 87 if ("Element".equals(parameterName)) return this.fElement;
89 return null; 88 return null;
90 } 89 }
91 90
92 public DirectedCommunicationLink getLink() { 91 public CommunicatingElement getElement() {
93 return this.fLink; 92 return this.fElement;
94 } 93 }
95 94
96 @Override 95 @Override
97 public boolean set(final String parameterName, final Object newValue) { 96 public boolean set(final String parameterName, final Object newValue) {
98 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 97 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
99 if ("Link".equals(parameterName) ) { 98 if ("Element".equals(parameterName) ) {
100 this.fLink = (DirectedCommunicationLink) newValue; 99 this.fElement = (CommunicatingElement) newValue;
101 return true; 100 return true;
102 } 101 }
103 return false; 102 return false;
104 } 103 }
105 104
106 public void setLink(final DirectedCommunicationLink pLink) { 105 public void setElement(final CommunicatingElement pElement) {
107 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 106 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
108 this.fLink = pLink; 107 this.fElement = pElement;
109 } 108 }
110 109
111 @Override 110 @Override
112 public String patternName() { 111 public String patternName() {
113 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"; 112 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks";
114 } 113 }
115 114
116 @Override 115 @Override
117 public List<String> parameterNames() { 116 public List<String> parameterNames() {
118 return CommunicationLinkDoesNotStartAtContainingElement.Match.parameterNames; 117 return MultipleCommunicationLinks.Match.parameterNames;
119 } 118 }
120 119
121 @Override 120 @Override
122 public Object[] toArray() { 121 public Object[] toArray() {
123 return new Object[]{fLink}; 122 return new Object[]{fElement};
124 } 123 }
125 124
126 @Override 125 @Override
127 public CommunicationLinkDoesNotStartAtContainingElement.Match toImmutable() { 126 public MultipleCommunicationLinks.Match toImmutable() {
128 return isMutable() ? newMatch(fLink) : this; 127 return isMutable() ? newMatch(fElement) : this;
129 } 128 }
130 129
131 @Override 130 @Override
132 public String prettyPrint() { 131 public String prettyPrint() {
133 StringBuilder result = new StringBuilder(); 132 StringBuilder result = new StringBuilder();
134 result.append("\"Link\"=" + prettyPrintValue(fLink)); 133 result.append("\"Element\"=" + prettyPrintValue(fElement));
135 return result.toString(); 134 return result.toString();
136 } 135 }
137 136
138 @Override 137 @Override
139 public int hashCode() { 138 public int hashCode() {
140 return Objects.hash(fLink); 139 return Objects.hash(fElement);
141 } 140 }
142 141
143 @Override 142 @Override
@@ -147,9 +146,9 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
147 if (obj == null) { 146 if (obj == null) {
148 return false; 147 return false;
149 } 148 }
150 if ((obj instanceof CommunicationLinkDoesNotStartAtContainingElement.Match)) { 149 if ((obj instanceof MultipleCommunicationLinks.Match)) {
151 CommunicationLinkDoesNotStartAtContainingElement.Match other = (CommunicationLinkDoesNotStartAtContainingElement.Match) obj; 150 MultipleCommunicationLinks.Match other = (MultipleCommunicationLinks.Match) obj;
152 return Objects.equals(fLink, other.fLink); 151 return Objects.equals(fElement, other.fElement);
153 } else { 152 } else {
154 // this should be infrequent 153 // this should be infrequent
155 if (!(obj instanceof IPatternMatch)) { 154 if (!(obj instanceof IPatternMatch)) {
@@ -161,8 +160,8 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
161 } 160 }
162 161
163 @Override 162 @Override
164 public CommunicationLinkDoesNotStartAtContainingElement specification() { 163 public MultipleCommunicationLinks specification() {
165 return CommunicationLinkDoesNotStartAtContainingElement.instance(); 164 return MultipleCommunicationLinks.instance();
166 } 165 }
167 166
168 /** 167 /**
@@ -172,7 +171,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
172 * @return the empty match. 171 * @return the empty match.
173 * 172 *
174 */ 173 */
175 public static CommunicationLinkDoesNotStartAtContainingElement.Match newEmptyMatch() { 174 public static MultipleCommunicationLinks.Match newEmptyMatch() {
176 return new Mutable(null); 175 return new Mutable(null);
177 } 176 }
178 177
@@ -180,29 +179,29 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
180 * Returns a mutable (partial) match. 179 * Returns a mutable (partial) match.
181 * Fields of the mutable match can be filled to create a partial match, usable as matcher input. 180 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
182 * 181 *
183 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 182 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
184 * @return the new, mutable (partial) match object. 183 * @return the new, mutable (partial) match object.
185 * 184 *
186 */ 185 */
187 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMutableMatch(final DirectedCommunicationLink pLink) { 186 public static MultipleCommunicationLinks.Match newMutableMatch(final CommunicatingElement pElement) {
188 return new Mutable(pLink); 187 return new Mutable(pElement);
189 } 188 }
190 189
191 /** 190 /**
192 * Returns a new (partial) match. 191 * Returns a new (partial) match.
193 * This can be used e.g. to call the matcher with a partial match. 192 * This can be used e.g. to call the matcher with a partial match.
194 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 193 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
195 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 194 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
196 * @return the (partial) match object. 195 * @return the (partial) match object.
197 * 196 *
198 */ 197 */
199 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final DirectedCommunicationLink pLink) { 198 public static MultipleCommunicationLinks.Match newMatch(final CommunicatingElement pElement) {
200 return new Immutable(pLink); 199 return new Immutable(pElement);
201 } 200 }
202 201
203 private static final class Mutable extends CommunicationLinkDoesNotStartAtContainingElement.Match { 202 private static final class Mutable extends MultipleCommunicationLinks.Match {
204 Mutable(final DirectedCommunicationLink pLink) { 203 Mutable(final CommunicatingElement pElement) {
205 super(pLink); 204 super(pElement);
206 } 205 }
207 206
208 @Override 207 @Override
@@ -211,9 +210,9 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
211 } 210 }
212 } 211 }
213 212
214 private static final class Immutable extends CommunicationLinkDoesNotStartAtContainingElement.Match { 213 private static final class Immutable extends MultipleCommunicationLinks.Match {
215 Immutable(final DirectedCommunicationLink pLink) { 214 Immutable(final CommunicatingElement pElement) {
216 super(pLink); 215 super(pElement);
217 } 216 }
218 217
219 @Override 218 @Override
@@ -224,7 +223,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
224 } 223 }
225 224
226 /** 225 /**
227 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern, 226 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks pattern,
228 * providing pattern-specific query methods. 227 * providing pattern-specific query methods.
229 * 228 *
230 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, 229 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
@@ -234,21 +233,20 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
234 * 233 *
235 * <p>Original source: 234 * <p>Original source:
236 * <code><pre> 235 * <code><pre>
237 * {@literal @}Constraint(severity = "error", key = {Link}, 236 * {@literal @}Constraint(severity = "error", key = {Element},
238 * message = "Communication links must start from the containing element.") 237 * message = "Only one communication link is allowed per element.")
239 * pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) { 238 * pattern multipleCommunicationLinks(Element : CommunicatingElement) {
240 * CommunicatingElement.communicationLink(Element, Link); 239 * CommunicatingElement.commSubsystem.communicationLink(Element, Link1);
241 * DirectedCommunicationLink.source(Link, SourceComm); 240 * CommunicatingElement.commSubsystem.communicationLink(Element, Link2);
242 * CommunicatingElement.commSubsystem(SourceElement, SourceComm); 241 * Link1 != Link2;
243 * Element != SourceElement;
244 * } 242 * }
245 * </pre></code> 243 * </pre></code>
246 * 244 *
247 * @see Match 245 * @see Match
248 * @see CommunicationLinkDoesNotStartAtContainingElement 246 * @see MultipleCommunicationLinks
249 * 247 *
250 */ 248 */
251 public static class Matcher extends BaseMatcher<CommunicationLinkDoesNotStartAtContainingElement.Match> { 249 public static class Matcher extends BaseMatcher<MultipleCommunicationLinks.Match> {
252 /** 250 /**
253 * Initializes the pattern matcher within an existing VIATRA Query engine. 251 * Initializes the pattern matcher within an existing VIATRA Query engine.
254 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. 252 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
@@ -257,7 +255,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
257 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation 255 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
258 * 256 *
259 */ 257 */
260 public static CommunicationLinkDoesNotStartAtContainingElement.Matcher on(final ViatraQueryEngine engine) { 258 public static MultipleCommunicationLinks.Matcher on(final ViatraQueryEngine engine) {
261 // check if matcher already exists 259 // check if matcher already exists
262 Matcher matcher = engine.getExistingMatcher(querySpecification()); 260 Matcher matcher = engine.getExistingMatcher(querySpecification());
263 if (matcher == null) { 261 if (matcher == null) {
@@ -272,13 +270,13 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
272 * @noreference This method is for internal matcher initialization by the framework, do not call it manually. 270 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
273 * 271 *
274 */ 272 */
275 public static CommunicationLinkDoesNotStartAtContainingElement.Matcher create() { 273 public static MultipleCommunicationLinks.Matcher create() {
276 return new Matcher(); 274 return new Matcher();
277 } 275 }
278 276
279 private static final int POSITION_LINK = 0; 277 private static final int POSITION_ELEMENT = 0;
280 278
281 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkDoesNotStartAtContainingElement.Matcher.class); 279 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(MultipleCommunicationLinks.Matcher.class);
282 280
283 /** 281 /**
284 * Initializes the pattern matcher within an existing VIATRA Query engine. 282 * Initializes the pattern matcher within an existing VIATRA Query engine.
@@ -294,12 +292,12 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
294 292
295 /** 293 /**
296 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. 294 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
297 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 295 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
298 * @return matches represented as a Match object. 296 * @return matches represented as a Match object.
299 * 297 *
300 */ 298 */
301 public Collection<CommunicationLinkDoesNotStartAtContainingElement.Match> getAllMatches(final DirectedCommunicationLink pLink) { 299 public Collection<MultipleCommunicationLinks.Match> getAllMatches(final CommunicatingElement pElement) {
302 return rawStreamAllMatches(new Object[]{pLink}).collect(Collectors.toSet()); 300 return rawStreamAllMatches(new Object[]{pElement}).collect(Collectors.toSet());
303 } 301 }
304 302
305 /** 303 /**
@@ -308,101 +306,101 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
308 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. 306 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
309 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. 307 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
310 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. 308 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
311 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 309 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
312 * @return a stream of matches represented as a Match object. 310 * @return a stream of matches represented as a Match object.
313 * 311 *
314 */ 312 */
315 public Stream<CommunicationLinkDoesNotStartAtContainingElement.Match> streamAllMatches(final DirectedCommunicationLink pLink) { 313 public Stream<MultipleCommunicationLinks.Match> streamAllMatches(final CommunicatingElement pElement) {
316 return rawStreamAllMatches(new Object[]{pLink}); 314 return rawStreamAllMatches(new Object[]{pElement});
317 } 315 }
318 316
319 /** 317 /**
320 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 318 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
321 * Neither determinism nor randomness of selection is guaranteed. 319 * Neither determinism nor randomness of selection is guaranteed.
322 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 320 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
323 * @return a match represented as a Match object, or null if no match is found. 321 * @return a match represented as a Match object, or null if no match is found.
324 * 322 *
325 */ 323 */
326 public Optional<CommunicationLinkDoesNotStartAtContainingElement.Match> getOneArbitraryMatch(final DirectedCommunicationLink pLink) { 324 public Optional<MultipleCommunicationLinks.Match> getOneArbitraryMatch(final CommunicatingElement pElement) {
327 return rawGetOneArbitraryMatch(new Object[]{pLink}); 325 return rawGetOneArbitraryMatch(new Object[]{pElement});
328 } 326 }
329 327
330 /** 328 /**
331 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, 329 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
332 * under any possible substitution of the unspecified parameters (if any). 330 * under any possible substitution of the unspecified parameters (if any).
333 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 331 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
334 * @return true if the input is a valid (partial) match of the pattern. 332 * @return true if the input is a valid (partial) match of the pattern.
335 * 333 *
336 */ 334 */
337 public boolean hasMatch(final DirectedCommunicationLink pLink) { 335 public boolean hasMatch(final CommunicatingElement pElement) {
338 return rawHasMatch(new Object[]{pLink}); 336 return rawHasMatch(new Object[]{pElement});
339 } 337 }
340 338
341 /** 339 /**
342 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. 340 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
343 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 341 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
344 * @return the number of pattern matches found. 342 * @return the number of pattern matches found.
345 * 343 *
346 */ 344 */
347 public int countMatches(final DirectedCommunicationLink pLink) { 345 public int countMatches(final CommunicatingElement pElement) {
348 return rawCountMatches(new Object[]{pLink}); 346 return rawCountMatches(new Object[]{pElement});
349 } 347 }
350 348
351 /** 349 /**
352 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 350 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
353 * Neither determinism nor randomness of selection is guaranteed. 351 * Neither determinism nor randomness of selection is guaranteed.
354 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 352 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
355 * @param processor the action that will process the selected match. 353 * @param processor the action that will process the selected match.
356 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 354 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
357 * 355 *
358 */ 356 */
359 public boolean forOneArbitraryMatch(final DirectedCommunicationLink pLink, final Consumer<? super CommunicationLinkDoesNotStartAtContainingElement.Match> processor) { 357 public boolean forOneArbitraryMatch(final CommunicatingElement pElement, final Consumer<? super MultipleCommunicationLinks.Match> processor) {
360 return rawForOneArbitraryMatch(new Object[]{pLink}, processor); 358 return rawForOneArbitraryMatch(new Object[]{pElement}, processor);
361 } 359 }
362 360
363 /** 361 /**
364 * Returns a new (partial) match. 362 * Returns a new (partial) match.
365 * This can be used e.g. to call the matcher with a partial match. 363 * This can be used e.g. to call the matcher with a partial match.
366 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 364 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
367 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 365 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
368 * @return the (partial) match object. 366 * @return the (partial) match object.
369 * 367 *
370 */ 368 */
371 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final DirectedCommunicationLink pLink) { 369 public MultipleCommunicationLinks.Match newMatch(final CommunicatingElement pElement) {
372 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch(pLink); 370 return MultipleCommunicationLinks.Match.newMatch(pElement);
373 } 371 }
374 372
375 /** 373 /**
376 * Retrieve the set of values that occur in matches for Link. 374 * Retrieve the set of values that occur in matches for Element.
377 * @return the Set of all values or empty set if there are no matches 375 * @return the Set of all values or empty set if there are no matches
378 * 376 *
379 */ 377 */
380 protected Stream<DirectedCommunicationLink> rawStreamAllValuesOfLink(final Object[] parameters) { 378 protected Stream<CommunicatingElement> rawStreamAllValuesOfElement(final Object[] parameters) {
381 return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast); 379 return rawStreamAllValues(POSITION_ELEMENT, parameters).map(CommunicatingElement.class::cast);
382 } 380 }
383 381
384 /** 382 /**
385 * Retrieve the set of values that occur in matches for Link. 383 * Retrieve the set of values that occur in matches for Element.
386 * @return the Set of all values or empty set if there are no matches 384 * @return the Set of all values or empty set if there are no matches
387 * 385 *
388 */ 386 */
389 public Set<DirectedCommunicationLink> getAllValuesOfLink() { 387 public Set<CommunicatingElement> getAllValuesOfElement() {
390 return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet()); 388 return rawStreamAllValuesOfElement(emptyArray()).collect(Collectors.toSet());
391 } 389 }
392 390
393 /** 391 /**
394 * Retrieve the set of values that occur in matches for Link. 392 * Retrieve the set of values that occur in matches for Element.
395 * @return the Set of all values or empty set if there are no matches 393 * @return the Set of all values or empty set if there are no matches
396 * 394 *
397 */ 395 */
398 public Stream<DirectedCommunicationLink> streamAllValuesOfLink() { 396 public Stream<CommunicatingElement> streamAllValuesOfElement() {
399 return rawStreamAllValuesOfLink(emptyArray()); 397 return rawStreamAllValuesOfElement(emptyArray());
400 } 398 }
401 399
402 @Override 400 @Override
403 protected CommunicationLinkDoesNotStartAtContainingElement.Match tupleToMatch(final Tuple t) { 401 protected MultipleCommunicationLinks.Match tupleToMatch(final Tuple t) {
404 try { 402 try {
405 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((DirectedCommunicationLink) t.get(POSITION_LINK)); 403 return MultipleCommunicationLinks.Match.newMatch((CommunicatingElement) t.get(POSITION_ELEMENT));
406 } catch(ClassCastException e) { 404 } catch(ClassCastException e) {
407 LOGGER.error("Element(s) in tuple not properly typed!",e); 405 LOGGER.error("Element(s) in tuple not properly typed!",e);
408 return null; 406 return null;
@@ -410,9 +408,9 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
410 } 408 }
411 409
412 @Override 410 @Override
413 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatch(final Object[] match) { 411 protected MultipleCommunicationLinks.Match arrayToMatch(final Object[] match) {
414 try { 412 try {
415 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((DirectedCommunicationLink) match[POSITION_LINK]); 413 return MultipleCommunicationLinks.Match.newMatch((CommunicatingElement) match[POSITION_ELEMENT]);
416 } catch(ClassCastException e) { 414 } catch(ClassCastException e) {
417 LOGGER.error("Element(s) in array not properly typed!",e); 415 LOGGER.error("Element(s) in array not properly typed!",e);
418 return null; 416 return null;
@@ -420,9 +418,9 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
420 } 418 }
421 419
422 @Override 420 @Override
423 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatchMutable(final Object[] match) { 421 protected MultipleCommunicationLinks.Match arrayToMatchMutable(final Object[] match) {
424 try { 422 try {
425 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMutableMatch((DirectedCommunicationLink) match[POSITION_LINK]); 423 return MultipleCommunicationLinks.Match.newMutableMatch((CommunicatingElement) match[POSITION_ELEMENT]);
426 } catch(ClassCastException e) { 424 } catch(ClassCastException e) {
427 LOGGER.error("Element(s) in array not properly typed!",e); 425 LOGGER.error("Element(s) in array not properly typed!",e);
428 return null; 426 return null;
@@ -434,12 +432,12 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
434 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
435 * 433 *
436 */ 434 */
437 public static IQuerySpecification<CommunicationLinkDoesNotStartAtContainingElement.Matcher> querySpecification() { 435 public static IQuerySpecification<MultipleCommunicationLinks.Matcher> querySpecification() {
438 return CommunicationLinkDoesNotStartAtContainingElement.instance(); 436 return MultipleCommunicationLinks.instance();
439 } 437 }
440 } 438 }
441 439
442 private CommunicationLinkDoesNotStartAtContainingElement() { 440 private MultipleCommunicationLinks() {
443 super(GeneratedPQuery.INSTANCE); 441 super(GeneratedPQuery.INSTANCE);
444 } 442 }
445 443
@@ -448,7 +446,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
448 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 446 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
449 * 447 *
450 */ 448 */
451 public static CommunicationLinkDoesNotStartAtContainingElement instance() { 449 public static MultipleCommunicationLinks instance() {
452 try{ 450 try{
453 return LazyHolder.INSTANCE; 451 return LazyHolder.INSTANCE;
454 } catch (ExceptionInInitializerError err) { 452 } catch (ExceptionInInitializerError err) {
@@ -457,35 +455,35 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
457 } 455 }
458 456
459 @Override 457 @Override
460 protected CommunicationLinkDoesNotStartAtContainingElement.Matcher instantiate(final ViatraQueryEngine engine) { 458 protected MultipleCommunicationLinks.Matcher instantiate(final ViatraQueryEngine engine) {
461 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine); 459 return MultipleCommunicationLinks.Matcher.on(engine);
462 } 460 }
463 461
464 @Override 462 @Override
465 public CommunicationLinkDoesNotStartAtContainingElement.Matcher instantiate() { 463 public MultipleCommunicationLinks.Matcher instantiate() {
466 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.create(); 464 return MultipleCommunicationLinks.Matcher.create();
467 } 465 }
468 466
469 @Override 467 @Override
470 public CommunicationLinkDoesNotStartAtContainingElement.Match newEmptyMatch() { 468 public MultipleCommunicationLinks.Match newEmptyMatch() {
471 return CommunicationLinkDoesNotStartAtContainingElement.Match.newEmptyMatch(); 469 return MultipleCommunicationLinks.Match.newEmptyMatch();
472 } 470 }
473 471
474 @Override 472 @Override
475 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final Object... parameters) { 473 public MultipleCommunicationLinks.Match newMatch(final Object... parameters) {
476 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]); 474 return MultipleCommunicationLinks.Match.newMatch((satellite.CommunicatingElement) parameters[0]);
477 } 475 }
478 476
479 /** 477 /**
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 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
481 * <b>not</b> at the class load time of the outer class, 479 * <b>not</b> at the class load time of the outer class,
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()}. 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()}.
483 * 481 *
484 * <p> This workaround is required e.g. to support recursion. 482 * <p> This workaround is required e.g. to support recursion.
485 * 483 *
486 */ 484 */
487 private static class LazyHolder { 485 private static class LazyHolder {
488 private static final CommunicationLinkDoesNotStartAtContainingElement INSTANCE = new CommunicationLinkDoesNotStartAtContainingElement(); 486 private static final MultipleCommunicationLinks INSTANCE = new MultipleCommunicationLinks();
489 487
490 /** 488 /**
491 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. 489 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
@@ -503,11 +501,11 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
503 } 501 }
504 502
505 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 503 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
506 private static final CommunicationLinkDoesNotStartAtContainingElement.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 504 private static final MultipleCommunicationLinks.GeneratedPQuery INSTANCE = new GeneratedPQuery();
507 505
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); 506 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
509 507
510 private final List<PParameter> parameters = Arrays.asList(parameter_Link); 508 private final List<PParameter> parameters = Arrays.asList(parameter_Element);
511 509
512 private GeneratedPQuery() { 510 private GeneratedPQuery() {
513 super(PVisibility.PUBLIC); 511 super(PVisibility.PUBLIC);
@@ -515,12 +513,12 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
515 513
516 @Override 514 @Override
517 public String getFullyQualifiedName() { 515 public String getFullyQualifiedName() {
518 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"; 516 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks";
519 } 517 }
520 518
521 @Override 519 @Override
522 public List<String> getParameterNames() { 520 public List<String> getParameterNames() {
523 return Arrays.asList("Link"); 521 return Arrays.asList("Element");
524 } 522 }
525 523
526 @Override 524 @Override
@@ -534,43 +532,42 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
534 Set<PBody> bodies = new LinkedHashSet<>(); 532 Set<PBody> bodies = new LinkedHashSet<>();
535 { 533 {
536 PBody body = new PBody(this); 534 PBody body = new PBody(this);
537 PVariable var_Link = body.getOrCreateVariableByName("Link");
538 PVariable var_Element = body.getOrCreateVariableByName("Element"); 535 PVariable var_Element = body.getOrCreateVariableByName("Element");
539 PVariable var_SourceComm = body.getOrCreateVariableByName("SourceComm"); 536 PVariable var_Link1 = body.getOrCreateVariableByName("Link1");
540 PVariable var_SourceElement = body.getOrCreateVariableByName("SourceElement"); 537 PVariable var_Link2 = body.getOrCreateVariableByName("Link2");
541 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 538 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
542 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 539 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
543 new ExportedParameter(body, var_Link, parameter_Link) 540 new ExportedParameter(body, var_Element, parameter_Element)
544 )); 541 ));
545 // CommunicatingElement.communicationLink(Element, Link) 542 // CommunicatingElement.commSubsystem.communicationLink(Element, Link1)
546 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 543 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
547 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 544 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
548 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "communicationLink"))); 545 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
549 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 546 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
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")));
553 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); 547 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
554 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source"))); 548 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "communicationLink")));
555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 549 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
556 new Equality(body, var__virtual_1_, var_SourceComm); 550 new Equality(body, var__virtual_1_, var_Link1);
557 // CommunicatingElement.commSubsystem(SourceElement, SourceComm) 551 // CommunicatingElement.commSubsystem.communicationLink(Element, Link2)
558 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceElement), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 552 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
559 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); 553 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
560 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceElement, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 554 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
561 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
562 new Equality(body, var__virtual_2_, var_SourceComm); 556 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}");
563 // Element != SourceElement 557 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "communicationLink")));
564 new Inequality(body, var_Element, var_SourceElement); 558 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
559 new Equality(body, var__virtual_3_, var_Link2);
560 // Link1 != Link2
561 new Inequality(body, var_Link1, var_Link2);
565 bodies.add(body); 562 bodies.add(body);
566 } 563 }
567 { 564 {
568 PAnnotation annotation = new PAnnotation("Constraint"); 565 PAnnotation annotation = new PAnnotation("Constraint");
569 annotation.addAttribute("severity", "error"); 566 annotation.addAttribute("severity", "error");
570 annotation.addAttribute("key", Arrays.asList(new Object[] { 567 annotation.addAttribute("key", Arrays.asList(new Object[] {
571 new ParameterReference("Link") 568 new ParameterReference("Element")
572 })); 569 }));
573 annotation.addAttribute("message", "Communication links must start from the containing element."); 570 annotation.addAttribute("message", "Only one communication link is allowed per element.");
574 addAnnotation(annotation); 571 addAnnotation(annotation);
575 } 572 }
576 return bodies; 573 return bodies;
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 598f3a6b..45952f33 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,7 +3,6 @@
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.queries.internal.IndirectCommunicationLink; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -41,6 +40,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 42import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]); 479 return NoLinkToGroundStation.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 511 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "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 1e8f8502..3366de46 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,7 +3,6 @@
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.queries.internal.IndirectLinkAllowed; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -41,6 +40,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 42import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]); 475 return NoPotentialLinkToGroundStation.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 507 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "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 d75dea5f..bdd97100 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,7 +3,6 @@
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;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -39,6 +38,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 40import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission) parameters[0]); 475 return NotEnoughInterferometryPayloads.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); 507 private final PParameter parameter_Mission = new PParameter("Mission", "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 c86761ce..d7378783 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,12 +3,13 @@
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.CommunicationLinkDoesNotStartAtContainingElement; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement;
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;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; 13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; 14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; 15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads;
@@ -28,7 +29,8 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
28 * in order to achieve better performance than one-by-one on-demand matcher initialization. 29 * in order to achieve better performance than one-by-one on-demand matcher initialization.
29 * 30 *
30 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> 31 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul>
31 * <li>communicationLinkDoesNotStartAtContainingElement</li> 32 * <li>multipleCommunicationLinks</li>
33 * <li>communicationLinkOfElement</li>
32 * <li>notEnoughInterferometryPayloads</li> 34 * <li>notEnoughInterferometryPayloads</li>
33 * <li>noLinkToGroundStation</li> 35 * <li>noLinkToGroundStation</li>
34 * <li>noPotentialLinkToGroundStation</li> 36 * <li>noPotentialLinkToGroundStation</li>
@@ -66,7 +68,8 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
66 private static SatelliteQueries INSTANCE; 68 private static SatelliteQueries INSTANCE;
67 69
68 private SatelliteQueries() { 70 private SatelliteQueries() {
69 querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance()); 71 querySpecifications.add(MultipleCommunicationLinks.instance());
72 querySpecifications.add(CommunicationLinkOfElement.instance());
70 querySpecifications.add(NotEnoughInterferometryPayloads.instance()); 73 querySpecifications.add(NotEnoughInterferometryPayloads.instance());
71 querySpecifications.add(NoLinkToGroundStation.instance()); 74 querySpecifications.add(NoLinkToGroundStation.instance());
72 querySpecifications.add(NoPotentialLinkToGroundStation.instance()); 75 querySpecifications.add(NoPotentialLinkToGroundStation.instance());
@@ -82,12 +85,20 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
82 querySpecifications.add(SpacecraftOfKind.instance()); 85 querySpecifications.add(SpacecraftOfKind.instance());
83 } 86 }
84 87
85 public CommunicationLinkDoesNotStartAtContainingElement getCommunicationLinkDoesNotStartAtContainingElement() { 88 public MultipleCommunicationLinks getMultipleCommunicationLinks() {
86 return CommunicationLinkDoesNotStartAtContainingElement.instance(); 89 return MultipleCommunicationLinks.instance();
87 } 90 }
88 91
89 public CommunicationLinkDoesNotStartAtContainingElement.Matcher getCommunicationLinkDoesNotStartAtContainingElement(final ViatraQueryEngine engine) { 92 public MultipleCommunicationLinks.Matcher getMultipleCommunicationLinks(final ViatraQueryEngine engine) {
90 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine); 93 return MultipleCommunicationLinks.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);
91 } 102 }
92 103
93 public NotEnoughInterferometryPayloads getNotEnoughInterferometryPayloads() { 104 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 7bc497ab..4791740e 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat fSat; 67 private 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 71 private Match(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat getSat() { 81 public 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 = (hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) newValue; 89 this.fSat = (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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 95 public void setSat(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 176 public static SmallSat.Match newMutableMatch(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 188 public static SmallSat.Match newMatch(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 193 Mutable(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 204 Immutable(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 285 public Collection<SmallSat.Match> getAllMatches(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 299 public Stream<SmallSat.Match> streamAllMatches(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 310 public Optional<SmallSat.Match> getOneArbitraryMatch(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 321 public boolean hasMatch(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 331 public int countMatches(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat, final Consumer<? super SmallSat.Match> processor) { 343 public boolean forOneArbitraryMatch(final 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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) { 355 public SmallSat.Match newMatch(final 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<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> rawStreamAllValuesOfSat(final Object[] parameters) { 364 protected Stream<satellite.SmallSat> rawStreamAllValuesOfSat(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_SAT, parameters).map(hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat.class::cast); 365 return rawStreamAllValues(POSITION_SAT, parameters).map(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<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> getAllValuesOfSat() { 373 public Set<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<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> streamAllValuesOfSat() { 382 public Stream<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((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) t.get(POSITION_SAT)); 389 return SmallSat.Match.newMatch((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((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) match[POSITION_SAT]); 399 return SmallSat.Match.newMatch((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((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) match[POSITION_SAT]); 409 return SmallSat.Match.newMutableMatch((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((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) parameters[0]); 460 return SmallSat.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "SmallSat")), PParameterDirection.INOUT); 492 private final PParameter parameter_Sat = new PParameter("Sat", "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 52602bb5..ed0bd7dc 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,8 +3,6 @@
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;
8import java.util.Arrays; 6import java.util.Arrays;
9import java.util.Collection; 7import java.util.Collection;
10import java.util.LinkedHashSet; 8import java.util.LinkedHashSet;
@@ -41,6 +39,8 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 41import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0], (hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind) parameters[1]); 631 return SpacecraftOfKind.Match.newMatch((satellite.Spacecraft) parameters[0], (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", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 663 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "SpacecraftKind")), PParameterDirection.INOUT); 665 private final PParameter parameter_Kind = new PParameter("Kind", "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 6408033b..51b224b1 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,7 +3,6 @@
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;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork;
9import java.util.Arrays; 8import java.util.Arrays;
@@ -42,6 +41,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 43import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U) parameters[0]); 488 return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); 520 private final PParameter parameter_Sat = new PParameter("Sat", "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 62222ded..99e472ea 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,7 +3,6 @@
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;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -44,6 +43,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 45import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]); 486 return UhfAntennaGainNotLow.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 518 private final PParameter parameter_Comm = new PParameter("Comm", "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 dbe6d26e..b50962c5 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,7 +3,6 @@
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;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -44,6 +43,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 45import 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((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]); 480 return XAntennaGainNotMedium.Match.newMatch((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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 512 private final PParameter parameter_Comm = new PParameter("Comm", "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 d560ac93..58e7e183 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); 91 private final PParameter parameter_Mission = new PParameter("Mission", "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 a0009587..609e0b93 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 90 private final PParameter parameter_Comm = new PParameter("Comm", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); 92 private final PParameter parameter_Band = new PParameter("Band", "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 51175ce3..bc25ea59 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "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 e2e0e2a1..69793a96 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 90 private final PParameter parameter_Comm = new PParameter("Comm", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "AntennaGain")), PParameterDirection.INOUT); 92 private final PParameter parameter_Gain = new PParameter("Gain", "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 04ee67da..fd24f163 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "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 4b3bc03b..82b77bbc 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "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 fe789893..acc60475 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); 86 private final PParameter parameter_Sat = new PParameter("Sat", "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 d6f5c53b..a2123354 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 91 private final PParameter parameter_Source = new PParameter("Source", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 93 private final PParameter parameter_Target = new PParameter("Target", "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 93b1a01b..606cdfed 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "GroundStationNetwork")), PParameterDirection.INOUT); 86 private final PParameter parameter_Network = new PParameter("Network", "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 6d5e475c..dee8a83c 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 88 private final PParameter parameter_Source = new PParameter("Source", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 90 private final PParameter parameter_Target = new PParameter("Target", "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 27648bf3..31381a09 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 88 private final PParameter parameter_From = new PParameter("From", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 90 private final PParameter parameter_To = new PParameter("To", "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 e7529aa2..7118d657 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 99 private final PParameter parameter_From = new PParameter("From", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 101 private final PParameter parameter_To = new PParameter("To", "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 b4f0d9e9..3a52ad1d 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 93 private final PParameter parameter_From = new PParameter("From", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 95 private final PParameter parameter_To = new PParameter("To", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); 97 private final PParameter parameter_Band = new PParameter("Band", "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 36fa4557..591215cd 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,12 +3,13 @@
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.CommunicationLinkDoesNotStartAtContainingElement; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement;
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;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; 13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; 14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; 15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads;
@@ -39,7 +40,8 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
39 * <p>A private group that includes private patterns as well. Only intended use case is for pattern testing. 40 * <p>A private group that includes private patterns as well. Only intended use case is for pattern testing.
40 * 41 *
41 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> 42 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul>
42 * <li>communicationLinkDoesNotStartAtContainingElement</li> 43 * <li>multipleCommunicationLinks</li>
44 * <li>communicationLinkOfElement</li>
43 * <li>notEnoughInterferometryPayloads</li> 45 * <li>notEnoughInterferometryPayloads</li>
44 * <li>atLeastTwoInterferometryPayloads</li> 46 * <li>atLeastTwoInterferometryPayloads</li>
45 * <li>spacecraftWithInterferometryPayload</li> 47 * <li>spacecraftWithInterferometryPayload</li>
@@ -91,7 +93,8 @@ public final class SatelliteQueriesAll extends BaseGeneratedPatternGroup {
91 private static SatelliteQueriesAll INSTANCE; 93 private static SatelliteQueriesAll INSTANCE;
92 94
93 private SatelliteQueriesAll() { 95 private SatelliteQueriesAll() {
94 querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance()); 96 querySpecifications.add(MultipleCommunicationLinks.instance());
97 querySpecifications.add(CommunicationLinkOfElement.instance());
95 querySpecifications.add(NotEnoughInterferometryPayloads.instance()); 98 querySpecifications.add(NotEnoughInterferometryPayloads.instance());
96 querySpecifications.add(AtLeastTwoInterferometryPayloads.instance()); 99 querySpecifications.add(AtLeastTwoInterferometryPayloads.instance());
97 querySpecifications.add(SpacecraftWithInterferometryPayload.instance()); 100 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 f8e6ca4f..9566c4c5 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", "hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "ConstellationMission")), PParameterDirection.INOUT); 90 private final PParameter parameter_Mission = new PParameter("Mission", "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", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 92 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "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 40553e29..edffd941 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,13 +2,17 @@ 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 = {Link}, 5@Constraint(severity = "error", key = {Element},
6 message = "Communication links must start from the containing element.") 6 message = "Only one communication link is allowed per element.")
7pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) { 7pattern multipleCommunicationLinks(Element : CommunicatingElement) {
8 CommunicatingElement.communicationLink(Element, Link); 8 CommunicatingElement.commSubsystem.communicationLink(Element, Link1);
9 DirectedCommunicationLink.source(Link, SourceComm); 9 CommunicatingElement.commSubsystem.communicationLink(Element, Link2);
10 CommunicatingElement.commSubsystem(SourceElement, SourceComm); 10 Link1 != Link2;
11 Element != SourceElement; 11}
12
13@QueryBasedFeature(feature = "communicationLink")
14pattern communicationLinkOfElement(Element : CommunicatingElement, Link : DirectedCommunicationLink) {
15 CommunicatingElement.commSubsystem.communicationLink(Element, Link);
12} 16}
13 17
14// At least two spacecraft must have the interferometry payload configured 18// At least two spacecraft must have the interferometry payload configured