aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java (renamed from Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/MultipleCommunicationLinks.java)273
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java705
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java25
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java50
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java9
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java4
32 files changed, 234 insertions, 952 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore
index 4354da2c..6f361334 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore
@@ -23,5 +23,3 @@
23/.SpacecraftOfKind.java._trace 23/.SpacecraftOfKind.java._trace
24/.NoPotentialLinkToGroundStation.java._trace 24/.NoPotentialLinkToGroundStation.java._trace
25/.SmallSat.java._trace 25/.SmallSat.java._trace
26/.CommunicationLinkOfElement.java._trace
27/.MultipleCommunicationLinks.java._trace
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/MultipleCommunicationLinks.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java
index ad82ead9..dde3c20f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/MultipleCommunicationLinks.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
6import java.util.Arrays; 7import java.util.Arrays;
7import java.util.Collection; 8import java.util.Collection;
8import java.util.LinkedHashSet; 9import java.util.LinkedHashSet;
@@ -39,19 +40,19 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
42import satellite.CommunicatingElement;
43 43
44/** 44/**
45 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 45 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
46 * 46 *
47 * <p>Original source: 47 * <p>Original source:
48 * <code><pre> 48 * <code><pre>
49 * {@literal @}Constraint(severity = "error", key = {Element}, 49 * {@literal @}Constraint(severity = "error", key = {Link},
50 * message = "Only one communication link is allowed per element.") 50 * message = "Communication links must start from the containing element.")
51 * pattern multipleCommunicationLinks(Element : CommunicatingElement) { 51 * pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) {
52 * CommunicatingElement.commSubsystem.communicationLink(Element, Link1); 52 * CommunicatingElement.communicationLink(Element, Link);
53 * CommunicatingElement.commSubsystem.communicationLink(Element, Link2); 53 * DirectedCommunicationLink.source(Link, SourceComm);
54 * Link1 != Link2; 54 * CommunicatingElement.commSubsystem(SourceElement, SourceComm);
55 * Element != SourceElement;
55 * } 56 * }
56 * </pre></code> 57 * </pre></code>
57 * 58 *
@@ -60,9 +61,9 @@ import satellite.CommunicatingElement;
60 * 61 *
61 */ 62 */
62@SuppressWarnings("all") 63@SuppressWarnings("all")
63public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpecification<MultipleCommunicationLinks.Matcher> { 64public final class CommunicationLinkDoesNotStartAtContainingElement extends BaseGeneratedEMFQuerySpecification<CommunicationLinkDoesNotStartAtContainingElement.Matcher> {
64 /** 65 /**
65 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks pattern, 66 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern,
66 * to be used in conjunction with {@link Matcher}. 67 * to be used in conjunction with {@link Matcher}.
67 * 68 *
68 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. 69 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
@@ -74,69 +75,69 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
74 * 75 *
75 */ 76 */
76 public static abstract class Match extends BasePatternMatch { 77 public static abstract class Match extends BasePatternMatch {
77 private CommunicatingElement fElement; 78 private DirectedCommunicationLink fLink;
78 79
79 private static List<String> parameterNames = makeImmutableList("Element"); 80 private static List<String> parameterNames = makeImmutableList("Link");
80 81
81 private Match(final CommunicatingElement pElement) { 82 private Match(final DirectedCommunicationLink pLink) {
82 this.fElement = pElement; 83 this.fLink = pLink;
83 } 84 }
84 85
85 @Override 86 @Override
86 public Object get(final String parameterName) { 87 public Object get(final String parameterName) {
87 if ("Element".equals(parameterName)) return this.fElement; 88 if ("Link".equals(parameterName)) return this.fLink;
88 return null; 89 return null;
89 } 90 }
90 91
91 public CommunicatingElement getElement() { 92 public DirectedCommunicationLink getLink() {
92 return this.fElement; 93 return this.fLink;
93 } 94 }
94 95
95 @Override 96 @Override
96 public boolean set(final String parameterName, final Object newValue) { 97 public boolean set(final String parameterName, final Object newValue) {
97 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 98 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
98 if ("Element".equals(parameterName) ) { 99 if ("Link".equals(parameterName) ) {
99 this.fElement = (CommunicatingElement) newValue; 100 this.fLink = (DirectedCommunicationLink) newValue;
100 return true; 101 return true;
101 } 102 }
102 return false; 103 return false;
103 } 104 }
104 105
105 public void setElement(final CommunicatingElement pElement) { 106 public void setLink(final DirectedCommunicationLink pLink) {
106 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 107 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
107 this.fElement = pElement; 108 this.fLink = pLink;
108 } 109 }
109 110
110 @Override 111 @Override
111 public String patternName() { 112 public String patternName() {
112 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks"; 113 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement";
113 } 114 }
114 115
115 @Override 116 @Override
116 public List<String> parameterNames() { 117 public List<String> parameterNames() {
117 return MultipleCommunicationLinks.Match.parameterNames; 118 return CommunicationLinkDoesNotStartAtContainingElement.Match.parameterNames;
118 } 119 }
119 120
120 @Override 121 @Override
121 public Object[] toArray() { 122 public Object[] toArray() {
122 return new Object[]{fElement}; 123 return new Object[]{fLink};
123 } 124 }
124 125
125 @Override 126 @Override
126 public MultipleCommunicationLinks.Match toImmutable() { 127 public CommunicationLinkDoesNotStartAtContainingElement.Match toImmutable() {
127 return isMutable() ? newMatch(fElement) : this; 128 return isMutable() ? newMatch(fLink) : this;
128 } 129 }
129 130
130 @Override 131 @Override
131 public String prettyPrint() { 132 public String prettyPrint() {
132 StringBuilder result = new StringBuilder(); 133 StringBuilder result = new StringBuilder();
133 result.append("\"Element\"=" + prettyPrintValue(fElement)); 134 result.append("\"Link\"=" + prettyPrintValue(fLink));
134 return result.toString(); 135 return result.toString();
135 } 136 }
136 137
137 @Override 138 @Override
138 public int hashCode() { 139 public int hashCode() {
139 return Objects.hash(fElement); 140 return Objects.hash(fLink);
140 } 141 }
141 142
142 @Override 143 @Override
@@ -146,9 +147,9 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
146 if (obj == null) { 147 if (obj == null) {
147 return false; 148 return false;
148 } 149 }
149 if ((obj instanceof MultipleCommunicationLinks.Match)) { 150 if ((obj instanceof CommunicationLinkDoesNotStartAtContainingElement.Match)) {
150 MultipleCommunicationLinks.Match other = (MultipleCommunicationLinks.Match) obj; 151 CommunicationLinkDoesNotStartAtContainingElement.Match other = (CommunicationLinkDoesNotStartAtContainingElement.Match) obj;
151 return Objects.equals(fElement, other.fElement); 152 return Objects.equals(fLink, other.fLink);
152 } else { 153 } else {
153 // this should be infrequent 154 // this should be infrequent
154 if (!(obj instanceof IPatternMatch)) { 155 if (!(obj instanceof IPatternMatch)) {
@@ -160,8 +161,8 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
160 } 161 }
161 162
162 @Override 163 @Override
163 public MultipleCommunicationLinks specification() { 164 public CommunicationLinkDoesNotStartAtContainingElement specification() {
164 return MultipleCommunicationLinks.instance(); 165 return CommunicationLinkDoesNotStartAtContainingElement.instance();
165 } 166 }
166 167
167 /** 168 /**
@@ -171,7 +172,7 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
171 * @return the empty match. 172 * @return the empty match.
172 * 173 *
173 */ 174 */
174 public static MultipleCommunicationLinks.Match newEmptyMatch() { 175 public static CommunicationLinkDoesNotStartAtContainingElement.Match newEmptyMatch() {
175 return new Mutable(null); 176 return new Mutable(null);
176 } 177 }
177 178
@@ -179,29 +180,29 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
179 * Returns a mutable (partial) match. 180 * Returns a mutable (partial) match.
180 * Fields of the mutable match can be filled to create a partial match, usable as matcher input. 181 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
181 * 182 *
182 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 183 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
183 * @return the new, mutable (partial) match object. 184 * @return the new, mutable (partial) match object.
184 * 185 *
185 */ 186 */
186 public static MultipleCommunicationLinks.Match newMutableMatch(final CommunicatingElement pElement) { 187 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMutableMatch(final DirectedCommunicationLink pLink) {
187 return new Mutable(pElement); 188 return new Mutable(pLink);
188 } 189 }
189 190
190 /** 191 /**
191 * Returns a new (partial) match. 192 * Returns a new (partial) match.
192 * This can be used e.g. to call the matcher with a partial match. 193 * This can be used e.g. to call the matcher with a partial match.
193 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 194 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
194 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 195 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
195 * @return the (partial) match object. 196 * @return the (partial) match object.
196 * 197 *
197 */ 198 */
198 public static MultipleCommunicationLinks.Match newMatch(final CommunicatingElement pElement) { 199 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final DirectedCommunicationLink pLink) {
199 return new Immutable(pElement); 200 return new Immutable(pLink);
200 } 201 }
201 202
202 private static final class Mutable extends MultipleCommunicationLinks.Match { 203 private static final class Mutable extends CommunicationLinkDoesNotStartAtContainingElement.Match {
203 Mutable(final CommunicatingElement pElement) { 204 Mutable(final DirectedCommunicationLink pLink) {
204 super(pElement); 205 super(pLink);
205 } 206 }
206 207
207 @Override 208 @Override
@@ -210,9 +211,9 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
210 } 211 }
211 } 212 }
212 213
213 private static final class Immutable extends MultipleCommunicationLinks.Match { 214 private static final class Immutable extends CommunicationLinkDoesNotStartAtContainingElement.Match {
214 Immutable(final CommunicatingElement pElement) { 215 Immutable(final DirectedCommunicationLink pLink) {
215 super(pElement); 216 super(pLink);
216 } 217 }
217 218
218 @Override 219 @Override
@@ -223,7 +224,7 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
223 } 224 }
224 225
225 /** 226 /**
226 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks pattern, 227 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern,
227 * providing pattern-specific query methods. 228 * providing pattern-specific query methods.
228 * 229 *
229 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, 230 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
@@ -233,20 +234,21 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
233 * 234 *
234 * <p>Original source: 235 * <p>Original source:
235 * <code><pre> 236 * <code><pre>
236 * {@literal @}Constraint(severity = "error", key = {Element}, 237 * {@literal @}Constraint(severity = "error", key = {Link},
237 * message = "Only one communication link is allowed per element.") 238 * message = "Communication links must start from the containing element.")
238 * pattern multipleCommunicationLinks(Element : CommunicatingElement) { 239 * pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) {
239 * CommunicatingElement.commSubsystem.communicationLink(Element, Link1); 240 * CommunicatingElement.communicationLink(Element, Link);
240 * CommunicatingElement.commSubsystem.communicationLink(Element, Link2); 241 * DirectedCommunicationLink.source(Link, SourceComm);
241 * Link1 != Link2; 242 * CommunicatingElement.commSubsystem(SourceElement, SourceComm);
243 * Element != SourceElement;
242 * } 244 * }
243 * </pre></code> 245 * </pre></code>
244 * 246 *
245 * @see Match 247 * @see Match
246 * @see MultipleCommunicationLinks 248 * @see CommunicationLinkDoesNotStartAtContainingElement
247 * 249 *
248 */ 250 */
249 public static class Matcher extends BaseMatcher<MultipleCommunicationLinks.Match> { 251 public static class Matcher extends BaseMatcher<CommunicationLinkDoesNotStartAtContainingElement.Match> {
250 /** 252 /**
251 * Initializes the pattern matcher within an existing VIATRA Query engine. 253 * Initializes the pattern matcher within an existing VIATRA Query engine.
252 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. 254 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
@@ -255,7 +257,7 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
255 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation 257 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
256 * 258 *
257 */ 259 */
258 public static MultipleCommunicationLinks.Matcher on(final ViatraQueryEngine engine) { 260 public static CommunicationLinkDoesNotStartAtContainingElement.Matcher on(final ViatraQueryEngine engine) {
259 // check if matcher already exists 261 // check if matcher already exists
260 Matcher matcher = engine.getExistingMatcher(querySpecification()); 262 Matcher matcher = engine.getExistingMatcher(querySpecification());
261 if (matcher == null) { 263 if (matcher == null) {
@@ -270,13 +272,13 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
270 * @noreference This method is for internal matcher initialization by the framework, do not call it manually. 272 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
271 * 273 *
272 */ 274 */
273 public static MultipleCommunicationLinks.Matcher create() { 275 public static CommunicationLinkDoesNotStartAtContainingElement.Matcher create() {
274 return new Matcher(); 276 return new Matcher();
275 } 277 }
276 278
277 private static final int POSITION_ELEMENT = 0; 279 private static final int POSITION_LINK = 0;
278 280
279 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(MultipleCommunicationLinks.Matcher.class); 281 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkDoesNotStartAtContainingElement.Matcher.class);
280 282
281 /** 283 /**
282 * Initializes the pattern matcher within an existing VIATRA Query engine. 284 * Initializes the pattern matcher within an existing VIATRA Query engine.
@@ -292,12 +294,12 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
292 294
293 /** 295 /**
294 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. 296 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
295 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 297 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
296 * @return matches represented as a Match object. 298 * @return matches represented as a Match object.
297 * 299 *
298 */ 300 */
299 public Collection<MultipleCommunicationLinks.Match> getAllMatches(final CommunicatingElement pElement) { 301 public Collection<CommunicationLinkDoesNotStartAtContainingElement.Match> getAllMatches(final DirectedCommunicationLink pLink) {
300 return rawStreamAllMatches(new Object[]{pElement}).collect(Collectors.toSet()); 302 return rawStreamAllMatches(new Object[]{pLink}).collect(Collectors.toSet());
301 } 303 }
302 304
303 /** 305 /**
@@ -306,101 +308,101 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
306 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. 308 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
307 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. 309 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
308 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. 310 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
309 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 311 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
310 * @return a stream of matches represented as a Match object. 312 * @return a stream of matches represented as a Match object.
311 * 313 *
312 */ 314 */
313 public Stream<MultipleCommunicationLinks.Match> streamAllMatches(final CommunicatingElement pElement) { 315 public Stream<CommunicationLinkDoesNotStartAtContainingElement.Match> streamAllMatches(final DirectedCommunicationLink pLink) {
314 return rawStreamAllMatches(new Object[]{pElement}); 316 return rawStreamAllMatches(new Object[]{pLink});
315 } 317 }
316 318
317 /** 319 /**
318 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 320 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
319 * Neither determinism nor randomness of selection is guaranteed. 321 * Neither determinism nor randomness of selection is guaranteed.
320 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 322 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
321 * @return a match represented as a Match object, or null if no match is found. 323 * @return a match represented as a Match object, or null if no match is found.
322 * 324 *
323 */ 325 */
324 public Optional<MultipleCommunicationLinks.Match> getOneArbitraryMatch(final CommunicatingElement pElement) { 326 public Optional<CommunicationLinkDoesNotStartAtContainingElement.Match> getOneArbitraryMatch(final DirectedCommunicationLink pLink) {
325 return rawGetOneArbitraryMatch(new Object[]{pElement}); 327 return rawGetOneArbitraryMatch(new Object[]{pLink});
326 } 328 }
327 329
328 /** 330 /**
329 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, 331 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
330 * under any possible substitution of the unspecified parameters (if any). 332 * under any possible substitution of the unspecified parameters (if any).
331 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 333 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
332 * @return true if the input is a valid (partial) match of the pattern. 334 * @return true if the input is a valid (partial) match of the pattern.
333 * 335 *
334 */ 336 */
335 public boolean hasMatch(final CommunicatingElement pElement) { 337 public boolean hasMatch(final DirectedCommunicationLink pLink) {
336 return rawHasMatch(new Object[]{pElement}); 338 return rawHasMatch(new Object[]{pLink});
337 } 339 }
338 340
339 /** 341 /**
340 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. 342 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
341 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 343 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
342 * @return the number of pattern matches found. 344 * @return the number of pattern matches found.
343 * 345 *
344 */ 346 */
345 public int countMatches(final CommunicatingElement pElement) { 347 public int countMatches(final DirectedCommunicationLink pLink) {
346 return rawCountMatches(new Object[]{pElement}); 348 return rawCountMatches(new Object[]{pLink});
347 } 349 }
348 350
349 /** 351 /**
350 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 352 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
351 * Neither determinism nor randomness of selection is guaranteed. 353 * Neither determinism nor randomness of selection is guaranteed.
352 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 354 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
353 * @param processor the action that will process the selected match. 355 * @param processor the action that will process the selected match.
354 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 356 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
355 * 357 *
356 */ 358 */
357 public boolean forOneArbitraryMatch(final CommunicatingElement pElement, final Consumer<? super MultipleCommunicationLinks.Match> processor) { 359 public boolean forOneArbitraryMatch(final DirectedCommunicationLink pLink, final Consumer<? super CommunicationLinkDoesNotStartAtContainingElement.Match> processor) {
358 return rawForOneArbitraryMatch(new Object[]{pElement}, processor); 360 return rawForOneArbitraryMatch(new Object[]{pLink}, processor);
359 } 361 }
360 362
361 /** 363 /**
362 * Returns a new (partial) match. 364 * Returns a new (partial) match.
363 * This can be used e.g. to call the matcher with a partial match. 365 * This can be used e.g. to call the matcher with a partial match.
364 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 366 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
365 * @param pElement the fixed value of pattern parameter Element, or null if not bound. 367 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
366 * @return the (partial) match object. 368 * @return the (partial) match object.
367 * 369 *
368 */ 370 */
369 public MultipleCommunicationLinks.Match newMatch(final CommunicatingElement pElement) { 371 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final DirectedCommunicationLink pLink) {
370 return MultipleCommunicationLinks.Match.newMatch(pElement); 372 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch(pLink);
371 } 373 }
372 374
373 /** 375 /**
374 * Retrieve the set of values that occur in matches for Element. 376 * Retrieve the set of values that occur in matches for Link.
375 * @return the Set of all values or empty set if there are no matches 377 * @return the Set of all values or empty set if there are no matches
376 * 378 *
377 */ 379 */
378 protected Stream<CommunicatingElement> rawStreamAllValuesOfElement(final Object[] parameters) { 380 protected Stream<DirectedCommunicationLink> rawStreamAllValuesOfLink(final Object[] parameters) {
379 return rawStreamAllValues(POSITION_ELEMENT, parameters).map(CommunicatingElement.class::cast); 381 return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast);
380 } 382 }
381 383
382 /** 384 /**
383 * Retrieve the set of values that occur in matches for Element. 385 * Retrieve the set of values that occur in matches for Link.
384 * @return the Set of all values or empty set if there are no matches 386 * @return the Set of all values or empty set if there are no matches
385 * 387 *
386 */ 388 */
387 public Set<CommunicatingElement> getAllValuesOfElement() { 389 public Set<DirectedCommunicationLink> getAllValuesOfLink() {
388 return rawStreamAllValuesOfElement(emptyArray()).collect(Collectors.toSet()); 390 return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet());
389 } 391 }
390 392
391 /** 393 /**
392 * Retrieve the set of values that occur in matches for Element. 394 * Retrieve the set of values that occur in matches for Link.
393 * @return the Set of all values or empty set if there are no matches 395 * @return the Set of all values or empty set if there are no matches
394 * 396 *
395 */ 397 */
396 public Stream<CommunicatingElement> streamAllValuesOfElement() { 398 public Stream<DirectedCommunicationLink> streamAllValuesOfLink() {
397 return rawStreamAllValuesOfElement(emptyArray()); 399 return rawStreamAllValuesOfLink(emptyArray());
398 } 400 }
399 401
400 @Override 402 @Override
401 protected MultipleCommunicationLinks.Match tupleToMatch(final Tuple t) { 403 protected CommunicationLinkDoesNotStartAtContainingElement.Match tupleToMatch(final Tuple t) {
402 try { 404 try {
403 return MultipleCommunicationLinks.Match.newMatch((CommunicatingElement) t.get(POSITION_ELEMENT)); 405 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((DirectedCommunicationLink) t.get(POSITION_LINK));
404 } catch(ClassCastException e) { 406 } catch(ClassCastException e) {
405 LOGGER.error("Element(s) in tuple not properly typed!",e); 407 LOGGER.error("Element(s) in tuple not properly typed!",e);
406 return null; 408 return null;
@@ -408,9 +410,9 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
408 } 410 }
409 411
410 @Override 412 @Override
411 protected MultipleCommunicationLinks.Match arrayToMatch(final Object[] match) { 413 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatch(final Object[] match) {
412 try { 414 try {
413 return MultipleCommunicationLinks.Match.newMatch((CommunicatingElement) match[POSITION_ELEMENT]); 415 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((DirectedCommunicationLink) match[POSITION_LINK]);
414 } catch(ClassCastException e) { 416 } catch(ClassCastException e) {
415 LOGGER.error("Element(s) in array not properly typed!",e); 417 LOGGER.error("Element(s) in array not properly typed!",e);
416 return null; 418 return null;
@@ -418,9 +420,9 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
418 } 420 }
419 421
420 @Override 422 @Override
421 protected MultipleCommunicationLinks.Match arrayToMatchMutable(final Object[] match) { 423 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatchMutable(final Object[] match) {
422 try { 424 try {
423 return MultipleCommunicationLinks.Match.newMutableMatch((CommunicatingElement) match[POSITION_ELEMENT]); 425 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMutableMatch((DirectedCommunicationLink) match[POSITION_LINK]);
424 } catch(ClassCastException e) { 426 } catch(ClassCastException e) {
425 LOGGER.error("Element(s) in array not properly typed!",e); 427 LOGGER.error("Element(s) in array not properly typed!",e);
426 return null; 428 return null;
@@ -432,12 +434,12 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 434 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 * 435 *
434 */ 436 */
435 public static IQuerySpecification<MultipleCommunicationLinks.Matcher> querySpecification() { 437 public static IQuerySpecification<CommunicationLinkDoesNotStartAtContainingElement.Matcher> querySpecification() {
436 return MultipleCommunicationLinks.instance(); 438 return CommunicationLinkDoesNotStartAtContainingElement.instance();
437 } 439 }
438 } 440 }
439 441
440 private MultipleCommunicationLinks() { 442 private CommunicationLinkDoesNotStartAtContainingElement() {
441 super(GeneratedPQuery.INSTANCE); 443 super(GeneratedPQuery.INSTANCE);
442 } 444 }
443 445
@@ -446,7 +448,7 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
446 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 448 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
447 * 449 *
448 */ 450 */
449 public static MultipleCommunicationLinks instance() { 451 public static CommunicationLinkDoesNotStartAtContainingElement instance() {
450 try{ 452 try{
451 return LazyHolder.INSTANCE; 453 return LazyHolder.INSTANCE;
452 } catch (ExceptionInInitializerError err) { 454 } catch (ExceptionInInitializerError err) {
@@ -455,35 +457,35 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
455 } 457 }
456 458
457 @Override 459 @Override
458 protected MultipleCommunicationLinks.Matcher instantiate(final ViatraQueryEngine engine) { 460 protected CommunicationLinkDoesNotStartAtContainingElement.Matcher instantiate(final ViatraQueryEngine engine) {
459 return MultipleCommunicationLinks.Matcher.on(engine); 461 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine);
460 } 462 }
461 463
462 @Override 464 @Override
463 public MultipleCommunicationLinks.Matcher instantiate() { 465 public CommunicationLinkDoesNotStartAtContainingElement.Matcher instantiate() {
464 return MultipleCommunicationLinks.Matcher.create(); 466 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.create();
465 } 467 }
466 468
467 @Override 469 @Override
468 public MultipleCommunicationLinks.Match newEmptyMatch() { 470 public CommunicationLinkDoesNotStartAtContainingElement.Match newEmptyMatch() {
469 return MultipleCommunicationLinks.Match.newEmptyMatch(); 471 return CommunicationLinkDoesNotStartAtContainingElement.Match.newEmptyMatch();
470 } 472 }
471 473
472 @Override 474 @Override
473 public MultipleCommunicationLinks.Match newMatch(final Object... parameters) { 475 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final Object... parameters) {
474 return MultipleCommunicationLinks.Match.newMatch((satellite.CommunicatingElement) parameters[0]); 476 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]);
475 } 477 }
476 478
477 /** 479 /**
478 * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks (visibility: PUBLIC, simpleName: MultipleCommunicationLinks, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created 480 * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement (visibility: PUBLIC, simpleName: CommunicationLinkDoesNotStartAtContainingElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
479 * <b>not</b> at the class load time of the outer class, 481 * <b>not</b> at the class load time of the outer class,
480 * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks (visibility: PUBLIC, simpleName: MultipleCommunicationLinks, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 482 * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement (visibility: PUBLIC, simpleName: CommunicationLinkDoesNotStartAtContainingElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
481 * 483 *
482 * <p> This workaround is required e.g. to support recursion. 484 * <p> This workaround is required e.g. to support recursion.
483 * 485 *
484 */ 486 */
485 private static class LazyHolder { 487 private static class LazyHolder {
486 private static final MultipleCommunicationLinks INSTANCE = new MultipleCommunicationLinks(); 488 private static final CommunicationLinkDoesNotStartAtContainingElement INSTANCE = new CommunicationLinkDoesNotStartAtContainingElement();
487 489
488 /** 490 /**
489 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. 491 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
@@ -501,11 +503,11 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
501 } 503 }
502 504
503 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 505 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
504 private static final MultipleCommunicationLinks.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 506 private static final CommunicationLinkDoesNotStartAtContainingElement.GeneratedPQuery INSTANCE = new GeneratedPQuery();
505 507
506 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 508 private final PParameter parameter_Link = new PParameter("Link", "hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
507 509
508 private final List<PParameter> parameters = Arrays.asList(parameter_Element); 510 private final List<PParameter> parameters = Arrays.asList(parameter_Link);
509 511
510 private GeneratedPQuery() { 512 private GeneratedPQuery() {
511 super(PVisibility.PUBLIC); 513 super(PVisibility.PUBLIC);
@@ -513,12 +515,12 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
513 515
514 @Override 516 @Override
515 public String getFullyQualifiedName() { 517 public String getFullyQualifiedName() {
516 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.multipleCommunicationLinks"; 518 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement";
517 } 519 }
518 520
519 @Override 521 @Override
520 public List<String> getParameterNames() { 522 public List<String> getParameterNames() {
521 return Arrays.asList("Element"); 523 return Arrays.asList("Link");
522 } 524 }
523 525
524 @Override 526 @Override
@@ -532,42 +534,43 @@ public final class MultipleCommunicationLinks extends BaseGeneratedEMFQuerySpeci
532 Set<PBody> bodies = new LinkedHashSet<>(); 534 Set<PBody> bodies = new LinkedHashSet<>();
533 { 535 {
534 PBody body = new PBody(this); 536 PBody body = new PBody(this);
537 PVariable var_Link = body.getOrCreateVariableByName("Link");
535 PVariable var_Element = body.getOrCreateVariableByName("Element"); 538 PVariable var_Element = body.getOrCreateVariableByName("Element");
536 PVariable var_Link1 = body.getOrCreateVariableByName("Link1"); 539 PVariable var_SourceComm = body.getOrCreateVariableByName("SourceComm");
537 PVariable var_Link2 = body.getOrCreateVariableByName("Link2"); 540 PVariable var_SourceElement = body.getOrCreateVariableByName("SourceElement");
538 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 541 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
539 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 542 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
540 new ExportedParameter(body, var_Element, parameter_Element) 543 new ExportedParameter(body, var_Link, parameter_Link)
541 )); 544 ));
542 // CommunicatingElement.commSubsystem.communicationLink(Element, Link1) 545 // CommunicatingElement.communicationLink(Element, Link)
543 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 546 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
544 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 547 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
545 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 548 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "communicationLink")));
546 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 549 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
550 new Equality(body, var__virtual_0_, var_Link);
551 // DirectedCommunicationLink.source(Link, SourceComm)
552 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
547 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); 553 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
548 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "communicationLink"))); 554 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source")));
549 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
550 new Equality(body, var__virtual_1_, var_Link1); 556 new Equality(body, var__virtual_1_, var_SourceComm);
551 // CommunicatingElement.commSubsystem.communicationLink(Element, Link2) 557 // CommunicatingElement.commSubsystem(SourceElement, SourceComm)
552 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 558 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceElement), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
553 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); 559 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
554 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 560 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceElement, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 561 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
556 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}"); 562 new Equality(body, var__virtual_2_, var_SourceComm);
557 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "communicationLink"))); 563 // Element != SourceElement
558 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 564 new Inequality(body, var_Element, var_SourceElement);
559 new Equality(body, var__virtual_3_, var_Link2);
560 // Link1 != Link2
561 new Inequality(body, var_Link1, var_Link2);
562 bodies.add(body); 565 bodies.add(body);
563 } 566 }
564 { 567 {
565 PAnnotation annotation = new PAnnotation("Constraint"); 568 PAnnotation annotation = new PAnnotation("Constraint");
566 annotation.addAttribute("severity", "error"); 569 annotation.addAttribute("severity", "error");
567 annotation.addAttribute("key", Arrays.asList(new Object[] { 570 annotation.addAttribute("key", Arrays.asList(new Object[] {
568 new ParameterReference("Element") 571 new ParameterReference("Link")
569 })); 572 }));
570 annotation.addAttribute("message", "Only one communication link is allowed per element."); 573 annotation.addAttribute("message", "Communication links must start from the containing element.");
571 addAnnotation(annotation); 574 addAnnotation(annotation);
572 } 575 }
573 return bodies; 576 return bodies;
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java
deleted file mode 100644
index 1327c6bf..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkOfElement.java
+++ /dev/null
@@ -1,705 +0,0 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
27import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
30import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
31import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
34import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
35import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
37import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
39import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
40import satellite.CommunicatingElement;
41import satellite.DirectedCommunicationLink;
42
43/**
44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
45 *
46 * <p>Original source:
47 * <code><pre>
48 * {@literal @}QueryBasedFeature(feature = "communicationLink")
49 * pattern communicationLinkOfElement(Element : CommunicatingElement, Link : DirectedCommunicationLink) {
50 * CommunicatingElement.commSubsystem.communicationLink(Element, Link);
51 * }
52 * </pre></code>
53 *
54 * @see Matcher
55 * @see Match
56 *
57 */
58@SuppressWarnings("all")
59public final class CommunicationLinkOfElement extends BaseGeneratedEMFQuerySpecification<CommunicationLinkOfElement.Matcher> {
60 /**
61 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement pattern,
62 * to be used in conjunction with {@link Matcher}.
63 *
64 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
65 * Each instance is a (possibly partial) substitution of pattern parameters,
66 * usable to represent a match of the pattern in the result of a query,
67 * or to specify the bound (fixed) input parameters when issuing a query.
68 *
69 * @see Matcher
70 *
71 */
72 public static abstract class Match extends BasePatternMatch {
73 private CommunicatingElement fElement;
74
75 private DirectedCommunicationLink fLink;
76
77 private static List<String> parameterNames = makeImmutableList("Element", "Link");
78
79 private Match(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
80 this.fElement = pElement;
81 this.fLink = pLink;
82 }
83
84 @Override
85 public Object get(final String parameterName) {
86 if ("Element".equals(parameterName)) return this.fElement;
87 if ("Link".equals(parameterName)) return this.fLink;
88 return null;
89 }
90
91 public CommunicatingElement getElement() {
92 return this.fElement;
93 }
94
95 public DirectedCommunicationLink getLink() {
96 return this.fLink;
97 }
98
99 @Override
100 public boolean set(final String parameterName, final Object newValue) {
101 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
102 if ("Element".equals(parameterName) ) {
103 this.fElement = (CommunicatingElement) newValue;
104 return true;
105 }
106 if ("Link".equals(parameterName) ) {
107 this.fLink = (DirectedCommunicationLink) newValue;
108 return true;
109 }
110 return false;
111 }
112
113 public void setElement(final CommunicatingElement pElement) {
114 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
115 this.fElement = pElement;
116 }
117
118 public void setLink(final DirectedCommunicationLink pLink) {
119 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
120 this.fLink = pLink;
121 }
122
123 @Override
124 public String patternName() {
125 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement";
126 }
127
128 @Override
129 public List<String> parameterNames() {
130 return CommunicationLinkOfElement.Match.parameterNames;
131 }
132
133 @Override
134 public Object[] toArray() {
135 return new Object[]{fElement, fLink};
136 }
137
138 @Override
139 public CommunicationLinkOfElement.Match toImmutable() {
140 return isMutable() ? newMatch(fElement, fLink) : this;
141 }
142
143 @Override
144 public String prettyPrint() {
145 StringBuilder result = new StringBuilder();
146 result.append("\"Element\"=" + prettyPrintValue(fElement) + ", ");
147 result.append("\"Link\"=" + prettyPrintValue(fLink));
148 return result.toString();
149 }
150
151 @Override
152 public int hashCode() {
153 return Objects.hash(fElement, fLink);
154 }
155
156 @Override
157 public boolean equals(final Object obj) {
158 if (this == obj)
159 return true;
160 if (obj == null) {
161 return false;
162 }
163 if ((obj instanceof CommunicationLinkOfElement.Match)) {
164 CommunicationLinkOfElement.Match other = (CommunicationLinkOfElement.Match) obj;
165 return Objects.equals(fElement, other.fElement) && Objects.equals(fLink, other.fLink);
166 } else {
167 // this should be infrequent
168 if (!(obj instanceof IPatternMatch)) {
169 return false;
170 }
171 IPatternMatch otherSig = (IPatternMatch) obj;
172 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
173 }
174 }
175
176 @Override
177 public CommunicationLinkOfElement specification() {
178 return CommunicationLinkOfElement.instance();
179 }
180
181 /**
182 * Returns an empty, mutable match.
183 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
184 *
185 * @return the empty match.
186 *
187 */
188 public static CommunicationLinkOfElement.Match newEmptyMatch() {
189 return new Mutable(null, null);
190 }
191
192 /**
193 * Returns a mutable (partial) match.
194 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
195 *
196 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
197 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
198 * @return the new, mutable (partial) match object.
199 *
200 */
201 public static CommunicationLinkOfElement.Match newMutableMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
202 return new Mutable(pElement, pLink);
203 }
204
205 /**
206 * Returns a new (partial) match.
207 * This can be used e.g. to call the matcher with a partial match.
208 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
209 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
210 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
211 * @return the (partial) match object.
212 *
213 */
214 public static CommunicationLinkOfElement.Match newMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
215 return new Immutable(pElement, pLink);
216 }
217
218 private static final class Mutable extends CommunicationLinkOfElement.Match {
219 Mutable(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
220 super(pElement, pLink);
221 }
222
223 @Override
224 public boolean isMutable() {
225 return true;
226 }
227 }
228
229 private static final class Immutable extends CommunicationLinkOfElement.Match {
230 Immutable(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
231 super(pElement, pLink);
232 }
233
234 @Override
235 public boolean isMutable() {
236 return false;
237 }
238 }
239 }
240
241 /**
242 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement pattern,
243 * providing pattern-specific query methods.
244 *
245 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
246 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
247 *
248 * <p>Matches of the pattern will be represented as {@link Match}.
249 *
250 * <p>Original source:
251 * <code><pre>
252 * {@literal @}QueryBasedFeature(feature = "communicationLink")
253 * pattern communicationLinkOfElement(Element : CommunicatingElement, Link : DirectedCommunicationLink) {
254 * CommunicatingElement.commSubsystem.communicationLink(Element, Link);
255 * }
256 * </pre></code>
257 *
258 * @see Match
259 * @see CommunicationLinkOfElement
260 *
261 */
262 public static class Matcher extends BaseMatcher<CommunicationLinkOfElement.Match> {
263 /**
264 * Initializes the pattern matcher within an existing VIATRA Query engine.
265 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
266 *
267 * @param engine the existing VIATRA Query engine in which this matcher will be created.
268 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
269 *
270 */
271 public static CommunicationLinkOfElement.Matcher on(final ViatraQueryEngine engine) {
272 // check if matcher already exists
273 Matcher matcher = engine.getExistingMatcher(querySpecification());
274 if (matcher == null) {
275 matcher = (Matcher)engine.getMatcher(querySpecification());
276 }
277 return matcher;
278 }
279
280 /**
281 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
282 * @return an initialized matcher
283 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
284 *
285 */
286 public static CommunicationLinkOfElement.Matcher create() {
287 return new Matcher();
288 }
289
290 private static final int POSITION_ELEMENT = 0;
291
292 private static final int POSITION_LINK = 1;
293
294 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkOfElement.Matcher.class);
295
296 /**
297 * Initializes the pattern matcher within an existing VIATRA Query engine.
298 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
299 *
300 * @param engine the existing VIATRA Query engine in which this matcher will be created.
301 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
302 *
303 */
304 private Matcher() {
305 super(querySpecification());
306 }
307
308 /**
309 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
310 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
311 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
312 * @return matches represented as a Match object.
313 *
314 */
315 public Collection<CommunicationLinkOfElement.Match> getAllMatches(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
316 return rawStreamAllMatches(new Object[]{pElement, pLink}).collect(Collectors.toSet());
317 }
318
319 /**
320 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
321 * </p>
322 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
323 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
324 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
325 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
326 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
327 * @return a stream of matches represented as a Match object.
328 *
329 */
330 public Stream<CommunicationLinkOfElement.Match> streamAllMatches(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
331 return rawStreamAllMatches(new Object[]{pElement, pLink});
332 }
333
334 /**
335 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
336 * Neither determinism nor randomness of selection is guaranteed.
337 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
338 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
339 * @return a match represented as a Match object, or null if no match is found.
340 *
341 */
342 public Optional<CommunicationLinkOfElement.Match> getOneArbitraryMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
343 return rawGetOneArbitraryMatch(new Object[]{pElement, pLink});
344 }
345
346 /**
347 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
348 * under any possible substitution of the unspecified parameters (if any).
349 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
350 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
351 * @return true if the input is a valid (partial) match of the pattern.
352 *
353 */
354 public boolean hasMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
355 return rawHasMatch(new Object[]{pElement, pLink});
356 }
357
358 /**
359 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
360 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
361 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
362 * @return the number of pattern matches found.
363 *
364 */
365 public int countMatches(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
366 return rawCountMatches(new Object[]{pElement, pLink});
367 }
368
369 /**
370 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
371 * Neither determinism nor randomness of selection is guaranteed.
372 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
373 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
374 * @param processor the action that will process the selected match.
375 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
376 *
377 */
378 public boolean forOneArbitraryMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink, final Consumer<? super CommunicationLinkOfElement.Match> processor) {
379 return rawForOneArbitraryMatch(new Object[]{pElement, pLink}, processor);
380 }
381
382 /**
383 * Returns a new (partial) match.
384 * This can be used e.g. to call the matcher with a partial match.
385 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
386 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
387 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
388 * @return the (partial) match object.
389 *
390 */
391 public CommunicationLinkOfElement.Match newMatch(final CommunicatingElement pElement, final DirectedCommunicationLink pLink) {
392 return CommunicationLinkOfElement.Match.newMatch(pElement, pLink);
393 }
394
395 /**
396 * Retrieve the set of values that occur in matches for Element.
397 * @return the Set of all values or empty set if there are no matches
398 *
399 */
400 protected Stream<CommunicatingElement> rawStreamAllValuesOfElement(final Object[] parameters) {
401 return rawStreamAllValues(POSITION_ELEMENT, parameters).map(CommunicatingElement.class::cast);
402 }
403
404 /**
405 * Retrieve the set of values that occur in matches for Element.
406 * @return the Set of all values or empty set if there are no matches
407 *
408 */
409 public Set<CommunicatingElement> getAllValuesOfElement() {
410 return rawStreamAllValuesOfElement(emptyArray()).collect(Collectors.toSet());
411 }
412
413 /**
414 * Retrieve the set of values that occur in matches for Element.
415 * @return the Set of all values or empty set if there are no matches
416 *
417 */
418 public Stream<CommunicatingElement> streamAllValuesOfElement() {
419 return rawStreamAllValuesOfElement(emptyArray());
420 }
421
422 /**
423 * Retrieve the set of values that occur in matches for Element.
424 * </p>
425 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
426 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
427 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
428 *
429 * @return the Stream of all values or empty set if there are no matches
430 *
431 */
432 public Stream<CommunicatingElement> streamAllValuesOfElement(final CommunicationLinkOfElement.Match partialMatch) {
433 return rawStreamAllValuesOfElement(partialMatch.toArray());
434 }
435
436 /**
437 * Retrieve the set of values that occur in matches for Element.
438 * </p>
439 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
440 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
441 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
442 *
443 * @return the Stream of all values or empty set if there are no matches
444 *
445 */
446 public Stream<CommunicatingElement> streamAllValuesOfElement(final DirectedCommunicationLink pLink) {
447 return rawStreamAllValuesOfElement(new Object[]{null, pLink});
448 }
449
450 /**
451 * Retrieve the set of values that occur in matches for Element.
452 * @return the Set of all values or empty set if there are no matches
453 *
454 */
455 public Set<CommunicatingElement> getAllValuesOfElement(final CommunicationLinkOfElement.Match partialMatch) {
456 return rawStreamAllValuesOfElement(partialMatch.toArray()).collect(Collectors.toSet());
457 }
458
459 /**
460 * Retrieve the set of values that occur in matches for Element.
461 * @return the Set of all values or empty set if there are no matches
462 *
463 */
464 public Set<CommunicatingElement> getAllValuesOfElement(final DirectedCommunicationLink pLink) {
465 return rawStreamAllValuesOfElement(new Object[]{null, pLink}).collect(Collectors.toSet());
466 }
467
468 /**
469 * Retrieve the set of values that occur in matches for Link.
470 * @return the Set of all values or empty set if there are no matches
471 *
472 */
473 protected Stream<DirectedCommunicationLink> rawStreamAllValuesOfLink(final Object[] parameters) {
474 return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast);
475 }
476
477 /**
478 * Retrieve the set of values that occur in matches for Link.
479 * @return the Set of all values or empty set if there are no matches
480 *
481 */
482 public Set<DirectedCommunicationLink> getAllValuesOfLink() {
483 return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet());
484 }
485
486 /**
487 * Retrieve the set of values that occur in matches for Link.
488 * @return the Set of all values or empty set if there are no matches
489 *
490 */
491 public Stream<DirectedCommunicationLink> streamAllValuesOfLink() {
492 return rawStreamAllValuesOfLink(emptyArray());
493 }
494
495 /**
496 * Retrieve the set of values that occur in matches for Link.
497 * </p>
498 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
499 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
500 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
501 *
502 * @return the Stream of all values or empty set if there are no matches
503 *
504 */
505 public Stream<DirectedCommunicationLink> streamAllValuesOfLink(final CommunicationLinkOfElement.Match partialMatch) {
506 return rawStreamAllValuesOfLink(partialMatch.toArray());
507 }
508
509 /**
510 * Retrieve the set of values that occur in matches for Link.
511 * </p>
512 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
513 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
514 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
515 *
516 * @return the Stream of all values or empty set if there are no matches
517 *
518 */
519 public Stream<DirectedCommunicationLink> streamAllValuesOfLink(final CommunicatingElement pElement) {
520 return rawStreamAllValuesOfLink(new Object[]{pElement, null});
521 }
522
523 /**
524 * Retrieve the set of values that occur in matches for Link.
525 * @return the Set of all values or empty set if there are no matches
526 *
527 */
528 public Set<DirectedCommunicationLink> getAllValuesOfLink(final CommunicationLinkOfElement.Match partialMatch) {
529 return rawStreamAllValuesOfLink(partialMatch.toArray()).collect(Collectors.toSet());
530 }
531
532 /**
533 * Retrieve the set of values that occur in matches for Link.
534 * @return the Set of all values or empty set if there are no matches
535 *
536 */
537 public Set<DirectedCommunicationLink> getAllValuesOfLink(final CommunicatingElement pElement) {
538 return rawStreamAllValuesOfLink(new Object[]{pElement, null}).collect(Collectors.toSet());
539 }
540
541 @Override
542 protected CommunicationLinkOfElement.Match tupleToMatch(final Tuple t) {
543 try {
544 return CommunicationLinkOfElement.Match.newMatch((CommunicatingElement) t.get(POSITION_ELEMENT), (DirectedCommunicationLink) t.get(POSITION_LINK));
545 } catch(ClassCastException e) {
546 LOGGER.error("Element(s) in tuple not properly typed!",e);
547 return null;
548 }
549 }
550
551 @Override
552 protected CommunicationLinkOfElement.Match arrayToMatch(final Object[] match) {
553 try {
554 return CommunicationLinkOfElement.Match.newMatch((CommunicatingElement) match[POSITION_ELEMENT], (DirectedCommunicationLink) match[POSITION_LINK]);
555 } catch(ClassCastException e) {
556 LOGGER.error("Element(s) in array not properly typed!",e);
557 return null;
558 }
559 }
560
561 @Override
562 protected CommunicationLinkOfElement.Match arrayToMatchMutable(final Object[] match) {
563 try {
564 return CommunicationLinkOfElement.Match.newMutableMatch((CommunicatingElement) match[POSITION_ELEMENT], (DirectedCommunicationLink) match[POSITION_LINK]);
565 } catch(ClassCastException e) {
566 LOGGER.error("Element(s) in array not properly typed!",e);
567 return null;
568 }
569 }
570
571 /**
572 * @return the singleton instance of the query specification of this pattern
573 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
574 *
575 */
576 public static IQuerySpecification<CommunicationLinkOfElement.Matcher> querySpecification() {
577 return CommunicationLinkOfElement.instance();
578 }
579 }
580
581 private CommunicationLinkOfElement() {
582 super(GeneratedPQuery.INSTANCE);
583 }
584
585 /**
586 * @return the singleton instance of the query specification
587 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
588 *
589 */
590 public static CommunicationLinkOfElement instance() {
591 try{
592 return LazyHolder.INSTANCE;
593 } catch (ExceptionInInitializerError err) {
594 throw processInitializerError(err);
595 }
596 }
597
598 @Override
599 protected CommunicationLinkOfElement.Matcher instantiate(final ViatraQueryEngine engine) {
600 return CommunicationLinkOfElement.Matcher.on(engine);
601 }
602
603 @Override
604 public CommunicationLinkOfElement.Matcher instantiate() {
605 return CommunicationLinkOfElement.Matcher.create();
606 }
607
608 @Override
609 public CommunicationLinkOfElement.Match newEmptyMatch() {
610 return CommunicationLinkOfElement.Match.newEmptyMatch();
611 }
612
613 @Override
614 public CommunicationLinkOfElement.Match newMatch(final Object... parameters) {
615 return CommunicationLinkOfElement.Match.newMatch((satellite.CommunicatingElement) parameters[0], (satellite.DirectedCommunicationLink) parameters[1]);
616 }
617
618 /**
619 * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement (visibility: PUBLIC, simpleName: CommunicationLinkOfElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
620 * <b>not</b> at the class load time of the outer class,
621 * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement (visibility: PUBLIC, simpleName: CommunicationLinkOfElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
622 *
623 * <p> This workaround is required e.g. to support recursion.
624 *
625 */
626 private static class LazyHolder {
627 private static final CommunicationLinkOfElement INSTANCE = new CommunicationLinkOfElement();
628
629 /**
630 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
631 * This initialization order is required to support indirect recursion.
632 *
633 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
634 *
635 */
636 private static final Object STATIC_INITIALIZER = ensureInitialized();
637
638 public static Object ensureInitialized() {
639 INSTANCE.ensureInitializedInternal();
640 return null;
641 }
642 }
643
644 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
645 private static final CommunicationLinkOfElement.GeneratedPQuery INSTANCE = new GeneratedPQuery();
646
647 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
648
649 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
650
651 private final List<PParameter> parameters = Arrays.asList(parameter_Element, parameter_Link);
652
653 private GeneratedPQuery() {
654 super(PVisibility.PUBLIC);
655 }
656
657 @Override
658 public String getFullyQualifiedName() {
659 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkOfElement";
660 }
661
662 @Override
663 public List<String> getParameterNames() {
664 return Arrays.asList("Element","Link");
665 }
666
667 @Override
668 public List<PParameter> getParameters() {
669 return parameters;
670 }
671
672 @Override
673 public Set<PBody> doGetContainedBodies() {
674 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
675 Set<PBody> bodies = new LinkedHashSet<>();
676 {
677 PBody body = new PBody(this);
678 PVariable var_Element = body.getOrCreateVariableByName("Element");
679 PVariable var_Link = body.getOrCreateVariableByName("Link");
680 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
681 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
682 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
683 new ExportedParameter(body, var_Element, parameter_Element),
684 new ExportedParameter(body, var_Link, parameter_Link)
685 ));
686 // CommunicatingElement.commSubsystem.communicationLink(Element, Link)
687 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
688 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
689 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
690 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
691 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
692 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "communicationLink")));
693 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
694 new Equality(body, var__virtual_1_, var_Link);
695 bodies.add(body);
696 }
697 {
698 PAnnotation annotation = new PAnnotation("QueryBasedFeature");
699 annotation.addAttribute("feature", "communicationLink");
700 addAnnotation(annotation);
701 }
702 return bodies;
703 }
704 }
705}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java
index ede57df8..f5835baf 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -38,7 +39,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
40import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
41import satellite.CommunicatingElement;
42 42
43/** 43/**
44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -472,7 +472,7 @@ public final class CommunicationLoop extends BaseGeneratedEMFQuerySpecification<
472 472
473 @Override 473 @Override
474 public CommunicationLoop.Match newMatch(final Object... parameters) { 474 public CommunicationLoop.Match newMatch(final Object... parameters) {
475 return CommunicationLoop.Match.newMatch((satellite.CommunicatingElement) parameters[0]); 475 return CommunicationLoop.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement) parameters[0]);
476 } 476 }
477 477
478 /** 478 /**
@@ -504,7 +504,7 @@ public final class CommunicationLoop extends BaseGeneratedEMFQuerySpecification<
504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
505 private static final CommunicationLoop.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 505 private static final CommunicationLoop.GeneratedPQuery INSTANCE = new GeneratedPQuery();
506 506
507 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 507 private final PParameter parameter_Element = new PParameter("Element", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
508 508
509 private final List<PParameter> parameters = Arrays.asList(parameter_Element); 509 private final List<PParameter> parameters = Arrays.asList(parameter_Element);
510 510
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java
index b73cb23f..ba69943a 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -43,7 +44,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
46import satellite.Spacecraft;
47 47
48/** 48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -477,7 +477,7 @@ public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecificati
477 477
478 @Override 478 @Override
479 public CubeSatWithKaAntenna.Match newMatch(final Object... parameters) { 479 public CubeSatWithKaAntenna.Match newMatch(final Object... parameters) {
480 return CubeSatWithKaAntenna.Match.newMatch((satellite.Spacecraft) parameters[0]); 480 return CubeSatWithKaAntenna.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]);
481 } 481 }
482 482
483 /** 483 /**
@@ -509,7 +509,7 @@ public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecificati
509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
510 private static final CubeSatWithKaAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 510 private static final CubeSatWithKaAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery();
511 511
512 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 512 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
513 513
514 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); 514 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft);
515 515
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java
index f2713f45..4cacc34b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -42,7 +43,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
45import satellite.DirectedCommunicationLink;
46 46
47/** 47/**
48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -480,7 +480,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
480 480
481 @Override 481 @Override
482 public IncompatibleSourceAndTargetBand.Match newMatch(final Object... parameters) { 482 public IncompatibleSourceAndTargetBand.Match newMatch(final Object... parameters) {
483 return IncompatibleSourceAndTargetBand.Match.newMatch((satellite.DirectedCommunicationLink) parameters[0]); 483 return IncompatibleSourceAndTargetBand.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]);
484 } 484 }
485 485
486 /** 486 /**
@@ -512,7 +512,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
512 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 512 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
513 private static final IncompatibleSourceAndTargetBand.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 513 private static final IncompatibleSourceAndTargetBand.GeneratedPQuery INSTANCE = new GeneratedPQuery();
514 514
515 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); 515 private final PParameter parameter_Link = new PParameter("Link", "hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
516 516
517 private final List<PParameter> parameters = Arrays.asList(parameter_Link); 517 private final List<PParameter> parameters = Arrays.asList(parameter_Link);
518 518
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java
index 33a4b067..3f247613 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -42,7 +43,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
45import satellite.DirectedCommunicationLink;
46 46
47/** 47/**
48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -476,7 +476,7 @@ public final class IncompatibleSourceAndTargetGain extends BaseGeneratedEMFQuery
476 476
477 @Override 477 @Override
478 public IncompatibleSourceAndTargetGain.Match newMatch(final Object... parameters) { 478 public IncompatibleSourceAndTargetGain.Match newMatch(final Object... parameters) {
479 return IncompatibleSourceAndTargetGain.Match.newMatch((satellite.DirectedCommunicationLink) parameters[0]); 479 return IncompatibleSourceAndTargetGain.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink) parameters[0]);
480 } 480 }
481 481
482 /** 482 /**
@@ -508,7 +508,7 @@ public final class IncompatibleSourceAndTargetGain extends BaseGeneratedEMFQuery
508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
509 private static final IncompatibleSourceAndTargetGain.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 509 private static final IncompatibleSourceAndTargetGain.GeneratedPQuery INSTANCE = new GeneratedPQuery();
510 510
511 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); 511 private final PParameter parameter_Link = new PParameter("Link", "hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
512 512
513 private final List<PParameter> parameters = Arrays.asList(parameter_Link); 513 private final List<PParameter> parameters = Arrays.asList(parameter_Link);
514 514
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java
index 37c35bfe..18f6c32f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
6import java.util.Arrays; 7import java.util.Arrays;
7import java.util.Collection; 8import java.util.Collection;
8import java.util.LinkedHashSet; 9import java.util.LinkedHashSet;
@@ -41,7 +42,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
44import satellite.CommSubsystem;
45 45
46/** 46/**
47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -475,7 +475,7 @@ public final class KaAntennaGainLow extends BaseGeneratedEMFQuerySpecification<K
475 475
476 @Override 476 @Override
477 public KaAntennaGainLow.Match newMatch(final Object... parameters) { 477 public KaAntennaGainLow.Match newMatch(final Object... parameters) {
478 return KaAntennaGainLow.Match.newMatch((satellite.CommSubsystem) parameters[0]); 478 return KaAntennaGainLow.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]);
479 } 479 }
480 480
481 /** 481 /**
@@ -507,7 +507,7 @@ public final class KaAntennaGainLow extends BaseGeneratedEMFQuerySpecification<K
507 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 507 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
508 private static final KaAntennaGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 508 private static final KaAntennaGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery();
509 509
510 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 510 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
511 511
512 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 512 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
513 513
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java
index 45952f33..598f3a6b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -40,7 +41,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
43import satellite.Spacecraft;
44 44
45/** 45/**
46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -476,7 +476,7 @@ public final class NoLinkToGroundStation extends BaseGeneratedEMFQuerySpecificat
476 476
477 @Override 477 @Override
478 public NoLinkToGroundStation.Match newMatch(final Object... parameters) { 478 public NoLinkToGroundStation.Match newMatch(final Object... parameters) {
479 return NoLinkToGroundStation.Match.newMatch((satellite.Spacecraft) parameters[0]); 479 return NoLinkToGroundStation.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]);
480 } 480 }
481 481
482 /** 482 /**
@@ -508,7 +508,7 @@ public final class NoLinkToGroundStation extends BaseGeneratedEMFQuerySpecificat
508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
509 private static final NoLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 509 private static final NoLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery();
510 510
511 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 511 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
512 512
513 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); 513 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft);
514 514
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java
index 3366de46..1e8f8502 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -40,7 +41,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
43import satellite.Spacecraft;
44 44
45/** 45/**
46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -472,7 +472,7 @@ public final class NoPotentialLinkToGroundStation extends BaseGeneratedEMFQueryS
472 472
473 @Override 473 @Override
474 public NoPotentialLinkToGroundStation.Match newMatch(final Object... parameters) { 474 public NoPotentialLinkToGroundStation.Match newMatch(final Object... parameters) {
475 return NoPotentialLinkToGroundStation.Match.newMatch((satellite.Spacecraft) parameters[0]); 475 return NoPotentialLinkToGroundStation.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0]);
476 } 476 }
477 477
478 /** 478 /**
@@ -504,7 +504,7 @@ public final class NoPotentialLinkToGroundStation extends BaseGeneratedEMFQueryS
504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
505 private static final NoPotentialLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 505 private static final NoPotentialLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery();
506 506
507 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 507 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
508 508
509 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); 509 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft);
510 510
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java
index bdd97100..d75dea5f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -38,7 +39,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
40import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
41import satellite.InterferometryMission;
42 42
43/** 43/**
44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 44 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -472,7 +472,7 @@ public final class NotEnoughInterferometryPayloads extends BaseGeneratedEMFQuery
472 472
473 @Override 473 @Override
474 public NotEnoughInterferometryPayloads.Match newMatch(final Object... parameters) { 474 public NotEnoughInterferometryPayloads.Match newMatch(final Object... parameters) {
475 return NotEnoughInterferometryPayloads.Match.newMatch((satellite.InterferometryMission) parameters[0]); 475 return NotEnoughInterferometryPayloads.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission) parameters[0]);
476 } 476 }
477 477
478 /** 478 /**
@@ -504,7 +504,7 @@ public final class NotEnoughInterferometryPayloads extends BaseGeneratedEMFQuery
504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
505 private static final NotEnoughInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 505 private static final NotEnoughInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery();
506 506
507 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); 507 private final PParameter parameter_Mission = new PParameter("Mission", "hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
508 508
509 private final List<PParameter> parameters = Arrays.asList(parameter_Mission); 509 private final List<PParameter> parameters = Arrays.asList(parameter_Mission);
510 510
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java
index d7378783..c86761ce 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java
@@ -3,13 +3,12 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; 8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna;
9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; 9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand;
10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain; 10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain;
11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow; 11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; 12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; 13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation;
15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; 14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads;
@@ -29,8 +28,7 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
29 * in order to achieve better performance than one-by-one on-demand matcher initialization. 28 * in order to achieve better performance than one-by-one on-demand matcher initialization.
30 * 29 *
31 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> 30 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul>
32 * <li>multipleCommunicationLinks</li> 31 * <li>communicationLinkDoesNotStartAtContainingElement</li>
33 * <li>communicationLinkOfElement</li>
34 * <li>notEnoughInterferometryPayloads</li> 32 * <li>notEnoughInterferometryPayloads</li>
35 * <li>noLinkToGroundStation</li> 33 * <li>noLinkToGroundStation</li>
36 * <li>noPotentialLinkToGroundStation</li> 34 * <li>noPotentialLinkToGroundStation</li>
@@ -68,8 +66,7 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
68 private static SatelliteQueries INSTANCE; 66 private static SatelliteQueries INSTANCE;
69 67
70 private SatelliteQueries() { 68 private SatelliteQueries() {
71 querySpecifications.add(MultipleCommunicationLinks.instance()); 69 querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance());
72 querySpecifications.add(CommunicationLinkOfElement.instance());
73 querySpecifications.add(NotEnoughInterferometryPayloads.instance()); 70 querySpecifications.add(NotEnoughInterferometryPayloads.instance());
74 querySpecifications.add(NoLinkToGroundStation.instance()); 71 querySpecifications.add(NoLinkToGroundStation.instance());
75 querySpecifications.add(NoPotentialLinkToGroundStation.instance()); 72 querySpecifications.add(NoPotentialLinkToGroundStation.instance());
@@ -85,20 +82,12 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
85 querySpecifications.add(SpacecraftOfKind.instance()); 82 querySpecifications.add(SpacecraftOfKind.instance());
86 } 83 }
87 84
88 public MultipleCommunicationLinks getMultipleCommunicationLinks() { 85 public CommunicationLinkDoesNotStartAtContainingElement getCommunicationLinkDoesNotStartAtContainingElement() {
89 return MultipleCommunicationLinks.instance(); 86 return CommunicationLinkDoesNotStartAtContainingElement.instance();
90 } 87 }
91 88
92 public MultipleCommunicationLinks.Matcher getMultipleCommunicationLinks(final ViatraQueryEngine engine) { 89 public CommunicationLinkDoesNotStartAtContainingElement.Matcher getCommunicationLinkDoesNotStartAtContainingElement(final ViatraQueryEngine engine) {
93 return MultipleCommunicationLinks.Matcher.on(engine); 90 return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine);
94 }
95
96 public CommunicationLinkOfElement getCommunicationLinkOfElement() {
97 return CommunicationLinkOfElement.instance();
98 }
99
100 public CommunicationLinkOfElement.Matcher getCommunicationLinkOfElement(final ViatraQueryEngine engine) {
101 return CommunicationLinkOfElement.Matcher.on(engine);
102 } 91 }
103 92
104 public NotEnoughInterferometryPayloads getNotEnoughInterferometryPayloads() { 93 public NotEnoughInterferometryPayloads getNotEnoughInterferometryPayloads() {
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java
index 4791740e..7bc497ab 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java
@@ -64,11 +64,11 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
64 * 64 *
65 */ 65 */
66 public static abstract class Match extends BasePatternMatch { 66 public static abstract class Match extends BasePatternMatch {
67 private satellite.SmallSat fSat; 67 private hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat fSat;
68 68
69 private static List<String> parameterNames = makeImmutableList("Sat"); 69 private static List<String> parameterNames = makeImmutableList("Sat");
70 70
71 private Match(final satellite.SmallSat pSat) { 71 private Match(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
72 this.fSat = pSat; 72 this.fSat = pSat;
73 } 73 }
74 74
@@ -78,7 +78,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
78 return null; 78 return null;
79 } 79 }
80 80
81 public satellite.SmallSat getSat() { 81 public hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat getSat() {
82 return this.fSat; 82 return this.fSat;
83 } 83 }
84 84
@@ -86,13 +86,13 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
86 public boolean set(final String parameterName, final Object newValue) { 86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("Sat".equals(parameterName) ) { 88 if ("Sat".equals(parameterName) ) {
89 this.fSat = (satellite.SmallSat) newValue; 89 this.fSat = (hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) newValue;
90 return true; 90 return true;
91 } 91 }
92 return false; 92 return false;
93 } 93 }
94 94
95 public void setSat(final satellite.SmallSat pSat) { 95 public void setSat(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fSat = pSat; 97 this.fSat = pSat;
98 } 98 }
@@ -173,7 +173,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
173 * @return the new, mutable (partial) match object. 173 * @return the new, mutable (partial) match object.
174 * 174 *
175 */ 175 */
176 public static SmallSat.Match newMutableMatch(final satellite.SmallSat pSat) { 176 public static SmallSat.Match newMutableMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
177 return new Mutable(pSat); 177 return new Mutable(pSat);
178 } 178 }
179 179
@@ -185,12 +185,12 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
185 * @return the (partial) match object. 185 * @return the (partial) match object.
186 * 186 *
187 */ 187 */
188 public static SmallSat.Match newMatch(final satellite.SmallSat pSat) { 188 public static SmallSat.Match newMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
189 return new Immutable(pSat); 189 return new Immutable(pSat);
190 } 190 }
191 191
192 private static final class Mutable extends SmallSat.Match { 192 private static final class Mutable extends SmallSat.Match {
193 Mutable(final satellite.SmallSat pSat) { 193 Mutable(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
194 super(pSat); 194 super(pSat);
195 } 195 }
196 196
@@ -201,7 +201,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
201 } 201 }
202 202
203 private static final class Immutable extends SmallSat.Match { 203 private static final class Immutable extends SmallSat.Match {
204 Immutable(final satellite.SmallSat pSat) { 204 Immutable(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
205 super(pSat); 205 super(pSat);
206 } 206 }
207 207
@@ -282,7 +282,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
282 * @return matches represented as a Match object. 282 * @return matches represented as a Match object.
283 * 283 *
284 */ 284 */
285 public Collection<SmallSat.Match> getAllMatches(final satellite.SmallSat pSat) { 285 public Collection<SmallSat.Match> getAllMatches(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
286 return rawStreamAllMatches(new Object[]{pSat}).collect(Collectors.toSet()); 286 return rawStreamAllMatches(new Object[]{pSat}).collect(Collectors.toSet());
287 } 287 }
288 288
@@ -296,7 +296,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
296 * @return a stream of matches represented as a Match object. 296 * @return a stream of matches represented as a Match object.
297 * 297 *
298 */ 298 */
299 public Stream<SmallSat.Match> streamAllMatches(final satellite.SmallSat pSat) { 299 public Stream<SmallSat.Match> streamAllMatches(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
300 return rawStreamAllMatches(new Object[]{pSat}); 300 return rawStreamAllMatches(new Object[]{pSat});
301 } 301 }
302 302
@@ -307,7 +307,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
307 * @return a match represented as a Match object, or null if no match is found. 307 * @return a match represented as a Match object, or null if no match is found.
308 * 308 *
309 */ 309 */
310 public Optional<SmallSat.Match> getOneArbitraryMatch(final satellite.SmallSat pSat) { 310 public Optional<SmallSat.Match> getOneArbitraryMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
311 return rawGetOneArbitraryMatch(new Object[]{pSat}); 311 return rawGetOneArbitraryMatch(new Object[]{pSat});
312 } 312 }
313 313
@@ -318,7 +318,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
318 * @return true if the input is a valid (partial) match of the pattern. 318 * @return true if the input is a valid (partial) match of the pattern.
319 * 319 *
320 */ 320 */
321 public boolean hasMatch(final satellite.SmallSat pSat) { 321 public boolean hasMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
322 return rawHasMatch(new Object[]{pSat}); 322 return rawHasMatch(new Object[]{pSat});
323 } 323 }
324 324
@@ -328,7 +328,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
328 * @return the number of pattern matches found. 328 * @return the number of pattern matches found.
329 * 329 *
330 */ 330 */
331 public int countMatches(final satellite.SmallSat pSat) { 331 public int countMatches(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
332 return rawCountMatches(new Object[]{pSat}); 332 return rawCountMatches(new Object[]{pSat});
333 } 333 }
334 334
@@ -340,7 +340,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 * 341 *
342 */ 342 */
343 public boolean forOneArbitraryMatch(final satellite.SmallSat pSat, final Consumer<? super SmallSat.Match> processor) { 343 public boolean forOneArbitraryMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat, final Consumer<? super SmallSat.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pSat}, processor); 344 return rawForOneArbitraryMatch(new Object[]{pSat}, processor);
345 } 345 }
346 346
@@ -352,7 +352,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
352 * @return the (partial) match object. 352 * @return the (partial) match object.
353 * 353 *
354 */ 354 */
355 public SmallSat.Match newMatch(final satellite.SmallSat pSat) { 355 public SmallSat.Match newMatch(final hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat pSat) {
356 return SmallSat.Match.newMatch(pSat); 356 return SmallSat.Match.newMatch(pSat);
357 } 357 }
358 358
@@ -361,8 +361,8 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
361 * @return the Set of all values or empty set if there are no matches 361 * @return the Set of all values or empty set if there are no matches
362 * 362 *
363 */ 363 */
364 protected Stream<satellite.SmallSat> rawStreamAllValuesOfSat(final Object[] parameters) { 364 protected Stream<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> rawStreamAllValuesOfSat(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_SAT, parameters).map(satellite.SmallSat.class::cast); 365 return rawStreamAllValues(POSITION_SAT, parameters).map(hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat.class::cast);
366 } 366 }
367 367
368 /** 368 /**
@@ -370,7 +370,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
370 * @return the Set of all values or empty set if there are no matches 370 * @return the Set of all values or empty set if there are no matches
371 * 371 *
372 */ 372 */
373 public Set<satellite.SmallSat> getAllValuesOfSat() { 373 public Set<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> getAllValuesOfSat() {
374 return rawStreamAllValuesOfSat(emptyArray()).collect(Collectors.toSet()); 374 return rawStreamAllValuesOfSat(emptyArray()).collect(Collectors.toSet());
375 } 375 }
376 376
@@ -379,14 +379,14 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
379 * @return the Set of all values or empty set if there are no matches 379 * @return the Set of all values or empty set if there are no matches
380 * 380 *
381 */ 381 */
382 public Stream<satellite.SmallSat> streamAllValuesOfSat() { 382 public Stream<hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat> streamAllValuesOfSat() {
383 return rawStreamAllValuesOfSat(emptyArray()); 383 return rawStreamAllValuesOfSat(emptyArray());
384 } 384 }
385 385
386 @Override 386 @Override
387 protected SmallSat.Match tupleToMatch(final Tuple t) { 387 protected SmallSat.Match tupleToMatch(final Tuple t) {
388 try { 388 try {
389 return SmallSat.Match.newMatch((satellite.SmallSat) t.get(POSITION_SAT)); 389 return SmallSat.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) t.get(POSITION_SAT));
390 } catch(ClassCastException e) { 390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e); 391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null; 392 return null;
@@ -396,7 +396,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
396 @Override 396 @Override
397 protected SmallSat.Match arrayToMatch(final Object[] match) { 397 protected SmallSat.Match arrayToMatch(final Object[] match) {
398 try { 398 try {
399 return SmallSat.Match.newMatch((satellite.SmallSat) match[POSITION_SAT]); 399 return SmallSat.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) match[POSITION_SAT]);
400 } catch(ClassCastException e) { 400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e); 401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null; 402 return null;
@@ -406,7 +406,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
406 @Override 406 @Override
407 protected SmallSat.Match arrayToMatchMutable(final Object[] match) { 407 protected SmallSat.Match arrayToMatchMutable(final Object[] match) {
408 try { 408 try {
409 return SmallSat.Match.newMutableMatch((satellite.SmallSat) match[POSITION_SAT]); 409 return SmallSat.Match.newMutableMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) match[POSITION_SAT]);
410 } catch(ClassCastException e) { 410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e); 411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null; 412 return null;
@@ -457,7 +457,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
457 457
458 @Override 458 @Override
459 public SmallSat.Match newMatch(final Object... parameters) { 459 public SmallSat.Match newMatch(final Object... parameters) {
460 return SmallSat.Match.newMatch((satellite.SmallSat) parameters[0]); 460 return SmallSat.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat) parameters[0]);
461 } 461 }
462 462
463 /** 463 /**
@@ -489,7 +489,7 @@ public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private static final SmallSat.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 490 private static final SmallSat.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491 491
492 private final PParameter parameter_Sat = new PParameter("Sat", "satellite.SmallSat", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "SmallSat")), PParameterDirection.INOUT); 492 private final PParameter parameter_Sat = new PParameter("Sat", "hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "SmallSat")), PParameterDirection.INOUT);
493 493
494 private final List<PParameter> parameters = Arrays.asList(parameter_Sat); 494 private final List<PParameter> parameters = Arrays.asList(parameter_Sat);
495 495
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java
index ed0bd7dc..52602bb5 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java
@@ -3,6 +3,8 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind;
6import java.util.Arrays; 8import java.util.Arrays;
7import java.util.Collection; 9import java.util.Collection;
8import java.util.LinkedHashSet; 10import java.util.LinkedHashSet;
@@ -39,8 +41,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
42import satellite.Spacecraft;
43import satellite.SpacecraftKind;
44 44
45/** 45/**
46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -628,7 +628,7 @@ public final class SpacecraftOfKind extends BaseGeneratedEMFQuerySpecification<S
628 628
629 @Override 629 @Override
630 public SpacecraftOfKind.Match newMatch(final Object... parameters) { 630 public SpacecraftOfKind.Match newMatch(final Object... parameters) {
631 return SpacecraftOfKind.Match.newMatch((satellite.Spacecraft) parameters[0], (satellite.SpacecraftKind) parameters[1]); 631 return SpacecraftOfKind.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft) parameters[0], (hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind) parameters[1]);
632 } 632 }
633 633
634 /** 634 /**
@@ -660,9 +660,9 @@ public final class SpacecraftOfKind extends BaseGeneratedEMFQuerySpecification<S
660 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 660 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
661 private static final SpacecraftOfKind.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 661 private static final SpacecraftOfKind.GeneratedPQuery INSTANCE = new GeneratedPQuery();
662 662
663 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 663 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
664 664
665 private final PParameter parameter_Kind = new PParameter("Kind", "satellite.SpacecraftKind", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "SpacecraftKind")), PParameterDirection.INOUT); 665 private final PParameter parameter_Kind = new PParameter("Kind", "hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "SpacecraftKind")), PParameterDirection.INOUT);
666 666
667 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Kind); 667 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Kind);
668 668
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java
index 51b224b1..6408033b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; 8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork;
8import java.util.Arrays; 9import java.util.Arrays;
@@ -41,7 +42,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
44import satellite.CubeSat3U;
45 45
46/** 46/**
47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -485,7 +485,7 @@ public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuer
485 485
486 @Override 486 @Override
487 public ThreeUCubeSatWithNonUhfCrossLink.Match newMatch(final Object... parameters) { 487 public ThreeUCubeSatWithNonUhfCrossLink.Match newMatch(final Object... parameters) {
488 return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch((satellite.CubeSat3U) parameters[0]); 488 return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U) parameters[0]);
489 } 489 }
490 490
491 /** 491 /**
@@ -517,7 +517,7 @@ public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuer
517 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 517 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
518 private static final ThreeUCubeSatWithNonUhfCrossLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 518 private static final ThreeUCubeSatWithNonUhfCrossLink.GeneratedPQuery INSTANCE = new GeneratedPQuery();
519 519
520 private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); 520 private final PParameter parameter_Sat = new PParameter("Sat", "hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT);
521 521
522 private final List<PParameter> parameters = Arrays.asList(parameter_Sat); 522 private final List<PParameter> parameters = Arrays.asList(parameter_Sat);
523 523
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java
index 99e472ea..62222ded 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -43,7 +44,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
46import satellite.CommSubsystem;
47 47
48/** 48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -483,7 +483,7 @@ public final class UhfAntennaGainNotLow extends BaseGeneratedEMFQuerySpecificati
483 483
484 @Override 484 @Override
485 public UhfAntennaGainNotLow.Match newMatch(final Object... parameters) { 485 public UhfAntennaGainNotLow.Match newMatch(final Object... parameters) {
486 return UhfAntennaGainNotLow.Match.newMatch((satellite.CommSubsystem) parameters[0]); 486 return UhfAntennaGainNotLow.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]);
487 } 487 }
488 488
489 /** 489 /**
@@ -515,7 +515,7 @@ public final class UhfAntennaGainNotLow extends BaseGeneratedEMFQuerySpecificati
515 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 515 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
516 private static final UhfAntennaGainNotLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 516 private static final UhfAntennaGainNotLow.GeneratedPQuery INSTANCE = new GeneratedPQuery();
517 517
518 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 518 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
519 519
520 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 520 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
521 521
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java
index b50962c5..dbe6d26e 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium;
7import java.util.Arrays; 8import java.util.Arrays;
8import java.util.Collection; 9import java.util.Collection;
@@ -43,7 +44,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 45import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 46import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
46import satellite.CommSubsystem;
47 47
48/** 48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -477,7 +477,7 @@ public final class XAntennaGainNotMedium extends BaseGeneratedEMFQuerySpecificat
477 477
478 @Override 478 @Override
479 public XAntennaGainNotMedium.Match newMatch(final Object... parameters) { 479 public XAntennaGainNotMedium.Match newMatch(final Object... parameters) {
480 return XAntennaGainNotMedium.Match.newMatch((satellite.CommSubsystem) parameters[0]); 480 return XAntennaGainNotMedium.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem) parameters[0]);
481 } 481 }
482 482
483 /** 483 /**
@@ -509,7 +509,7 @@ public final class XAntennaGainNotMedium extends BaseGeneratedEMFQuerySpecificat
509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
510 private static final XAntennaGainNotMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 510 private static final XAntennaGainNotMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery();
511 511
512 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 512 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
513 513
514 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 514 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
515 515
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java
index 58e7e183..d560ac93 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java
@@ -88,7 +88,7 @@ public final class AtLeastTwoInterferometryPayloads extends BaseGeneratedEMFQuer
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final AtLeastTwoInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final AtLeastTwoInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); 91 private final PParameter parameter_Mission = new PParameter("Mission", "hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
92 92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Mission); 93 private final List<PParameter> parameters = Arrays.asList(parameter_Mission);
94 94
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java
index 609e0b93..a0009587 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java
@@ -87,9 +87,9 @@ public final class CommSubsystemBand extends BaseGeneratedEMFQuerySpecificationW
87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
88 private static final CommSubsystemBand.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 88 private static final CommSubsystemBand.GeneratedPQuery INSTANCE = new GeneratedPQuery();
89 89
90 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 90 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
91 91
92 private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); 92 private final PParameter parameter_Band = new PParameter("Band", "hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT);
93 93
94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Band); 94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Band);
95 95
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java
index bc25ea59..51175ce3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java
@@ -88,7 +88,7 @@ public final class CommSubsystemBandUhf extends BaseGeneratedEMFQuerySpecificati
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemBandUhf.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final CommSubsystemBandUhf.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
92 92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
94 94
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java
index 69793a96..e2e0e2a1 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java
@@ -87,9 +87,9 @@ public final class CommSubsystemGain extends BaseGeneratedEMFQuerySpecificationW
87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
88 private static final CommSubsystemGain.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 88 private static final CommSubsystemGain.GeneratedPQuery INSTANCE = new GeneratedPQuery();
89 89
90 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 90 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
91 91
92 private final PParameter parameter_Gain = new PParameter("Gain", "satellite.AntennaGain", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "AntennaGain")), PParameterDirection.INOUT); 92 private final PParameter parameter_Gain = new PParameter("Gain", "hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "AntennaGain")), PParameterDirection.INOUT);
93 93
94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Gain); 94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Gain);
95 95
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java
index fd24f163..04ee67da 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java
@@ -88,7 +88,7 @@ public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificati
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final CommSubsystemGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
92 92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
94 94
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java
index 82b77bbc..4b3bc03b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java
@@ -88,7 +88,7 @@ public final class CommSubsystemGainMedium extends BaseGeneratedEMFQuerySpecific
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemGainMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final CommSubsystemGainMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 91 private final PParameter parameter_Comm = new PParameter("Comm", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
92 92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
94 94
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java
index acc60475..fe789893 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java
@@ -83,7 +83,7 @@ public final class CubeSat3U extends BaseGeneratedEMFQuerySpecificationWithGener
83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
84 private static final CubeSat3U.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 84 private static final CubeSat3U.GeneratedPQuery INSTANCE = new GeneratedPQuery();
85 85
86 private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); 86 private final PParameter parameter_Sat = new PParameter("Sat", "hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT);
87 87
88 private final List<PParameter> parameters = Arrays.asList(parameter_Sat); 88 private final List<PParameter> parameters = Arrays.asList(parameter_Sat);
89 89
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java
index a2123354..d6f5c53b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java
@@ -88,9 +88,9 @@ public final class DirectCommunicationLink extends BaseGeneratedEMFQuerySpecific
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final DirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 89 private static final DirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 90
91 private final PParameter parameter_Source = new PParameter("Source", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 91 private final PParameter parameter_Source = new PParameter("Source", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
92 92
93 private final PParameter parameter_Target = new PParameter("Target", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 93 private final PParameter parameter_Target = new PParameter("Target", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
94 94
95 private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target); 95 private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target);
96 96
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java
index 606cdfed..93b1a01b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java
@@ -83,7 +83,7 @@ public final class GroundStationNetwork extends BaseGeneratedEMFQuerySpecificati
83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
84 private static final GroundStationNetwork.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 84 private static final GroundStationNetwork.GeneratedPQuery INSTANCE = new GeneratedPQuery();
85 85
86 private final PParameter parameter_Network = new PParameter("Network", "satellite.GroundStationNetwork", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "GroundStationNetwork")), PParameterDirection.INOUT); 86 private final PParameter parameter_Network = new PParameter("Network", "hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "GroundStationNetwork")), PParameterDirection.INOUT);
87 87
88 private final List<PParameter> parameters = Arrays.asList(parameter_Network); 88 private final List<PParameter> parameters = Arrays.asList(parameter_Network);
89 89
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java
index dee8a83c..6d5e475c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java
@@ -85,9 +85,9 @@ public final class IndirectCommunicationLink extends BaseGeneratedEMFQuerySpecif
85 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 85 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
86 private static final IndirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 86 private static final IndirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery();
87 87
88 private final PParameter parameter_Source = new PParameter("Source", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 88 private final PParameter parameter_Source = new PParameter("Source", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
89 89
90 private final PParameter parameter_Target = new PParameter("Target", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 90 private final PParameter parameter_Target = new PParameter("Target", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
91 91
92 private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target); 92 private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target);
93 93
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java
index 31381a09..27648bf3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java
@@ -85,9 +85,9 @@ public final class IndirectLinkAllowed extends BaseGeneratedEMFQuerySpecificatio
85 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 85 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
86 private static final IndirectLinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 86 private static final IndirectLinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery();
87 87
88 private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 88 private final PParameter parameter_From = new PParameter("From", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
89 89
90 private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 90 private final PParameter parameter_To = new PParameter("To", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
91 91
92 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To); 92 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To);
93 93
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java
index 7118d657..e7529aa2 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java
@@ -96,9 +96,9 @@ public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGen
96 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 96 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
97 private static final LinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 97 private static final LinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery();
98 98
99 private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 99 private final PParameter parameter_From = new PParameter("From", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
100 100
101 private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 101 private final PParameter parameter_To = new PParameter("To", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
102 102
103 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To); 103 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To);
104 104
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
index 3a52ad1d..b4f0d9e9 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
@@ -90,11 +90,11 @@ public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWit
90 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 90 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
91 private static final MatchingAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 91 private static final MatchingAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery();
92 92
93 private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 93 private final PParameter parameter_From = new PParameter("From", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
94 94
95 private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 95 private final PParameter parameter_To = new PParameter("To", "hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
96 96
97 private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); 97 private final PParameter parameter_Band = new PParameter("Band", "hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT);
98 98
99 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To, parameter_Band); 99 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To, parameter_Band);
100 100
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java
index 591215cd..36fa4557 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java
@@ -3,13 +3,12 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkOfElement; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; 8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna;
9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; 9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand;
10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain; 10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain;
11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow; 11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.MultipleCommunicationLinks;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; 12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; 13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation;
15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; 14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads;
@@ -40,8 +39,7 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
40 * <p>A private group that includes private patterns as well. Only intended use case is for pattern testing. 39 * <p>A private group that includes private patterns as well. Only intended use case is for pattern testing.
41 * 40 *
42 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> 41 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul>
43 * <li>multipleCommunicationLinks</li> 42 * <li>communicationLinkDoesNotStartAtContainingElement</li>
44 * <li>communicationLinkOfElement</li>
45 * <li>notEnoughInterferometryPayloads</li> 43 * <li>notEnoughInterferometryPayloads</li>
46 * <li>atLeastTwoInterferometryPayloads</li> 44 * <li>atLeastTwoInterferometryPayloads</li>
47 * <li>spacecraftWithInterferometryPayload</li> 45 * <li>spacecraftWithInterferometryPayload</li>
@@ -93,8 +91,7 @@ public final class SatelliteQueriesAll extends BaseGeneratedPatternGroup {
93 private static SatelliteQueriesAll INSTANCE; 91 private static SatelliteQueriesAll INSTANCE;
94 92
95 private SatelliteQueriesAll() { 93 private SatelliteQueriesAll() {
96 querySpecifications.add(MultipleCommunicationLinks.instance()); 94 querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance());
97 querySpecifications.add(CommunicationLinkOfElement.instance());
98 querySpecifications.add(NotEnoughInterferometryPayloads.instance()); 95 querySpecifications.add(NotEnoughInterferometryPayloads.instance());
99 querySpecifications.add(AtLeastTwoInterferometryPayloads.instance()); 96 querySpecifications.add(AtLeastTwoInterferometryPayloads.instance());
100 querySpecifications.add(SpacecraftWithInterferometryPayload.instance()); 97 querySpecifications.add(SpacecraftWithInterferometryPayload.instance());
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java
index 9566c4c5..f8e6ca4f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java
@@ -87,9 +87,9 @@ public final class SpacecraftWithInterferometryPayload extends BaseGeneratedEMFQ
87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
88 private static final SpacecraftWithInterferometryPayload.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 88 private static final SpacecraftWithInterferometryPayload.GeneratedPQuery INSTANCE = new GeneratedPQuery();
89 89
90 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.ConstellationMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "ConstellationMission")), PParameterDirection.INOUT); 90 private final PParameter parameter_Mission = new PParameter("Mission", "hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "ConstellationMission")), PParameterDirection.INOUT);
91 91
92 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); 92 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
93 93
94 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft); 94 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft);
95 95