aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem1449
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel147
11 files changed, 0 insertions, 17184 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem
deleted file mode 100644
index ab54ab85..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem
+++ /dev/null
@@ -1,1449 +0,0 @@
1<?xml version="1.0" encoding="ASCII"?>
2<language:LogicProblem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" xmlns:language_1="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partial2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/partial2logicannotation" xmlns:viatra2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation">
3 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class" subtypes="//@types.1 //@types.15 //@types.16" isAbstract="true"/>
4 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class" subtypes="//@types.17 //@types.18" supertypes="//@types.0" isAbstract="true"/>
5 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class" subtypes="//@types.3 //@types.4 //@types.19 //@types.20" isAbstract="true"/>
6 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class" subtypes="//@types.21 //@types.22" supertypes="//@types.2" isAbstract="true"/>
7 <types xsi:type="language_1:TypeDeclaration" name="Spacecraft class" subtypes="//@types.10 //@types.11" supertypes="//@types.2 //@types.20" isAbstract="true"/>
8 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class" subtypes="//@types.12 //@types.13 //@types.14 //@types.23 //@types.24" isAbstract="true"/>
9 <types xsi:type="language_1:TypeDeclaration" name="Payload class" subtypes="//@types.7" isAbstract="true"/>
10 <types xsi:type="language_1:TypeDeclaration" name="InterferometryPayload class" supertypes="//@types.6"/>
11 <types xsi:type="language_1:TypeDeclaration" name="CubeSat3U class" supertypes="//@types.11"/>
12 <types xsi:type="language_1:TypeDeclaration" name="CubeSat6U class" supertypes="//@types.11"/>
13 <types xsi:type="language_1:TypeDeclaration" name="SmallSat class" supertypes="//@types.4"/>
14 <types xsi:type="language_1:TypeDeclaration" name="CubeSat class" subtypes="//@types.8 //@types.9" supertypes="//@types.4" isAbstract="true"/>
15 <types xsi:type="language_1:TypeDeclaration" name="UHFCommSubsystem class" supertypes="//@types.5 //@types.24"/>
16 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class" subtypes="//@types.25 //@types.26" supertypes="//@types.5" isAbstract="true"/>
17 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class" subtypes="//@types.27 //@types.28" supertypes="//@types.5" isAbstract="true"/>
18 <types xsi:type="language_1:TypeDefinition" name="ConstellationMission class DefinedPart" subtypes="//@types.17" supertypes="//@types.0" isAbstract="true" elements="//@elements.0"/>
19 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class UndefinedPart" subtypes="//@types.18" supertypes="//@types.0" isAbstract="true"/>
20 <types xsi:type="language_1:TypeDefinition" name="InterferometryMission class DefinedPart" supertypes="//@types.1 //@types.15" elements="//@elements.0"/>
21 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class UndefinedPart" supertypes="//@types.1 //@types.16"/>
22 <types xsi:type="language_1:TypeDefinition" name="CommunicatingElement class DefinedPart" subtypes="//@types.21" supertypes="//@types.2" isAbstract="true" elements="//@elements.1"/>
23 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class UndefinedPart" subtypes="//@types.22 //@types.4" supertypes="//@types.2" isAbstract="true"/>
24 <types xsi:type="language_1:TypeDefinition" name="GroundStationNetwork class DefinedPart" supertypes="//@types.3 //@types.19" elements="//@elements.1"/>
25 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class UndefinedPart" supertypes="//@types.3 //@types.20"/>
26 <types xsi:type="language_1:TypeDefinition" name="CommSubsystem class DefinedPart" subtypes="//@types.25 //@types.27" supertypes="//@types.5" isAbstract="true" elements="//@elements.2 //@elements.3"/>
27 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class UndefinedPart" subtypes="//@types.12 //@types.26 //@types.28" supertypes="//@types.5" isAbstract="true"/>
28 <types xsi:type="language_1:TypeDefinition" name="XCommSubsystem class DefinedPart" supertypes="//@types.13 //@types.23" elements="//@elements.2"/>
29 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class UndefinedPart" supertypes="//@types.13 //@types.24"/>
30 <types xsi:type="language_1:TypeDefinition" name="KaCommSubsystem class DefinedPart" supertypes="//@types.14 //@types.23" elements="//@elements.3"/>
31 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class UndefinedPart" supertypes="//@types.14 //@types.24"/>
32 <assertions name="lowerMultiplicity groundStationNetwork ConstellationMission" annotations="//@annotations.0">
33 <value xsi:type="language_1:Forall">
34 <quantifiedVariables name="src">
35 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
36 </quantifiedVariables>
37 <expression xsi:type="language_1:Exists">
38 <quantifiedVariables name="trg 1">
39 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
40 </quantifiedVariables>
41 <expression xsi:type="language_1:And">
42 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
43 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.0/@value/@quantifiedVariables.0"/>
44 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.0/@value/@expression/@quantifiedVariables.0"/>
45 </operands>
46 </expression>
47 </expression>
48 </value>
49 </assertions>
50 <assertions name="upperMultiplicity groundStationNetwork ConstellationMission" annotations="//@annotations.1">
51 <value xsi:type="language_1:Forall">
52 <quantifiedVariables name="src">
53 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
54 </quantifiedVariables>
55 <quantifiedVariables name="trg 1">
56 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
57 </quantifiedVariables>
58 <quantifiedVariables name="trg 2">
59 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
60 </quantifiedVariables>
61 <expression xsi:type="language_1:Impl">
62 <leftOperand xsi:type="language_1:And">
63 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
64 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.0"/>
65 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.1"/>
66 </operands>
67 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
68 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.0"/>
69 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.2"/>
70 </operands>
71 </leftOperand>
72 <rightOperand xsi:type="language_1:Not">
73 <operand xsi:type="language_1:Distinct">
74 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.1"/>
75 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.1/@value/@quantifiedVariables.2"/>
76 </operand>
77 </rightOperand>
78 </expression>
79 </value>
80 </assertions>
81 <assertions name="lowerMultiplicity spacecraft ConstellationMission" annotations="//@annotations.2">
82 <value xsi:type="language_1:Forall">
83 <quantifiedVariables name="src">
84 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
85 </quantifiedVariables>
86 <expression xsi:type="language_1:Exists">
87 <quantifiedVariables name="trg 1">
88 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
89 </quantifiedVariables>
90 <quantifiedVariables name="trg 2">
91 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
92 </quantifiedVariables>
93 <expression xsi:type="language_1:And">
94 <operands xsi:type="language_1:Distinct">
95 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@expression/@quantifiedVariables.0"/>
96 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@expression/@quantifiedVariables.1"/>
97 </operands>
98 <operands xsi:type="language_1:And">
99 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
100 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/>
101 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@expression/@quantifiedVariables.0"/>
102 </operands>
103 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
104 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@quantifiedVariables.0"/>
105 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.2/@value/@expression/@quantifiedVariables.1"/>
106 </operands>
107 </operands>
108 </expression>
109 </expression>
110 </value>
111 </assertions>
112 <assertions name="upperMultiplicity spacecraft ConstellationMission" annotations="//@annotations.3">
113 <value xsi:type="language_1:Forall">
114 <quantifiedVariables name="src">
115 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
116 </quantifiedVariables>
117 <quantifiedVariables name="trg 1">
118 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
119 </quantifiedVariables>
120 <quantifiedVariables name="trg 2">
121 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
122 </quantifiedVariables>
123 <quantifiedVariables name="trg 3">
124 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
125 </quantifiedVariables>
126 <quantifiedVariables name="trg 4">
127 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
128 </quantifiedVariables>
129 <quantifiedVariables name="trg 5">
130 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
131 </quantifiedVariables>
132 <quantifiedVariables name="trg 6">
133 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
134 </quantifiedVariables>
135 <quantifiedVariables name="trg 7">
136 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
137 </quantifiedVariables>
138 <quantifiedVariables name="trg 8">
139 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
140 </quantifiedVariables>
141 <quantifiedVariables name="trg 9">
142 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
143 </quantifiedVariables>
144 <quantifiedVariables name="trg 10">
145 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
146 </quantifiedVariables>
147 <quantifiedVariables name="trg 11">
148 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
149 </quantifiedVariables>
150 <quantifiedVariables name="trg 12">
151 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
152 </quantifiedVariables>
153 <quantifiedVariables name="trg 13">
154 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
155 </quantifiedVariables>
156 <quantifiedVariables name="trg 14">
157 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
158 </quantifiedVariables>
159 <quantifiedVariables name="trg 15">
160 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
161 </quantifiedVariables>
162 <quantifiedVariables name="trg 16">
163 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
164 </quantifiedVariables>
165 <quantifiedVariables name="trg 17">
166 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
167 </quantifiedVariables>
168 <quantifiedVariables name="trg 18">
169 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
170 </quantifiedVariables>
171 <quantifiedVariables name="trg 19">
172 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
173 </quantifiedVariables>
174 <quantifiedVariables name="trg 20">
175 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
176 </quantifiedVariables>
177 <quantifiedVariables name="trg 21">
178 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
179 </quantifiedVariables>
180 <quantifiedVariables name="trg 22">
181 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
182 </quantifiedVariables>
183 <quantifiedVariables name="trg 23">
184 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
185 </quantifiedVariables>
186 <quantifiedVariables name="trg 24">
187 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
188 </quantifiedVariables>
189 <quantifiedVariables name="trg 25">
190 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
191 </quantifiedVariables>
192 <quantifiedVariables name="trg 26">
193 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
194 </quantifiedVariables>
195 <quantifiedVariables name="trg 27">
196 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
197 </quantifiedVariables>
198 <quantifiedVariables name="trg 28">
199 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
200 </quantifiedVariables>
201 <quantifiedVariables name="trg 29">
202 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
203 </quantifiedVariables>
204 <quantifiedVariables name="trg 30">
205 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
206 </quantifiedVariables>
207 <quantifiedVariables name="trg 31">
208 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
209 </quantifiedVariables>
210 <quantifiedVariables name="trg 32">
211 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
212 </quantifiedVariables>
213 <quantifiedVariables name="trg 33">
214 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
215 </quantifiedVariables>
216 <quantifiedVariables name="trg 34">
217 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
218 </quantifiedVariables>
219 <quantifiedVariables name="trg 35">
220 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
221 </quantifiedVariables>
222 <quantifiedVariables name="trg 36">
223 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
224 </quantifiedVariables>
225 <quantifiedVariables name="trg 37">
226 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
227 </quantifiedVariables>
228 <quantifiedVariables name="trg 38">
229 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
230 </quantifiedVariables>
231 <quantifiedVariables name="trg 39">
232 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
233 </quantifiedVariables>
234 <quantifiedVariables name="trg 40">
235 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
236 </quantifiedVariables>
237 <quantifiedVariables name="trg 41">
238 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
239 </quantifiedVariables>
240 <quantifiedVariables name="trg 42">
241 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
242 </quantifiedVariables>
243 <quantifiedVariables name="trg 43">
244 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
245 </quantifiedVariables>
246 <quantifiedVariables name="trg 44">
247 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
248 </quantifiedVariables>
249 <quantifiedVariables name="trg 45">
250 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
251 </quantifiedVariables>
252 <quantifiedVariables name="trg 46">
253 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
254 </quantifiedVariables>
255 <quantifiedVariables name="trg 47">
256 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
257 </quantifiedVariables>
258 <quantifiedVariables name="trg 48">
259 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
260 </quantifiedVariables>
261 <quantifiedVariables name="trg 49">
262 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
263 </quantifiedVariables>
264 <quantifiedVariables name="trg 50">
265 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
266 </quantifiedVariables>
267 <quantifiedVariables name="trg 51">
268 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
269 </quantifiedVariables>
270 <expression xsi:type="language_1:Impl">
271 <leftOperand xsi:type="language_1:And">
272 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
273 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
274 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.1"/>
275 </operands>
276 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
277 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
278 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.2"/>
279 </operands>
280 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
281 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
282 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.3"/>
283 </operands>
284 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
285 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
286 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.4"/>
287 </operands>
288 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
289 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
290 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.5"/>
291 </operands>
292 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
293 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
294 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.6"/>
295 </operands>
296 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
297 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
298 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.7"/>
299 </operands>
300 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
301 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
302 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.8"/>
303 </operands>
304 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
305 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
306 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.9"/>
307 </operands>
308 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
309 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.10"/>
311 </operands>
312 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
313 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
314 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.11"/>
315 </operands>
316 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
317 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
318 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.12"/>
319 </operands>
320 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
321 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
322 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.13"/>
323 </operands>
324 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
325 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
326 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.14"/>
327 </operands>
328 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
329 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
330 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.15"/>
331 </operands>
332 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
333 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
334 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.16"/>
335 </operands>
336 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
337 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
338 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.17"/>
339 </operands>
340 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
341 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
342 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.18"/>
343 </operands>
344 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
345 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
346 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.19"/>
347 </operands>
348 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
349 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
350 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.20"/>
351 </operands>
352 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
353 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
354 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.21"/>
355 </operands>
356 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
357 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
358 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.22"/>
359 </operands>
360 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
361 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
362 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.23"/>
363 </operands>
364 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
365 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
366 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.24"/>
367 </operands>
368 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
369 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
370 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.25"/>
371 </operands>
372 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
373 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
374 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.26"/>
375 </operands>
376 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
377 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
378 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.27"/>
379 </operands>
380 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
381 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
382 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.28"/>
383 </operands>
384 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
385 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
386 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.29"/>
387 </operands>
388 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
389 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
390 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.30"/>
391 </operands>
392 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
393 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
394 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.31"/>
395 </operands>
396 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
397 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
398 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.32"/>
399 </operands>
400 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
401 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
402 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.33"/>
403 </operands>
404 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
405 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
406 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.34"/>
407 </operands>
408 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
409 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
410 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.35"/>
411 </operands>
412 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
413 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
414 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.36"/>
415 </operands>
416 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
417 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
418 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.37"/>
419 </operands>
420 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
421 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
422 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.38"/>
423 </operands>
424 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
425 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
426 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.39"/>
427 </operands>
428 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
429 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
430 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.40"/>
431 </operands>
432 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
433 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
434 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.41"/>
435 </operands>
436 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
437 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
438 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.42"/>
439 </operands>
440 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
441 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
442 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.43"/>
443 </operands>
444 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
445 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
446 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.44"/>
447 </operands>
448 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
449 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
450 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.45"/>
451 </operands>
452 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
453 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
454 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.46"/>
455 </operands>
456 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
457 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
458 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.47"/>
459 </operands>
460 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
461 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
462 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.48"/>
463 </operands>
464 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
465 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
466 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.49"/>
467 </operands>
468 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
469 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
470 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.50"/>
471 </operands>
472 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
473 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.0"/>
474 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.51"/>
475 </operands>
476 </leftOperand>
477 <rightOperand xsi:type="language_1:Not">
478 <operand xsi:type="language_1:Distinct">
479 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.1"/>
480 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.2"/>
481 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.3"/>
482 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.4"/>
483 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.5"/>
484 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.6"/>
485 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.7"/>
486 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.8"/>
487 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.9"/>
488 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.10"/>
489 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.11"/>
490 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.12"/>
491 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.13"/>
492 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.14"/>
493 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.15"/>
494 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.16"/>
495 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.17"/>
496 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.18"/>
497 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.19"/>
498 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.20"/>
499 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.21"/>
500 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.22"/>
501 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.23"/>
502 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.24"/>
503 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.25"/>
504 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.26"/>
505 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.27"/>
506 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.28"/>
507 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.29"/>
508 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.30"/>
509 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.31"/>
510 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.32"/>
511 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.33"/>
512 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.34"/>
513 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.35"/>
514 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.36"/>
515 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.37"/>
516 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.38"/>
517 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.39"/>
518 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.40"/>
519 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.41"/>
520 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.42"/>
521 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.43"/>
522 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.44"/>
523 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.45"/>
524 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.46"/>
525 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.47"/>
526 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.48"/>
527 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.49"/>
528 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.50"/>
529 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.3/@value/@quantifiedVariables.51"/>
530 </operand>
531 </rightOperand>
532 </expression>
533 </value>
534 </assertions>
535 <assertions name="lowerMultiplicity commSubsystem CommunicatingElement" annotations="//@annotations.4">
536 <value xsi:type="language_1:Forall">
537 <quantifiedVariables name="src">
538 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
539 </quantifiedVariables>
540 <expression xsi:type="language_1:Exists">
541 <quantifiedVariables name="trg 1">
542 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
543 </quantifiedVariables>
544 <expression xsi:type="language_1:And">
545 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
546 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@quantifiedVariables.0"/>
547 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.4/@value/@expression/@quantifiedVariables.0"/>
548 </operands>
549 </expression>
550 </expression>
551 </value>
552 </assertions>
553 <assertions name="upperMultiplicity commSubsystem CommunicatingElement" annotations="//@annotations.5">
554 <value xsi:type="language_1:Forall">
555 <quantifiedVariables name="src">
556 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
557 </quantifiedVariables>
558 <quantifiedVariables name="trg 1">
559 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
560 </quantifiedVariables>
561 <quantifiedVariables name="trg 2">
562 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
563 </quantifiedVariables>
564 <quantifiedVariables name="trg 3">
565 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
566 </quantifiedVariables>
567 <expression xsi:type="language_1:Impl">
568 <leftOperand xsi:type="language_1:And">
569 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
570 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.0"/>
571 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.1"/>
572 </operands>
573 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
574 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.0"/>
575 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.2"/>
576 </operands>
577 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
578 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.0"/>
579 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.3"/>
580 </operands>
581 </leftOperand>
582 <rightOperand xsi:type="language_1:Not">
583 <operand xsi:type="language_1:Distinct">
584 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.1"/>
585 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.2"/>
586 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.5/@value/@quantifiedVariables.3"/>
587 </operand>
588 </rightOperand>
589 </expression>
590 </value>
591 </assertions>
592 <assertions name="upperMultiplicity payload Spacecraft" annotations="//@annotations.6">
593 <value xsi:type="language_1:Forall">
594 <quantifiedVariables name="src">
595 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
596 </quantifiedVariables>
597 <quantifiedVariables name="trg 1">
598 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
599 </quantifiedVariables>
600 <quantifiedVariables name="trg 2">
601 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
602 </quantifiedVariables>
603 <expression xsi:type="language_1:Impl">
604 <leftOperand xsi:type="language_1:And">
605 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
606 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.0"/>
607 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.1"/>
608 </operands>
609 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
610 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.0"/>
611 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.2"/>
612 </operands>
613 </leftOperand>
614 <rightOperand xsi:type="language_1:Not">
615 <operand xsi:type="language_1:Distinct">
616 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.1"/>
617 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.6/@value/@quantifiedVariables.2"/>
618 </operand>
619 </rightOperand>
620 </expression>
621 </value>
622 </assertions>
623 <assertions name="upperMultiplicity target CommSubsystem" annotations="//@annotations.7">
624 <value xsi:type="language_1:Forall">
625 <quantifiedVariables name="src">
626 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
627 </quantifiedVariables>
628 <quantifiedVariables name="trg 1">
629 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
630 </quantifiedVariables>
631 <quantifiedVariables name="trg 2">
632 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
633 </quantifiedVariables>
634 <expression xsi:type="language_1:Impl">
635 <leftOperand xsi:type="language_1:And">
636 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
637 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.0"/>
638 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.1"/>
639 </operands>
640 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
641 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.0"/>
642 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.2"/>
643 </operands>
644 </leftOperand>
645 <rightOperand xsi:type="language_1:Not">
646 <operand xsi:type="language_1:Distinct">
647 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.1"/>
648 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.7/@value/@quantifiedVariables.2"/>
649 </operand>
650 </rightOperand>
651 </expression>
652 </value>
653 </assertions>
654 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.8">
655 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
656 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
657 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
658 </value>
659 </assertions>
660 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.9">
661 <value xsi:type="language_1:And">
662 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
663 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
664 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
665 </operands>
666 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
667 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
668 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/>
669 </operands>
670 </value>
671 </assertions>
672 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.32">
673 <value xsi:type="language_1:Forall">
674 <quantifiedVariables name="p0">
675 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
676 </quantifiedVariables>
677 <expression xsi:type="language_1:Not">
678 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
679 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
680 </operand>
681 </expression>
682 </value>
683 </assertions>
684 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.33">
685 <value xsi:type="language_1:Forall">
686 <quantifiedVariables name="p0">
687 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
688 </quantifiedVariables>
689 <expression xsi:type="language_1:Not">
690 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
691 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
692 </operand>
693 </expression>
694 </value>
695 </assertions>
696 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.34">
697 <value xsi:type="language_1:Forall">
698 <quantifiedVariables name="p0">
699 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
700 </quantifiedVariables>
701 <expression xsi:type="language_1:Not">
702 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
703 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/>
704 </operand>
705 </expression>
706 </value>
707 </assertions>
708 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.35">
709 <value xsi:type="language_1:Forall">
710 <quantifiedVariables name="p0">
711 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
712 </quantifiedVariables>
713 <expression xsi:type="language_1:Not">
714 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11">
715 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
716 </operand>
717 </expression>
718 </value>
719 </assertions>
720 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.36">
721 <value xsi:type="language_1:Forall">
722 <quantifiedVariables name="p0">
723 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
724 </quantifiedVariables>
725 <expression xsi:type="language_1:Not">
726 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
727 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
728 </operand>
729 </expression>
730 </value>
731 </assertions>
732 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.37">
733 <value xsi:type="language_1:Forall">
734 <quantifiedVariables name="p0">
735 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
736 </quantifiedVariables>
737 <expression xsi:type="language_1:Not">
738 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21">
739 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
740 </operand>
741 </expression>
742 </value>
743 </assertions>
744 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.38">
745 <value xsi:type="language_1:Forall">
746 <quantifiedVariables name="p0">
747 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
748 </quantifiedVariables>
749 <expression xsi:type="language_1:Not">
750 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22">
751 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
752 </operand>
753 </expression>
754 </value>
755 </assertions>
756 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.39">
757 <value xsi:type="language_1:Forall">
758 <quantifiedVariables name="p0">
759 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
760 </quantifiedVariables>
761 <expression xsi:type="language_1:Not">
762 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25">
763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
764 </operand>
765 </expression>
766 </value>
767 </assertions>
768 <relations xsi:type="language_1:RelationDeclaration" name="groundStationNetwork reference ConstellationMission">
769 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
770 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
771 </relations>
772 <relations xsi:type="language_1:RelationDeclaration" name="spacecraft reference ConstellationMission">
773 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
774 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
775 </relations>
776 <relations xsi:type="language_1:RelationDeclaration" name="commSubsystem reference CommunicatingElement">
777 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
778 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
779 </relations>
780 <relations xsi:type="language_1:RelationDeclaration" name="payload reference Spacecraft">
781 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
782 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
783 </relations>
784 <relations xsi:type="language_1:RelationDeclaration" name="target reference CommSubsystem">
785 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
786 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
787 </relations>
788 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.10">
789 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
790 <variables name="parameter Element">
791 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
792 </variables>
793 <value xsi:type="language_1:Or">
794 <operands xsi:type="language_1:Exists">
795 <quantifiedVariables name="variable Comm1">
796 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
797 </quantifiedVariables>
798 <quantifiedVariables name="variable Comm2">
799 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
800 </quantifiedVariables>
801 <expression xsi:type="language_1:And">
802 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
803 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@variables.0"/>
804 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.0"/>
805 </operands>
806 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
807 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@variables.0"/>
808 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.1"/>
809 </operands>
810 <operands xsi:type="language_1:Distinct">
811 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.0"/>
812 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.1"/>
813 </operands>
814 </expression>
815 </operands>
816 </value>
817 </relations>
818 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem" annotations="//@annotations.11">
819 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
820 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
821 <variables name="parameter Element">
822 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
823 </variables>
824 <variables name="parameter Comm">
825 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
826 </variables>
827 <value xsi:type="language_1:Or">
828 <operands xsi:type="language_1:Exists">
829 <quantifiedVariables name="variable 0">
830 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
831 </quantifiedVariables>
832 <expression xsi:type="language_1:And">
833 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
834 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.0"/>
835 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/>
836 </operands>
837 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
838 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/>
839 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@value/@operands.0/@quantifiedVariables.0"/>
840 </operands>
841 <operands xsi:type="language_1:InstanceOf">
842 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@value/@operands.0/@quantifiedVariables.0"/>
843 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
844 </operands>
845 </expression>
846 </operands>
847 </value>
848 </relations>
849 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.12">
850 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
851 <variables name="parameter Mission">
852 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
853 </variables>
854 <value xsi:type="language_1:Or">
855 <operands xsi:type="language_1:And">
856 <operands xsi:type="language_1:InstanceOf">
857 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
858 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
859 </operands>
860 <operands xsi:type="language_1:Not">
861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
863 </operand>
864 </operands>
865 </operands>
866 </value>
867 </relations>
868 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.13">
869 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
870 <variables name="parameter Mission">
871 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
872 </variables>
873 <value xsi:type="language_1:Or">
874 <operands xsi:type="language_1:Exists">
875 <quantifiedVariables name="variable Spacecraft1">
876 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
877 </quantifiedVariables>
878 <quantifiedVariables name="variable Spacecraft2">
879 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
880 </quantifiedVariables>
881 <expression xsi:type="language_1:And">
882 <operands xsi:type="language_1:InstanceOf">
883 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
884 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
885 </operands>
886 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
887 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
888 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/>
889 </operands>
890 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
891 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
892 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.1"/>
893 </operands>
894 <operands xsi:type="language_1:Distinct">
895 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/>
896 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.1"/>
897 </operands>
898 </expression>
899 </operands>
900 </value>
901 </relations>
902 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.14">
903 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
904 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
905 <variables name="parameter Mission">
906 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
907 </variables>
908 <variables name="parameter Spacecraft">
909 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
910 </variables>
911 <value xsi:type="language_1:Or">
912 <operands xsi:type="language_1:Exists">
913 <quantifiedVariables name="variable Payload">
914 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
915 </quantifiedVariables>
916 <expression xsi:type="language_1:And">
917 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/>
919 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.1"/>
920 </operands>
921 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.1"/>
923 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/>
924 </operands>
925 <operands xsi:type="language_1:InstanceOf">
926 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/>
927 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
928 </operands>
929 </expression>
930 </operands>
931 </value>
932 </relations>
933 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.15">
934 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
935 <variables name="parameter Spacecraft">
936 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
937 </variables>
938 <value xsi:type="language_1:Or">
939 <operands xsi:type="language_1:Exists">
940 <quantifiedVariables name="variable Mission">
941 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
942 </quantifiedVariables>
943 <quantifiedVariables name="variable GroundStation">
944 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
945 </quantifiedVariables>
946 <expression xsi:type="language_1:And">
947 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
948 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
949 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
950 </operands>
951 <operands xsi:type="language_1:InstanceOf">
952 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
953 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
954 </operands>
955 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
956 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
957 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
958 </operands>
959 <operands xsi:type="language_1:InstanceOf">
960 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
961 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
962 </operands>
963 <operands xsi:type="language_1:Not">
964 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
965 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
966 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
967 </operand>
968 </operands>
969 </expression>
970 </operands>
971 </value>
972 </relations>
973 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.16">
974 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
975 <variables name="parameter Spacecraft">
976 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
977 </variables>
978 <value xsi:type="language_1:Or">
979 <operands xsi:type="language_1:Exists">
980 <quantifiedVariables name="variable Mission">
981 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
982 </quantifiedVariables>
983 <quantifiedVariables name="variable GroundStation">
984 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
985 </quantifiedVariables>
986 <expression xsi:type="language_1:And">
987 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
988 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
989 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
990 </operands>
991 <operands xsi:type="language_1:InstanceOf">
992 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
993 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
994 </operands>
995 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
996 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
997 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
998 </operands>
999 <operands xsi:type="language_1:InstanceOf">
1000 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1002 </operands>
1003 <operands xsi:type="language_1:Not">
1004 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12">
1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1006 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1007 </operand>
1008 </operands>
1009 </expression>
1010 </operands>
1011 </value>
1012 </relations>
1013 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.17">
1014 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1015 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1016 <variables name="parameter From">
1017 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1018 </variables>
1019 <variables name="parameter To">
1020 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1021 </variables>
1022 <value xsi:type="language_1:Or">
1023 <operands xsi:type="language_1:And">
1024 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.13"/>
1025 </operands>
1026 </value>
1027 </relations>
1028 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.18">
1029 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1030 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1031 <variables name="parameter From">
1032 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1033 </variables>
1034 <variables name="parameter To">
1035 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1036 </variables>
1037 <value xsi:type="language_1:Or">
1038 <operands xsi:type="language_1:And">
1039 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1040 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1041 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1042 </operands>
1043 <operands xsi:type="language_1:Not">
1044 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16">
1045 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1046 </operand>
1047 </operands>
1048 </operands>
1049 <operands xsi:type="language_1:And">
1050 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1051 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1052 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1053 </operands>
1054 <operands xsi:type="language_1:InstanceOf">
1055 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1056 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1057 </operands>
1058 </operands>
1059 <operands xsi:type="language_1:And">
1060 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1061 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1062 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1063 </operands>
1064 <operands xsi:type="language_1:InstanceOf">
1065 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1066 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1067 </operands>
1068 <operands xsi:type="language_1:InstanceOf">
1069 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1070 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1071 </operands>
1072 </operands>
1073 </value>
1074 </relations>
1075 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.19">
1076 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1077 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1078 <variables name="parameter From">
1079 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1080 </variables>
1081 <variables name="parameter To">
1082 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1083 </variables>
1084 <value xsi:type="language_1:Or">
1085 <operands xsi:type="language_1:Exists">
1086 <quantifiedVariables name="variable FromSys">
1087 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1088 </quantifiedVariables>
1089 <quantifiedVariables name="variable ToSys">
1090 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1091 </quantifiedVariables>
1092 <expression xsi:type="language_1:And">
1093 <operands xsi:type="language_1:InstanceOf">
1094 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1095 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1096 </operands>
1097 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1098 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1099 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1100 </operands>
1101 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1102 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
1103 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1104 </operands>
1105 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1106 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1107 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1108 </operands>
1109 </expression>
1110 </operands>
1111 </value>
1112 </relations>
1113 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem" annotations="//@annotations.20">
1114 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1115 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1116 <variables name="parameter From">
1117 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1118 </variables>
1119 <variables name="parameter To">
1120 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1121 </variables>
1122 <value xsi:type="language_1:Or">
1123 <operands xsi:type="language_1:And">
1124 <operands xsi:type="language_1:InstanceOf">
1125 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1126 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1127 </operands>
1128 <operands xsi:type="language_1:InstanceOf">
1129 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1130 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1131 </operands>
1132 </operands>
1133 <operands xsi:type="language_1:And">
1134 <operands xsi:type="language_1:InstanceOf">
1135 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1136 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1137 </operands>
1138 <operands xsi:type="language_1:InstanceOf">
1139 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1140 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1141 </operands>
1142 </operands>
1143 <operands xsi:type="language_1:And">
1144 <operands xsi:type="language_1:InstanceOf">
1145 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1146 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1147 </operands>
1148 <operands xsi:type="language_1:InstanceOf">
1149 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1150 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1151 </operands>
1152 </operands>
1153 </value>
1154 </relations>
1155 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.21">
1156 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1157 <variables name="parameter Sat">
1158 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1159 </variables>
1160 <value xsi:type="language_1:Or">
1161 <operands xsi:type="language_1:And">
1162 <operands xsi:type="language_1:InstanceOf">
1163 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1164 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1165 </operands>
1166 </operands>
1167 </value>
1168 </relations>
1169 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U" annotations="//@annotations.22">
1170 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1171 <variables name="parameter Sat">
1172 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1173 </variables>
1174 <value xsi:type="language_1:Or">
1175 <operands xsi:type="language_1:And">
1176 <operands xsi:type="language_1:InstanceOf">
1177 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1178 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1179 </operands>
1180 </operands>
1181 </value>
1182 </relations>
1183 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.23">
1184 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1185 <variables name="parameter Element">
1186 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1187 </variables>
1188 <value xsi:type="language_1:Or">
1189 <operands xsi:type="language_1:And">
1190 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
1191 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1192 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1193 </operands>
1194 </operands>
1195 </value>
1196 </relations>
1197 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.24">
1198 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1199 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1200 <variables name="parameter Source">
1201 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1202 </variables>
1203 <variables name="parameter Target">
1204 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1205 </variables>
1206 <value xsi:type="language_1:Or">
1207 <operands xsi:type="language_1:And">
1208 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.20"/>
1209 </operands>
1210 </value>
1211 </relations>
1212 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.25">
1213 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1214 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1215 <variables name="parameter Source">
1216 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1217 </variables>
1218 <variables name="parameter Target">
1219 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1220 </variables>
1221 <value xsi:type="language_1:Or">
1222 <operands xsi:type="language_1:Exists">
1223 <quantifiedVariables name="variable SourceSubsystem">
1224 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1225 </quantifiedVariables>
1226 <quantifiedVariables name="variable TargetSubsystem">
1227 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1228 </quantifiedVariables>
1229 <expression xsi:type="language_1:And">
1230 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1231 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
1232 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1233 </operands>
1234 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1235 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
1236 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
1237 </operands>
1238 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1239 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.1"/>
1240 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1241 </operands>
1242 <operands xsi:type="language_1:InstanceOf">
1243 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1244 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1245 </operands>
1246 </expression>
1247 </operands>
1248 </value>
1249 </relations>
1250 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.26">
1251 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1252 <variables name="parameter SourceSubsystem">
1253 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1254 </variables>
1255 <value xsi:type="language_1:Or">
1256 <operands xsi:type="language_1:Exists">
1257 <quantifiedVariables name="variable TargetSubsystem">
1258 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1259 </quantifiedVariables>
1260 <expression xsi:type="language_1:And">
1261 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1262 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
1263 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1264 </operands>
1265 <operands xsi:type="language_1:InstanceOf">
1266 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1267 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1268 </operands>
1269 <operands xsi:type="language_1:Not">
1270 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1271 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
1272 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1273 </operand>
1274 </operands>
1275 </expression>
1276 </operands>
1277 </value>
1278 </relations>
1279 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.27">
1280 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1281 <variables name="parameter Sat">
1282 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1283 </variables>
1284 <value xsi:type="language_1:Or">
1285 <operands xsi:type="language_1:Exists">
1286 <quantifiedVariables name="variable SourceComm">
1287 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1288 </quantifiedVariables>
1289 <quantifiedVariables name="variable TargetComm">
1290 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1291 </quantifiedVariables>
1292 <quantifiedVariables name="variable Target">
1293 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1294 </quantifiedVariables>
1295 <expression xsi:type="language_1:And">
1296 <operands xsi:type="language_1:InstanceOf">
1297 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1298 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1299 </operands>
1300 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1301 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1302 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1303 </operands>
1304 <operands xsi:type="language_1:Not">
1305 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
1306 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1307 </operand>
1308 </operands>
1309 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1311 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1312 </operands>
1313 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1314 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1315 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1316 </operands>
1317 <operands xsi:type="language_1:InstanceOf">
1318 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1319 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1320 </operands>
1321 <operands xsi:type="language_1:Not">
1322 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24">
1323 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1324 </operand>
1325 </operands>
1326 </expression>
1327 </operands>
1328 </value>
1329 </relations>
1330 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.28">
1331 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1332 <variables name="parameter Comm">
1333 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1334 </variables>
1335 <value xsi:type="language_1:Or">
1336 <operands xsi:type="language_1:And">
1337 <operands xsi:type="language_1:InstanceOf">
1338 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1339 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1340 </operands>
1341 </operands>
1342 </value>
1343 </relations>
1344 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.29">
1345 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1346 <variables name="parameter Network">
1347 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1348 </variables>
1349 <value xsi:type="language_1:Or">
1350 <operands xsi:type="language_1:And">
1351 <operands xsi:type="language_1:InstanceOf">
1352 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1353 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1354 </operands>
1355 </operands>
1356 </value>
1357 </relations>
1358 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.30">
1359 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1360 <variables name="parameter Spacecraft">
1361 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1362 </variables>
1363 <value xsi:type="language_1:Or">
1364 <operands xsi:type="language_1:Exists">
1365 <quantifiedVariables name="variable Comm">
1366 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1367 </quantifiedVariables>
1368 <expression xsi:type="language_1:And">
1369 <operands xsi:type="language_1:InstanceOf">
1370 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1371 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1372 </operands>
1373 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1374 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1375 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1376 </operands>
1377 <operands xsi:type="language_1:InstanceOf">
1378 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1379 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1380 </operands>
1381 <operands xsi:type="language_1:Not">
1382 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26">
1383 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1384 </operand>
1385 </operands>
1386 </expression>
1387 </operands>
1388 </value>
1389 </relations>
1390 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.31">
1391 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1392 <variables name="parameter Sat">
1393 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1394 </variables>
1395 <value xsi:type="language_1:Or">
1396 <operands xsi:type="language_1:And">
1397 <operands xsi:type="language_1:InstanceOf">
1398 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1399 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1400 </operands>
1401 </operands>
1402 </value>
1403 </relations>
1404 <elements name="o 1" definedInType="//@types.15 //@types.17"/>
1405 <elements name="o 2" definedInType="//@types.19 //@types.21"/>
1406 <elements name="o 3" definedInType="//@types.23 //@types.25"/>
1407 <elements name="o 4" definedInType="//@types.23 //@types.27"/>
1408 <containmentHierarchies typesOrderedInHierarchy="//@types.2 //@types.0 //@types.7 //@types.3 //@types.5 //@types.6 //@types.9 //@types.13 //@types.8 //@types.14 //@types.4 //@types.1 //@types.12 //@types.10 //@types.11 //@types.15 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25 //@types.26 //@types.27 //@types.28" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.3"/>
1409 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/>
1410 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/>
1411 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/>
1412 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.3" relation="//@relations.1" upper="50"/>
1413 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.4" relation="//@relations.2" lower="1"/>
1414 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/>
1415 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/>
1416 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/>
1417 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.8" targetRelation="//@relations.0"/>
1418 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.9" targetRelation="//@relations.2"/>
1419 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.5" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
1420 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.6" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingCommSubsystem"/>
1421 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.7" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
1422 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.8" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/>
1423 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.9" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/>
1424 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
1425 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
1426 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/>
1427 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/>
1428 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/>
1429 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"/>
1430 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/>
1431 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U"/>
1432 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
1433 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/>
1434 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/>
1435 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
1436 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
1437 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/>
1438 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/>
1439 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
1440 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
1441 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.10" query="//@annotations.10"/>
1442 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.11" query="//@annotations.12"/>
1443 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.12" query="//@annotations.15"/>
1444 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.13" query="//@annotations.16"/>
1445 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.14" query="//@annotations.23"/>
1446 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.15" query="//@annotations.26"/>
1447 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.16" query="//@annotations.27"/>
1448 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.17" query="//@annotations.30"/>
1449</language:LogicProblem>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated
deleted file mode 100644
index c96a951c..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated
+++ /dev/null
@@ -1,3000 +0,0 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel
deleted file mode 100644
index 9f14379f..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel
+++ /dev/null
@@ -1,147 +0,0 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="outputs/debug/generation.logicproblem#/"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="outputs/debug/generation.logicproblem#//@elements.0"/>
8 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="outputs/debug/generation.logicproblem#//@elements.1"/>
22 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="outputs/debug/generation.logicproblem#//@elements.1"/>
26 <param2 href="outputs/debug/generation.logicproblem#//@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="outputs/debug/generation.logicproblem#//@elements.0"/>
49 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="outputs/debug/generation.logicproblem#//@elements.0"/>
53 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
57 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
61 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
68 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
69 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
98 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated
deleted file mode 100644
index c96a951c..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated
+++ /dev/null
@@ -1,3000 +0,0 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel
deleted file mode 100644
index 01b90968..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel
+++ /dev/null
@@ -1,147 +0,0 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated
deleted file mode 100644
index c96a951c..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated
+++ /dev/null
@@ -1,3000 +0,0 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel
deleted file mode 100644
index 01b90968..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel
+++ /dev/null
@@ -1,147 +0,0 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated
deleted file mode 100644
index c96a951c..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated
+++ /dev/null
@@ -1,3000 +0,0 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel
deleted file mode 100644
index 01b90968..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel
+++ /dev/null
@@ -1,147 +0,0 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated
deleted file mode 100644
index c96a951c..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated
+++ /dev/null
@@ -1,3000 +0,0 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel
deleted file mode 100644
index 01b90968..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel
+++ /dev/null
@@ -1,147 +0,0 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>