diff options
Diffstat (limited to 'Domains')
122 files changed, 227 insertions, 36900 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore index a71b16b9..2affc42f 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore | |||
@@ -1,4 +1,5 @@ | |||
1 | /bin/ | 1 | /bin/ |
2 | /xtend-gen/ | ||
2 | /problem.lp | 3 | /problem.lp |
3 | /solution.txt | 4 | /solution.txt |
4 | /model/cps_fixup.henshin | 5 | /model/cps_fixup.henshin |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin deleted file mode 100644 index 14b2c080..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin deleted file mode 100644 index 9acd8621..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore deleted file mode 100644 index 011600b4..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | /.CpsToLpTranslator.java._trace | ||
2 | /.CbcCpsMain.java._trace | ||
3 | /.CbcCpsMain.xtendbin | ||
4 | /.CpsToLpTranslator.xtendbin | ||
5 | /CbcCpsMain.java | ||
6 | /CpsToLpTranslator.java | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java deleted file mode 100644 index a6ff0d0e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java +++ /dev/null | |||
@@ -1,109 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.cplex; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.Request; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.cplex.CpsToLpTranslator; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; | ||
9 | import java.io.BufferedReader; | ||
10 | import java.io.BufferedWriter; | ||
11 | import java.io.FileReader; | ||
12 | import java.io.FileWriter; | ||
13 | import java.util.List; | ||
14 | import java.util.Map; | ||
15 | import java.util.concurrent.TimeUnit; | ||
16 | import java.util.regex.Matcher; | ||
17 | import java.util.regex.Pattern; | ||
18 | import org.eclipse.emf.ecore.EPackage; | ||
19 | import org.eclipse.emf.ecore.resource.Resource; | ||
20 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; | ||
21 | import org.eclipse.xtext.xbase.lib.Exceptions; | ||
22 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | ||
23 | import org.eclipse.xtext.xbase.lib.Functions.Function2; | ||
24 | import org.eclipse.xtext.xbase.lib.InputOutput; | ||
25 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
26 | import org.eclipse.xtext.xbase.lib.ListExtensions; | ||
27 | |||
28 | @SuppressWarnings("all") | ||
29 | public class CbcCpsMain { | ||
30 | private static final String PROBLEM_FILE = "problem.lp"; | ||
31 | |||
32 | private static final String SOLUTION_FILE = "solution.txt"; | ||
33 | |||
34 | private static final Pattern VALUE_REGEX = Pattern.compile("Optimal - objective value\\s*([0-9]+(\\.[0-9]+)?)"); | ||
35 | |||
36 | private CbcCpsMain() { | ||
37 | new IllegalStateException("This is a static utility class and should not be instantiated directly."); | ||
38 | } | ||
39 | |||
40 | public static void main(final String[] args) { | ||
41 | try { | ||
42 | Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); | ||
43 | XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); | ||
44 | _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); | ||
45 | EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); | ||
46 | final CpsGenerator generator = new CpsGenerator(1, 4, 1); | ||
47 | final CyberPhysicalSystem problem = generator.generateCpsProblem(); | ||
48 | final CpsToLpTranslator toLp = new CpsToLpTranslator(problem, 10, true); | ||
49 | final CharSequence lp = toLp.getLpProblem(); | ||
50 | FileWriter _fileWriter = new FileWriter(CbcCpsMain.PROBLEM_FILE); | ||
51 | final BufferedWriter writer = new BufferedWriter(_fileWriter); | ||
52 | try { | ||
53 | writer.append(lp); | ||
54 | } finally { | ||
55 | writer.close(); | ||
56 | } | ||
57 | final Process process = new ProcessBuilder().inheritIO().command("cbc", CbcCpsMain.PROBLEM_FILE, "solve", "solu", CbcCpsMain.SOLUTION_FILE).start(); | ||
58 | boolean _waitFor = process.waitFor(120, TimeUnit.SECONDS); | ||
59 | boolean _not = (!_waitFor); | ||
60 | if (_not) { | ||
61 | System.err.println("Timeout reached"); | ||
62 | process.destroyForcibly(); | ||
63 | System.exit((-1)); | ||
64 | } | ||
65 | int _exitValue = process.exitValue(); | ||
66 | boolean _notEquals = (_exitValue != 0); | ||
67 | if (_notEquals) { | ||
68 | int _exitValue_1 = process.exitValue(); | ||
69 | String _plus = ("Unexpected exit value " + Integer.valueOf(_exitValue_1)); | ||
70 | System.err.println(_plus); | ||
71 | System.exit((-1)); | ||
72 | } | ||
73 | FileReader _fileReader = new FileReader(CbcCpsMain.SOLUTION_FILE); | ||
74 | final BufferedReader reader = new BufferedReader(_fileReader); | ||
75 | double value = Double.NaN; | ||
76 | try { | ||
77 | String line = null; | ||
78 | while (((line = reader.readLine()) != null)) { | ||
79 | { | ||
80 | InputOutput.<String>println(line); | ||
81 | final Matcher matcher = CbcCpsMain.VALUE_REGEX.matcher(line); | ||
82 | boolean _matches = matcher.matches(); | ||
83 | if (_matches) { | ||
84 | value = Double.parseDouble(matcher.group(1)); | ||
85 | } | ||
86 | } | ||
87 | } | ||
88 | } finally { | ||
89 | reader.close(); | ||
90 | } | ||
91 | final Function1<Request, List<Integer>> _function = (Request it) -> { | ||
92 | final Function1<Requirement, Integer> _function_1 = (Requirement it_1) -> { | ||
93 | return Integer.valueOf(it_1.getCount()); | ||
94 | }; | ||
95 | return ListExtensions.<Requirement, Integer>map(it.getRequirements(), _function_1); | ||
96 | }; | ||
97 | final Function2<Integer, Integer, Integer> _function_1 = (Integer p1, Integer p2) -> { | ||
98 | return Integer.valueOf(((p1).intValue() + (p2).intValue())); | ||
99 | }; | ||
100 | Integer _reduce = IterableExtensions.<Integer>reduce(IterableExtensions.<Request, Integer>flatMap(problem.getRequests(), _function), _function_1); | ||
101 | final int applicationCost = ((_reduce).intValue() * 5); | ||
102 | final double cost = (applicationCost + value); | ||
103 | InputOutput.println(); | ||
104 | InputOutput.<String>println(("Cost: " + Double.valueOf(cost))); | ||
105 | } catch (Throwable _e) { | ||
106 | throw Exceptions.sneakyThrow(_e); | ||
107 | } | ||
108 | } | ||
109 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java deleted file mode 100644 index 20afeee6..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java +++ /dev/null | |||
@@ -1,505 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.cplex; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import com.google.common.collect.ImmutableList; | ||
5 | import com.google.common.collect.ImmutableMap; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
9 | import hu.bme.mit.inf.dslreasoner.domains.cps.Request; | ||
10 | import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; | ||
11 | import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; | ||
12 | import java.util.Collection; | ||
13 | import java.util.List; | ||
14 | import java.util.Map; | ||
15 | import org.eclipse.emf.common.util.EList; | ||
16 | import org.eclipse.xtend2.lib.StringConcatenation; | ||
17 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; | ||
18 | import org.eclipse.xtext.xbase.lib.ExclusiveRange; | ||
19 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | ||
20 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
21 | import org.eclipse.xtext.xbase.lib.ListExtensions; | ||
22 | import org.eclipse.xtext.xbase.lib.Pair; | ||
23 | |||
24 | @SuppressWarnings("all") | ||
25 | public class CpsToLpTranslator { | ||
26 | private static final double MINIMUM_MEMORY_USAGE = 0.25; | ||
27 | |||
28 | private static final double MINIMUM_HDD_USAGE = 0.25; | ||
29 | |||
30 | private final CyberPhysicalSystem cps; | ||
31 | |||
32 | private final Map<Requirement, ? extends List<String>> appInstances; | ||
33 | |||
34 | private final Map<HostType, ? extends List<String>> hostInstances; | ||
35 | |||
36 | private final boolean breakSymmetry; | ||
37 | |||
38 | public CpsToLpTranslator(final CyberPhysicalSystem cps, final int hostInstanceCount, final boolean breakSymmetry) { | ||
39 | this.cps = cps; | ||
40 | this.appInstances = this.createAppInstances(); | ||
41 | this.hostInstances = this.createHostInstances(hostInstanceCount); | ||
42 | this.breakSymmetry = breakSymmetry; | ||
43 | } | ||
44 | |||
45 | private ImmutableMap<Requirement, ImmutableList<String>> createAppInstances() { | ||
46 | ImmutableMap<Requirement, ImmutableList<String>> _xblockexpression = null; | ||
47 | { | ||
48 | final ImmutableMap.Builder<Requirement, ImmutableList<String>> builder = ImmutableMap.<Requirement, ImmutableList<String>>builder(); | ||
49 | int i = 0; | ||
50 | Iterable<Requirement> _requirements = this.getRequirements(); | ||
51 | for (final Requirement req : _requirements) { | ||
52 | { | ||
53 | final ImmutableList.Builder<String> listBuilder = ImmutableList.<String>builder(); | ||
54 | for (int j = 0; (j < req.getCount()); j++) { | ||
55 | StringConcatenation _builder = new StringConcatenation(); | ||
56 | _builder.append("r"); | ||
57 | _builder.append(i); | ||
58 | _builder.append("a"); | ||
59 | _builder.append(j); | ||
60 | listBuilder.add(_builder.toString()); | ||
61 | } | ||
62 | builder.put(req, listBuilder.build()); | ||
63 | i++; | ||
64 | } | ||
65 | } | ||
66 | _xblockexpression = builder.build(); | ||
67 | } | ||
68 | return _xblockexpression; | ||
69 | } | ||
70 | |||
71 | private ImmutableMap<HostType, ImmutableList<String>> createHostInstances(final int hostInstanceCount) { | ||
72 | ImmutableMap<HostType, ImmutableList<String>> _xblockexpression = null; | ||
73 | { | ||
74 | final ImmutableMap.Builder<HostType, ImmutableList<String>> builder = ImmutableMap.<HostType, ImmutableList<String>>builder(); | ||
75 | int i = 0; | ||
76 | EList<HostType> _hostTypes = this.cps.getHostTypes(); | ||
77 | for (final HostType hostType : _hostTypes) { | ||
78 | { | ||
79 | final ImmutableList.Builder<String> listBuilder = ImmutableList.<String>builder(); | ||
80 | for (int j = 0; (j < hostInstanceCount); j++) { | ||
81 | StringConcatenation _builder = new StringConcatenation(); | ||
82 | _builder.append("h"); | ||
83 | _builder.append(i); | ||
84 | _builder.append("i"); | ||
85 | _builder.append(j); | ||
86 | listBuilder.add(_builder.toString()); | ||
87 | } | ||
88 | builder.put(hostType, listBuilder.build()); | ||
89 | i++; | ||
90 | } | ||
91 | } | ||
92 | _xblockexpression = builder.build(); | ||
93 | } | ||
94 | return _xblockexpression; | ||
95 | } | ||
96 | |||
97 | public CharSequence getLpProblem() { | ||
98 | StringConcatenation _builder = new StringConcatenation(); | ||
99 | _builder.append("Minimize"); | ||
100 | _builder.newLine(); | ||
101 | _builder.append("\t"); | ||
102 | _builder.append("total_cost: "); | ||
103 | CharSequence _objective = this.getObjective(); | ||
104 | _builder.append(_objective, "\t"); | ||
105 | _builder.newLineIfNotEmpty(); | ||
106 | _builder.append("Subject To"); | ||
107 | _builder.newLine(); | ||
108 | _builder.append("\t"); | ||
109 | CharSequence _constraints = this.getConstraints(); | ||
110 | _builder.append(_constraints, "\t"); | ||
111 | _builder.newLineIfNotEmpty(); | ||
112 | _builder.append("Bounds"); | ||
113 | _builder.newLine(); | ||
114 | _builder.append("\t"); | ||
115 | CharSequence _bounds = this.getBounds(); | ||
116 | _builder.append(_bounds, "\t"); | ||
117 | _builder.newLineIfNotEmpty(); | ||
118 | _builder.append("Binary"); | ||
119 | _builder.newLine(); | ||
120 | _builder.append("\t"); | ||
121 | CharSequence _binaryVariables = this.getBinaryVariables(); | ||
122 | _builder.append(_binaryVariables, "\t"); | ||
123 | _builder.newLineIfNotEmpty(); | ||
124 | _builder.append("End"); | ||
125 | _builder.newLine(); | ||
126 | return _builder; | ||
127 | } | ||
128 | |||
129 | private CharSequence getObjective() { | ||
130 | StringConcatenation _builder = new StringConcatenation(); | ||
131 | { | ||
132 | Iterable<Pair<HostType, String>> _hostInstancesWithType = this.getHostInstancesWithType(); | ||
133 | boolean _hasElements = false; | ||
134 | for(final Pair<HostType, String> pair : _hostInstancesWithType) { | ||
135 | if (!_hasElements) { | ||
136 | _hasElements = true; | ||
137 | } else { | ||
138 | _builder.appendImmediate(" + ", ""); | ||
139 | } | ||
140 | int _cost = pair.getKey().getCost(); | ||
141 | _builder.append(_cost); | ||
142 | _builder.append(" "); | ||
143 | CharSequence _existsVariable = this.getExistsVariable(pair.getValue()); | ||
144 | _builder.append(_existsVariable); | ||
145 | } | ||
146 | } | ||
147 | return _builder; | ||
148 | } | ||
149 | |||
150 | private CharSequence getConstraints() { | ||
151 | StringConcatenation _builder = new StringConcatenation(); | ||
152 | { | ||
153 | Iterable<Pair<ApplicationType, String>> _appInstancesWithType = this.getAppInstancesWithType(); | ||
154 | for(final Pair<ApplicationType, String> appPair : _appInstancesWithType) { | ||
155 | String _value = appPair.getValue(); | ||
156 | _builder.append(_value); | ||
157 | _builder.append("_allocated: "); | ||
158 | { | ||
159 | Iterable<String> _possibleHostInstances = this.getPossibleHostInstances(appPair.getKey()); | ||
160 | boolean _hasElements = false; | ||
161 | for(final String host : _possibleHostInstances) { | ||
162 | if (!_hasElements) { | ||
163 | _hasElements = true; | ||
164 | } else { | ||
165 | _builder.appendImmediate(" + ", ""); | ||
166 | } | ||
167 | CharSequence _allocatedToVariable = this.getAllocatedToVariable(appPair.getValue(), host); | ||
168 | _builder.append(_allocatedToVariable); | ||
169 | } | ||
170 | } | ||
171 | _builder.append(" = 1"); | ||
172 | _builder.newLineIfNotEmpty(); | ||
173 | { | ||
174 | Iterable<String> _possibleHostInstances_1 = this.getPossibleHostInstances(appPair.getKey()); | ||
175 | for(final String host_1 : _possibleHostInstances_1) { | ||
176 | String _value_1 = appPair.getValue(); | ||
177 | _builder.append(_value_1); | ||
178 | _builder.append("_to_"); | ||
179 | _builder.append(host_1); | ||
180 | _builder.append("_exists: "); | ||
181 | CharSequence _existsVariable = this.getExistsVariable(host_1); | ||
182 | _builder.append(_existsVariable); | ||
183 | _builder.append(" - "); | ||
184 | CharSequence _allocatedToVariable_1 = this.getAllocatedToVariable(appPair.getValue(), host_1); | ||
185 | _builder.append(_allocatedToVariable_1); | ||
186 | _builder.append(" >= 0"); | ||
187 | _builder.newLineIfNotEmpty(); | ||
188 | } | ||
189 | } | ||
190 | } | ||
191 | } | ||
192 | { | ||
193 | Iterable<Pair<HostType, String>> _hostInstancesWithType = this.getHostInstancesWithType(); | ||
194 | for(final Pair<HostType, String> hostPair : _hostInstancesWithType) { | ||
195 | String _value_2 = hostPair.getValue(); | ||
196 | _builder.append(_value_2); | ||
197 | _builder.append("_mem_use: "); | ||
198 | { | ||
199 | Iterable<Pair<ResourceRequirement, String>> _possibleAppInstancesWithRequirements = this.getPossibleAppInstancesWithRequirements(hostPair.getKey()); | ||
200 | boolean _hasElements_1 = false; | ||
201 | for(final Pair<ResourceRequirement, String> appPair_1 : _possibleAppInstancesWithRequirements) { | ||
202 | if (!_hasElements_1) { | ||
203 | _hasElements_1 = true; | ||
204 | } else { | ||
205 | _builder.appendImmediate(" + ", ""); | ||
206 | } | ||
207 | int _requiredMemory = appPair_1.getKey().getRequiredMemory(); | ||
208 | _builder.append(_requiredMemory); | ||
209 | _builder.append(" "); | ||
210 | CharSequence _allocatedToVariable_2 = this.getAllocatedToVariable(appPair_1.getValue(), hostPair.getValue()); | ||
211 | _builder.append(_allocatedToVariable_2); | ||
212 | } | ||
213 | } | ||
214 | _builder.append(" - "); | ||
215 | int _defaultMemory = hostPair.getKey().getDefaultMemory(); | ||
216 | _builder.append(_defaultMemory); | ||
217 | _builder.append(" "); | ||
218 | CharSequence _memoryUsageVariable = this.getMemoryUsageVariable(hostPair.getValue()); | ||
219 | _builder.append(_memoryUsageVariable); | ||
220 | _builder.append(" = 0"); | ||
221 | _builder.newLineIfNotEmpty(); | ||
222 | String _value_3 = hostPair.getValue(); | ||
223 | _builder.append(_value_3); | ||
224 | _builder.append("_hdd_use: "); | ||
225 | { | ||
226 | Iterable<Pair<ResourceRequirement, String>> _possibleAppInstancesWithRequirements_1 = this.getPossibleAppInstancesWithRequirements(hostPair.getKey()); | ||
227 | boolean _hasElements_2 = false; | ||
228 | for(final Pair<ResourceRequirement, String> appPair_2 : _possibleAppInstancesWithRequirements_1) { | ||
229 | if (!_hasElements_2) { | ||
230 | _hasElements_2 = true; | ||
231 | } else { | ||
232 | _builder.appendImmediate(" + ", ""); | ||
233 | } | ||
234 | int _requiredHdd = appPair_2.getKey().getRequiredHdd(); | ||
235 | _builder.append(_requiredHdd); | ||
236 | _builder.append(" "); | ||
237 | CharSequence _allocatedToVariable_3 = this.getAllocatedToVariable(appPair_2.getValue(), hostPair.getValue()); | ||
238 | _builder.append(_allocatedToVariable_3); | ||
239 | } | ||
240 | } | ||
241 | _builder.append(" - "); | ||
242 | int _defaultHdd = hostPair.getKey().getDefaultHdd(); | ||
243 | _builder.append(_defaultHdd); | ||
244 | _builder.append(" "); | ||
245 | CharSequence _hddUsageVariable = this.getHddUsageVariable(hostPair.getValue()); | ||
246 | _builder.append(_hddUsageVariable); | ||
247 | _builder.append(" = 0"); | ||
248 | _builder.newLineIfNotEmpty(); | ||
249 | } | ||
250 | } | ||
251 | _builder.append("average_mem: "); | ||
252 | { | ||
253 | Iterable<String> _allHostInstances = this.getAllHostInstances(); | ||
254 | boolean _hasElements_3 = false; | ||
255 | for(final String host_2 : _allHostInstances) { | ||
256 | if (!_hasElements_3) { | ||
257 | _hasElements_3 = true; | ||
258 | } else { | ||
259 | _builder.appendImmediate(" + ", ""); | ||
260 | } | ||
261 | CharSequence _memoryUsageVariable_1 = this.getMemoryUsageVariable(host_2); | ||
262 | _builder.append(_memoryUsageVariable_1); | ||
263 | _builder.append(" - "); | ||
264 | _builder.append(CpsToLpTranslator.MINIMUM_MEMORY_USAGE); | ||
265 | _builder.append(" "); | ||
266 | CharSequence _existsVariable_1 = this.getExistsVariable(host_2); | ||
267 | _builder.append(_existsVariable_1); | ||
268 | } | ||
269 | } | ||
270 | _builder.append(" >= 0"); | ||
271 | _builder.newLineIfNotEmpty(); | ||
272 | _builder.append("average_hdd: "); | ||
273 | { | ||
274 | Iterable<String> _allHostInstances_1 = this.getAllHostInstances(); | ||
275 | boolean _hasElements_4 = false; | ||
276 | for(final String host_3 : _allHostInstances_1) { | ||
277 | if (!_hasElements_4) { | ||
278 | _hasElements_4 = true; | ||
279 | } else { | ||
280 | _builder.appendImmediate(" + ", ""); | ||
281 | } | ||
282 | CharSequence _memoryUsageVariable_2 = this.getMemoryUsageVariable(host_3); | ||
283 | _builder.append(_memoryUsageVariable_2); | ||
284 | _builder.append(" - "); | ||
285 | _builder.append(CpsToLpTranslator.MINIMUM_HDD_USAGE); | ||
286 | _builder.append(" "); | ||
287 | CharSequence _existsVariable_2 = this.getExistsVariable(host_3); | ||
288 | _builder.append(_existsVariable_2); | ||
289 | } | ||
290 | } | ||
291 | _builder.append(" >= 0"); | ||
292 | _builder.newLineIfNotEmpty(); | ||
293 | { | ||
294 | final Function1<Requirement, Boolean> _function = (Requirement it) -> { | ||
295 | int _count = it.getCount(); | ||
296 | return Boolean.valueOf((_count > 1)); | ||
297 | }; | ||
298 | Iterable<Pair<Integer, Requirement>> _indexed = IterableExtensions.<Requirement>indexed(IterableExtensions.<Requirement>filter(this.getRequirements(), _function)); | ||
299 | for(final Pair<Integer, Requirement> reqPair : _indexed) { | ||
300 | { | ||
301 | final Function1<ResourceRequirement, List<String>> _function_1 = (ResourceRequirement it) -> { | ||
302 | return this.hostInstances.get(it.getHostType()); | ||
303 | }; | ||
304 | Iterable<String> _flatMap = IterableExtensions.<ResourceRequirement, String>flatMap(reqPair.getValue().getType().getRequirements(), _function_1); | ||
305 | for(final String host_4 : _flatMap) { | ||
306 | _builder.append("r"); | ||
307 | Integer _key = reqPair.getKey(); | ||
308 | _builder.append(_key); | ||
309 | _builder.append("_"); | ||
310 | _builder.append(host_4); | ||
311 | _builder.append("_redundant: "); | ||
312 | { | ||
313 | List<String> _get = this.appInstances.get(reqPair.getValue()); | ||
314 | boolean _hasElements_5 = false; | ||
315 | for(final String app : _get) { | ||
316 | if (!_hasElements_5) { | ||
317 | _hasElements_5 = true; | ||
318 | } else { | ||
319 | _builder.appendImmediate(" + ", ""); | ||
320 | } | ||
321 | CharSequence _allocatedToVariable_4 = this.getAllocatedToVariable(app, host_4); | ||
322 | _builder.append(_allocatedToVariable_4); | ||
323 | } | ||
324 | } | ||
325 | _builder.append(" <= 1"); | ||
326 | _builder.newLineIfNotEmpty(); | ||
327 | } | ||
328 | } | ||
329 | } | ||
330 | } | ||
331 | { | ||
332 | if (this.breakSymmetry) { | ||
333 | { | ||
334 | Collection<? extends List<String>> _values = this.hostInstances.values(); | ||
335 | for(final List<String> hosts : _values) { | ||
336 | { | ||
337 | int _size = hosts.size(); | ||
338 | int _minus = (_size - 1); | ||
339 | ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _minus, true); | ||
340 | for(final Integer i : _doubleDotLessThan) { | ||
341 | String _get_1 = hosts.get(((i).intValue() + 1)); | ||
342 | _builder.append(_get_1); | ||
343 | _builder.append("_after_"); | ||
344 | String _get_2 = hosts.get((i).intValue()); | ||
345 | _builder.append(_get_2); | ||
346 | _builder.append(": "); | ||
347 | CharSequence _existsVariable_3 = this.getExistsVariable(hosts.get((i).intValue())); | ||
348 | _builder.append(_existsVariable_3); | ||
349 | _builder.append(" - "); | ||
350 | CharSequence _existsVariable_4 = this.getExistsVariable(hosts.get(((i).intValue() + 1))); | ||
351 | _builder.append(_existsVariable_4); | ||
352 | _builder.append(" >= 0"); | ||
353 | _builder.newLineIfNotEmpty(); | ||
354 | } | ||
355 | } | ||
356 | } | ||
357 | } | ||
358 | } | ||
359 | } | ||
360 | return _builder; | ||
361 | } | ||
362 | |||
363 | private CharSequence getBounds() { | ||
364 | StringConcatenation _builder = new StringConcatenation(); | ||
365 | { | ||
366 | Iterable<String> _allHostInstances = this.getAllHostInstances(); | ||
367 | for(final String host : _allHostInstances) { | ||
368 | _builder.append("0 <= "); | ||
369 | CharSequence _memoryUsageVariable = this.getMemoryUsageVariable(host); | ||
370 | _builder.append(_memoryUsageVariable); | ||
371 | _builder.append(" <= 1"); | ||
372 | _builder.newLineIfNotEmpty(); | ||
373 | _builder.append("0 <= "); | ||
374 | CharSequence _hddUsageVariable = this.getHddUsageVariable(host); | ||
375 | _builder.append(_hddUsageVariable); | ||
376 | _builder.append(" <= 1"); | ||
377 | _builder.newLineIfNotEmpty(); | ||
378 | } | ||
379 | } | ||
380 | return _builder; | ||
381 | } | ||
382 | |||
383 | private CharSequence getBinaryVariables() { | ||
384 | StringConcatenation _builder = new StringConcatenation(); | ||
385 | { | ||
386 | Iterable<String> _allHostInstances = this.getAllHostInstances(); | ||
387 | for(final String host : _allHostInstances) { | ||
388 | CharSequence _existsVariable = this.getExistsVariable(host); | ||
389 | _builder.append(_existsVariable); | ||
390 | _builder.newLineIfNotEmpty(); | ||
391 | } | ||
392 | } | ||
393 | { | ||
394 | Iterable<Pair<ApplicationType, String>> _appInstancesWithType = this.getAppInstancesWithType(); | ||
395 | for(final Pair<ApplicationType, String> appPair : _appInstancesWithType) { | ||
396 | { | ||
397 | Iterable<String> _possibleHostInstances = this.getPossibleHostInstances(appPair.getKey()); | ||
398 | for(final String host_1 : _possibleHostInstances) { | ||
399 | CharSequence _allocatedToVariable = this.getAllocatedToVariable(appPair.getValue(), host_1); | ||
400 | _builder.append(_allocatedToVariable); | ||
401 | _builder.newLineIfNotEmpty(); | ||
402 | } | ||
403 | } | ||
404 | } | ||
405 | } | ||
406 | return _builder; | ||
407 | } | ||
408 | |||
409 | private Iterable<Requirement> getRequirements() { | ||
410 | final Function1<Request, EList<Requirement>> _function = (Request it) -> { | ||
411 | return it.getRequirements(); | ||
412 | }; | ||
413 | return IterableExtensions.<Request, Requirement>flatMap(this.cps.getRequests(), _function); | ||
414 | } | ||
415 | |||
416 | private Iterable<String> getAllHostInstances() { | ||
417 | final Function1<List<String>, List<String>> _function = (List<String> it) -> { | ||
418 | return it; | ||
419 | }; | ||
420 | return IterableExtensions.flatMap(this.hostInstances.values(), _function); | ||
421 | } | ||
422 | |||
423 | private Iterable<Pair<HostType, String>> getHostInstancesWithType() { | ||
424 | final Function1<Map.Entry<HostType, ? extends List<String>>, List<Pair<HostType, String>>> _function = (Map.Entry<HostType, ? extends List<String>> pair) -> { | ||
425 | final Function1<String, Pair<HostType, String>> _function_1 = (String it) -> { | ||
426 | HostType _key = pair.getKey(); | ||
427 | return Pair.<HostType, String>of(_key, it); | ||
428 | }; | ||
429 | return ListExtensions.<String, Pair<HostType, String>>map(pair.getValue(), _function_1); | ||
430 | }; | ||
431 | return IterableExtensions.flatMap(this.hostInstances.entrySet(), _function); | ||
432 | } | ||
433 | |||
434 | private Iterable<Pair<ApplicationType, String>> getAppInstancesWithType() { | ||
435 | final Function1<Map.Entry<Requirement, ? extends List<String>>, List<Pair<ApplicationType, String>>> _function = (Map.Entry<Requirement, ? extends List<String>> pair) -> { | ||
436 | final Function1<String, Pair<ApplicationType, String>> _function_1 = (String it) -> { | ||
437 | ApplicationType _type = pair.getKey().getType(); | ||
438 | return Pair.<ApplicationType, String>of(_type, it); | ||
439 | }; | ||
440 | return ListExtensions.<String, Pair<ApplicationType, String>>map(pair.getValue(), _function_1); | ||
441 | }; | ||
442 | return IterableExtensions.flatMap(this.appInstances.entrySet(), _function); | ||
443 | } | ||
444 | |||
445 | private Iterable<String> getPossibleHostInstances(final ApplicationType appType) { | ||
446 | final Function1<ResourceRequirement, List<String>> _function = (ResourceRequirement req) -> { | ||
447 | return this.hostInstances.get(req.getHostType()); | ||
448 | }; | ||
449 | return IterableExtensions.<ResourceRequirement, String>flatMap(appType.getRequirements(), _function); | ||
450 | } | ||
451 | |||
452 | private Iterable<Pair<ResourceRequirement, String>> getPossibleAppInstancesWithRequirements(final HostType hostType) { | ||
453 | final Function1<Map.Entry<Requirement, ? extends List<String>>, List<Pair<ResourceRequirement, String>>> _function = (Map.Entry<Requirement, ? extends List<String>> pair) -> { | ||
454 | List<Pair<ResourceRequirement, String>> _xblockexpression = null; | ||
455 | { | ||
456 | final Function1<ResourceRequirement, Boolean> _function_1 = (ResourceRequirement it) -> { | ||
457 | HostType _hostType = it.getHostType(); | ||
458 | return Boolean.valueOf(Objects.equal(_hostType, hostType)); | ||
459 | }; | ||
460 | final ResourceRequirement resourceReq = IterableExtensions.<ResourceRequirement>findFirst(pair.getKey().getType().getRequirements(), _function_1); | ||
461 | List<Pair<ResourceRequirement, String>> _xifexpression = null; | ||
462 | if ((resourceReq == null)) { | ||
463 | _xifexpression = CollectionLiterals.<Pair<ResourceRequirement, String>>emptyList(); | ||
464 | } else { | ||
465 | final Function1<String, Pair<ResourceRequirement, String>> _function_2 = (String it) -> { | ||
466 | return Pair.<ResourceRequirement, String>of(resourceReq, it); | ||
467 | }; | ||
468 | _xifexpression = ListExtensions.<String, Pair<ResourceRequirement, String>>map(pair.getValue(), _function_2); | ||
469 | } | ||
470 | _xblockexpression = _xifexpression; | ||
471 | } | ||
472 | return _xblockexpression; | ||
473 | }; | ||
474 | return IterableExtensions.flatMap(this.appInstances.entrySet(), _function); | ||
475 | } | ||
476 | |||
477 | private CharSequence getExistsVariable(final String hostInstance) { | ||
478 | StringConcatenation _builder = new StringConcatenation(); | ||
479 | _builder.append(hostInstance); | ||
480 | _builder.append("_exists"); | ||
481 | return _builder; | ||
482 | } | ||
483 | |||
484 | private CharSequence getMemoryUsageVariable(final String hostInstance) { | ||
485 | StringConcatenation _builder = new StringConcatenation(); | ||
486 | _builder.append(hostInstance); | ||
487 | _builder.append("_mem"); | ||
488 | return _builder; | ||
489 | } | ||
490 | |||
491 | private CharSequence getHddUsageVariable(final String hostInstance) { | ||
492 | StringConcatenation _builder = new StringConcatenation(); | ||
493 | _builder.append(hostInstance); | ||
494 | _builder.append("_hdd"); | ||
495 | return _builder; | ||
496 | } | ||
497 | |||
498 | private CharSequence getAllocatedToVariable(final String appInstance, final String hostInstance) { | ||
499 | StringConcatenation _builder = new StringConcatenation(); | ||
500 | _builder.append(appInstance); | ||
501 | _builder.append("_to_"); | ||
502 | _builder.append(hostInstance); | ||
503 | return _builder; | ||
504 | } | ||
505 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin deleted file mode 100644 index ee672cb1..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin deleted file mode 100644 index e58e8b6f..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin deleted file mode 100644 index e29f2d71..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore deleted file mode 100644 index 2338336b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | /.RuleBasedCpsSolver.java._trace | ||
2 | /.RuleBasedCpsMain.java._trace | ||
3 | /.CpsStateCoder.java._trace | ||
4 | /.CpsStateCoder.xtendbin | ||
5 | /.RuleBasedCpsMain.xtendbin | ||
6 | /.RuleBasedCpsSolver.xtendbin | ||
7 | /CpsStateCoder.java | ||
8 | /RuleBasedCpsMain.java | ||
9 | /RuleBasedCpsSolver.java | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java deleted file mode 100644 index 3ae8e828..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java +++ /dev/null | |||
@@ -1,316 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.dse; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.cps.Request; | ||
9 | import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; | ||
10 | import java.util.Arrays; | ||
11 | import org.eclipse.emf.common.notify.Notifier; | ||
12 | import org.eclipse.emf.common.util.EList; | ||
13 | import org.eclipse.emf.ecore.EObject; | ||
14 | import org.eclipse.emf.ecore.resource.Resource; | ||
15 | import org.eclipse.emf.ecore.resource.ResourceSet; | ||
16 | import org.eclipse.viatra.dse.statecode.IStateCoder; | ||
17 | import org.eclipse.viatra.dse.statecode.IStateCoderFactory; | ||
18 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
19 | import org.eclipse.xtend2.lib.StringConcatenation; | ||
20 | import org.eclipse.xtend2.lib.StringConcatenationClient; | ||
21 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
22 | |||
23 | @SuppressWarnings("all") | ||
24 | public class CpsStateCoder implements IStateCoder { | ||
25 | public static class Factory implements IStateCoderFactory { | ||
26 | @Override | ||
27 | public IStateCoder createStateCoder() { | ||
28 | return new CpsStateCoder(); | ||
29 | } | ||
30 | } | ||
31 | |||
32 | private CyberPhysicalSystem cps; | ||
33 | |||
34 | protected CpsStateCoder() { | ||
35 | } | ||
36 | |||
37 | @Override | ||
38 | public void init(final Notifier notifier) { | ||
39 | CyberPhysicalSystem _switchResult = null; | ||
40 | boolean _matched = false; | ||
41 | if (notifier instanceof ResourceSet) { | ||
42 | _matched=true; | ||
43 | _switchResult = this.getCpsFromResourceSet(((ResourceSet)notifier)); | ||
44 | } | ||
45 | if (!_matched) { | ||
46 | if (notifier instanceof Resource) { | ||
47 | _matched=true; | ||
48 | _switchResult = this.getCpsFromResource(((Resource)notifier)); | ||
49 | } | ||
50 | } | ||
51 | if (!_matched) { | ||
52 | if (notifier instanceof CyberPhysicalSystem) { | ||
53 | _matched=true; | ||
54 | _switchResult = ((CyberPhysicalSystem)notifier); | ||
55 | } | ||
56 | } | ||
57 | if (!_matched) { | ||
58 | throw new IllegalArgumentException("notifier is not a CyberPhysicalSystem"); | ||
59 | } | ||
60 | this.cps = _switchResult; | ||
61 | } | ||
62 | |||
63 | private CyberPhysicalSystem getCpsFromResourceSet(final ResourceSet resourceSet) { | ||
64 | CyberPhysicalSystem _xblockexpression = null; | ||
65 | { | ||
66 | boolean _isEmpty = resourceSet.getResources().isEmpty(); | ||
67 | if (_isEmpty) { | ||
68 | throw new IllegalArgumentException("No Resource in ResourceSet"); | ||
69 | } | ||
70 | final Resource resource = IterableExtensions.<Resource>head(resourceSet.getResources()); | ||
71 | _xblockexpression = this.getCpsFromResource(resource); | ||
72 | } | ||
73 | return _xblockexpression; | ||
74 | } | ||
75 | |||
76 | private CyberPhysicalSystem getCpsFromResource(final Resource resource) { | ||
77 | CyberPhysicalSystem _xblockexpression = null; | ||
78 | { | ||
79 | boolean _isEmpty = resource.getContents().isEmpty(); | ||
80 | if (_isEmpty) { | ||
81 | throw new IllegalArgumentException("No EObject in Resource"); | ||
82 | } | ||
83 | final EObject cps = IterableExtensions.<EObject>head(resource.getContents()); | ||
84 | CyberPhysicalSystem _xifexpression = null; | ||
85 | if ((cps instanceof CyberPhysicalSystem)) { | ||
86 | _xifexpression = ((CyberPhysicalSystem)cps); | ||
87 | } else { | ||
88 | throw new IllegalArgumentException("EObject in Resource is not a CyberPhysicalSystem"); | ||
89 | } | ||
90 | _xblockexpression = _xifexpression; | ||
91 | } | ||
92 | return _xblockexpression; | ||
93 | } | ||
94 | |||
95 | @Override | ||
96 | public String createStateCode() { | ||
97 | StringConcatenation _builder = new StringConcatenation(); | ||
98 | StringConcatenationClient _createRequestsCode = this.createRequestsCode(); | ||
99 | _builder.append(_createRequestsCode); | ||
100 | CharSequence _createHostTypesCode = this.createHostTypesCode(); | ||
101 | _builder.append(_createHostTypesCode); | ||
102 | return _builder.toString(); | ||
103 | } | ||
104 | |||
105 | private StringConcatenationClient createRequestsCode() { | ||
106 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
107 | @Override | ||
108 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
109 | { | ||
110 | EList<Request> _requests = CpsStateCoder.this.cps.getRequests(); | ||
111 | for(final Request request : _requests) { | ||
112 | StringConcatenationClient _createRequestCode = CpsStateCoder.this.createRequestCode(request); | ||
113 | _builder.append(_createRequestCode); | ||
114 | } | ||
115 | } | ||
116 | } | ||
117 | }; | ||
118 | return _client; | ||
119 | } | ||
120 | |||
121 | private StringConcatenationClient createRequestCode(final Request request) { | ||
122 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
123 | @Override | ||
124 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
125 | _builder.append("["); | ||
126 | { | ||
127 | EList<Requirement> _requirements = request.getRequirements(); | ||
128 | for(final Requirement requirement : _requirements) { | ||
129 | StringConcatenationClient _createRequirementCode = CpsStateCoder.this.createRequirementCode(requirement); | ||
130 | _builder.append(_createRequirementCode); | ||
131 | } | ||
132 | } | ||
133 | _builder.append("]"); | ||
134 | } | ||
135 | }; | ||
136 | return _client; | ||
137 | } | ||
138 | |||
139 | private StringConcatenationClient createRequirementCode(final Requirement requirement) { | ||
140 | StringConcatenationClient _client = new StringConcatenationClient() { | ||
141 | @Override | ||
142 | protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { | ||
143 | _builder.append("["); | ||
144 | { | ||
145 | EList<ApplicationInstance> _instances = requirement.getInstances(); | ||
146 | boolean _hasElements = false; | ||
147 | for(final ApplicationInstance app : _instances) { | ||
148 | if (!_hasElements) { | ||
149 | _hasElements = true; | ||
150 | } else { | ||
151 | _builder.appendImmediate(",", ""); | ||
152 | } | ||
153 | String _createAppCode = CpsStateCoder.this.createAppCode(app); | ||
154 | _builder.append(_createAppCode); | ||
155 | } | ||
156 | } | ||
157 | _builder.append("]"); | ||
158 | } | ||
159 | }; | ||
160 | return _client; | ||
161 | } | ||
162 | |||
163 | private String createAppCode(final ApplicationInstance app) { | ||
164 | String _xifexpression = null; | ||
165 | HostInstance _allocatedTo = app.getAllocatedTo(); | ||
166 | boolean _tripleEquals = (_allocatedTo == null); | ||
167 | if (_tripleEquals) { | ||
168 | _xifexpression = "-"; | ||
169 | } else { | ||
170 | _xifexpression = this.createMatchArgumentCode(app.getAllocatedTo()); | ||
171 | } | ||
172 | return _xifexpression; | ||
173 | } | ||
174 | |||
175 | private CharSequence createHostTypesCode() { | ||
176 | StringConcatenation _builder = new StringConcatenation(); | ||
177 | _builder.append("("); | ||
178 | { | ||
179 | EList<HostType> _hostTypes = this.cps.getHostTypes(); | ||
180 | boolean _hasElements = false; | ||
181 | for(final HostType hostType : _hostTypes) { | ||
182 | if (!_hasElements) { | ||
183 | _hasElements = true; | ||
184 | } else { | ||
185 | _builder.appendImmediate(",", ""); | ||
186 | } | ||
187 | int _size = hostType.getInstances().size(); | ||
188 | _builder.append(_size); | ||
189 | } | ||
190 | } | ||
191 | _builder.append(")"); | ||
192 | return _builder; | ||
193 | } | ||
194 | |||
195 | @Override | ||
196 | public String createActivationCode(final IPatternMatch match) { | ||
197 | StringConcatenation _builder = new StringConcatenation(); | ||
198 | String _simpleName = match.specification().getSimpleName(); | ||
199 | _builder.append(_simpleName); | ||
200 | _builder.append("("); | ||
201 | { | ||
202 | Object[] _array = match.toArray(); | ||
203 | boolean _hasElements = false; | ||
204 | for(final Object arg : _array) { | ||
205 | if (!_hasElements) { | ||
206 | _hasElements = true; | ||
207 | } else { | ||
208 | _builder.appendImmediate(",", ""); | ||
209 | } | ||
210 | String _createMatchArgumentCode = this.createMatchArgumentCode(arg); | ||
211 | _builder.append(_createMatchArgumentCode); | ||
212 | } | ||
213 | } | ||
214 | _builder.append(")"); | ||
215 | return _builder.toString(); | ||
216 | } | ||
217 | |||
218 | protected String _createMatchArgumentCode(final Requirement requirement) { | ||
219 | String _xblockexpression = null; | ||
220 | { | ||
221 | final EObject request = requirement.eContainer(); | ||
222 | String _xifexpression = null; | ||
223 | if ((request instanceof Request)) { | ||
224 | String _xblockexpression_1 = null; | ||
225 | { | ||
226 | EObject _eContainer = ((Request)request).eContainer(); | ||
227 | boolean _notEquals = (!Objects.equal(_eContainer, this.cps)); | ||
228 | if (_notEquals) { | ||
229 | throw new IllegalArgumentException("Request is not contained in the CPS"); | ||
230 | } | ||
231 | final int requestIndex = this.cps.getRequests().indexOf(request); | ||
232 | final int requirementIndex = ((Request)request).getRequirements().indexOf(requirement); | ||
233 | String _plus = (Integer.valueOf(requestIndex) + "."); | ||
234 | _xblockexpression_1 = (_plus + Integer.valueOf(requirementIndex)); | ||
235 | } | ||
236 | _xifexpression = _xblockexpression_1; | ||
237 | } else { | ||
238 | throw new IllegalArgumentException("Requirement is not contained in a request"); | ||
239 | } | ||
240 | _xblockexpression = _xifexpression; | ||
241 | } | ||
242 | return _xblockexpression; | ||
243 | } | ||
244 | |||
245 | protected String _createMatchArgumentCode(final ApplicationInstance app) { | ||
246 | String _xblockexpression = null; | ||
247 | { | ||
248 | final Requirement requirement = app.getRequirement(); | ||
249 | if ((requirement == null)) { | ||
250 | throw new IllegalArgumentException("Application instance is not associated with a requirement"); | ||
251 | } | ||
252 | final int instanceIndex = requirement.getInstances().indexOf(app); | ||
253 | String _createMatchArgumentCode = this.createMatchArgumentCode(requirement); | ||
254 | String _plus = (_createMatchArgumentCode + "."); | ||
255 | _xblockexpression = (_plus + Integer.valueOf(instanceIndex)); | ||
256 | } | ||
257 | return _xblockexpression; | ||
258 | } | ||
259 | |||
260 | protected String _createMatchArgumentCode(final HostInstance host) { | ||
261 | String _xblockexpression = null; | ||
262 | { | ||
263 | final EObject hostType = host.eContainer(); | ||
264 | String _xifexpression = null; | ||
265 | if ((hostType instanceof HostType)) { | ||
266 | String _xblockexpression_1 = null; | ||
267 | { | ||
268 | final int hostIndex = ((HostType)hostType).getInstances().indexOf(host); | ||
269 | String _createMatchArgumentCode = this.createMatchArgumentCode(hostType); | ||
270 | String _plus = (_createMatchArgumentCode + "."); | ||
271 | _xblockexpression_1 = (_plus + Integer.valueOf(hostIndex)); | ||
272 | } | ||
273 | _xifexpression = _xblockexpression_1; | ||
274 | } else { | ||
275 | throw new IllegalArgumentException("Host is not contained in a host type"); | ||
276 | } | ||
277 | _xblockexpression = _xifexpression; | ||
278 | } | ||
279 | return _xblockexpression; | ||
280 | } | ||
281 | |||
282 | protected String _createMatchArgumentCode(final HostType hostType) { | ||
283 | String _xblockexpression = null; | ||
284 | { | ||
285 | EObject _eContainer = hostType.eContainer(); | ||
286 | boolean _notEquals = (!Objects.equal(_eContainer, this.cps)); | ||
287 | if (_notEquals) { | ||
288 | throw new IllegalArgumentException("Host type is not contained in the CPS"); | ||
289 | } | ||
290 | final int hostTypeIndex = this.cps.getHostTypes().indexOf(hostType); | ||
291 | _xblockexpression = Integer.valueOf(hostTypeIndex).toString(); | ||
292 | } | ||
293 | return _xblockexpression; | ||
294 | } | ||
295 | |||
296 | protected String _createMatchArgumentCode(final Object object) { | ||
297 | throw new IllegalArgumentException("Unknown match argument: "); | ||
298 | } | ||
299 | |||
300 | protected String createMatchArgumentCode(final Object app) { | ||
301 | if (app instanceof ApplicationInstance) { | ||
302 | return _createMatchArgumentCode((ApplicationInstance)app); | ||
303 | } else if (app instanceof HostInstance) { | ||
304 | return _createMatchArgumentCode((HostInstance)app); | ||
305 | } else if (app instanceof HostType) { | ||
306 | return _createMatchArgumentCode((HostType)app); | ||
307 | } else if (app instanceof Requirement) { | ||
308 | return _createMatchArgumentCode((Requirement)app); | ||
309 | } else if (app != null) { | ||
310 | return _createMatchArgumentCode(app); | ||
311 | } else { | ||
312 | throw new IllegalArgumentException("Unhandled parameter types: " + | ||
313 | Arrays.<Object>asList(app).toString()); | ||
314 | } | ||
315 | } | ||
316 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java deleted file mode 100644 index 7d81f84b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.dse; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.dse.RuleBasedCpsSolver; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CpsQueries; | ||
8 | import java.util.Map; | ||
9 | import org.eclipse.emf.ecore.EPackage; | ||
10 | import org.eclipse.emf.ecore.EStructuralFeature; | ||
11 | import org.eclipse.emf.ecore.resource.Resource; | ||
12 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; | ||
13 | import org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory; | ||
14 | import org.eclipse.viatra.addon.querybasedfeatures.runtime.handler.QueryBasedFeatures; | ||
15 | import org.eclipse.viatra.dse.api.DesignSpaceExplorer; | ||
16 | import org.eclipse.viatra.query.runtime.extensibility.SingletonQueryGroupProvider; | ||
17 | import org.eclipse.viatra.query.runtime.registry.IQuerySpecificationRegistry; | ||
18 | import org.eclipse.viatra.query.runtime.registry.QuerySpecificationRegistry; | ||
19 | import org.eclipse.viatra.query.runtime.registry.connector.QueryGroupProviderSourceConnector; | ||
20 | |||
21 | @SuppressWarnings("all") | ||
22 | public class RuleBasedCpsMain { | ||
23 | private RuleBasedCpsMain() { | ||
24 | new IllegalStateException("This is a static utility class and should not be instantiated directly."); | ||
25 | } | ||
26 | |||
27 | public static void main(final String[] args) { | ||
28 | DesignSpaceExplorer.turnOnLogging(DesignSpaceExplorer.DseLoggingLevel.VERBOSE_FULL); | ||
29 | Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); | ||
30 | XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); | ||
31 | _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); | ||
32 | QueryBasedFeatureSettingDelegateFactory _queryBasedFeatureSettingDelegateFactory = new QueryBasedFeatureSettingDelegateFactory(); | ||
33 | EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.put(QueryBasedFeatures.ANNOTATION_SOURCE, _queryBasedFeatureSettingDelegateFactory); | ||
34 | EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); | ||
35 | IQuerySpecificationRegistry _instance = QuerySpecificationRegistry.getInstance(); | ||
36 | CpsQueries _instance_1 = CpsQueries.instance(); | ||
37 | SingletonQueryGroupProvider _singletonQueryGroupProvider = new SingletonQueryGroupProvider(_instance_1); | ||
38 | QueryGroupProviderSourceConnector _queryGroupProviderSourceConnector = new QueryGroupProviderSourceConnector("CpsQueries", _singletonQueryGroupProvider, | ||
39 | true); | ||
40 | _instance.addSource(_queryGroupProviderSourceConnector); | ||
41 | final CpsGenerator generator = new CpsGenerator(1, 4, 1); | ||
42 | final CyberPhysicalSystem problem = generator.generateCpsProblem(); | ||
43 | final RuleBasedCpsSolver solver = new RuleBasedCpsSolver(); | ||
44 | solver.solve(problem); | ||
45 | } | ||
46 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java deleted file mode 100644 index fd348752..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java +++ /dev/null | |||
@@ -1,93 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.dse; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.CpsFactory; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.cps.dse.CpsStateCoder; | ||
9 | import hu.bme.mit.inf.dslreasoner.domains.cps.queries.Allocate; | ||
10 | import hu.bme.mit.inf.dslreasoner.domains.cps.queries.AverageFreeHddMetric; | ||
11 | import hu.bme.mit.inf.dslreasoner.domains.cps.queries.AverageFreeMemoryMetric; | ||
12 | import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CostMetric; | ||
13 | import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CreateHostInstance; | ||
14 | import hu.bme.mit.inf.dslreasoner.domains.cps.queries.GuidanceObjective; | ||
15 | import hu.bme.mit.inf.dslreasoner.domains.cps.queries.RequirementNotSatisfied; | ||
16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.CompositeDirectionalThresholdObjective; | ||
17 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind; | ||
18 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveThreshold; | ||
19 | import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.QueryBasedObjective; | ||
20 | import java.util.Collection; | ||
21 | import java.util.function.Consumer; | ||
22 | import org.eclipse.emf.common.util.EList; | ||
23 | import org.eclipse.viatra.dse.api.DesignSpaceExplorer; | ||
24 | import org.eclipse.viatra.dse.api.Solution; | ||
25 | import org.eclipse.viatra.dse.evolutionary.EvolutionaryStrategy; | ||
26 | import org.eclipse.viatra.dse.evolutionary.EvolutionaryStrategyBuilder; | ||
27 | import org.eclipse.viatra.dse.objectives.Fitness; | ||
28 | import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRuleFactory; | ||
29 | import org.eclipse.xtext.xbase.lib.Extension; | ||
30 | import org.eclipse.xtext.xbase.lib.InputOutput; | ||
31 | |||
32 | @SuppressWarnings("all") | ||
33 | public class RuleBasedCpsSolver { | ||
34 | @Extension | ||
35 | private final BatchTransformationRuleFactory _batchTransformationRuleFactory = new BatchTransformationRuleFactory(); | ||
36 | |||
37 | @Extension | ||
38 | private final CpsFactory _cpsFactory = CpsFactory.eINSTANCE; | ||
39 | |||
40 | public void solve(final CyberPhysicalSystem problem) { | ||
41 | final DesignSpaceExplorer dse = new DesignSpaceExplorer(); | ||
42 | dse.addMetaModelPackage(CpsPackage.eINSTANCE); | ||
43 | dse.setInitialModel(problem.eResource().getResourceSet()); | ||
44 | final Consumer<RequirementNotSatisfied.Match> _function = (RequirementNotSatisfied.Match it) -> { | ||
45 | final ApplicationInstance app = this._cpsFactory.createApplicationInstance(); | ||
46 | EList<ApplicationInstance> _instances = it.getReq().getType().getInstances(); | ||
47 | _instances.add(app); | ||
48 | EList<ApplicationInstance> _instances_1 = it.getReq().getInstances(); | ||
49 | _instances_1.add(app); | ||
50 | }; | ||
51 | dse.addTransformationRule(this._batchTransformationRuleFactory.<RequirementNotSatisfied.Match, RequirementNotSatisfied.Matcher>createRule(RequirementNotSatisfied.instance()).action(_function).build()); | ||
52 | final Consumer<Allocate.Match> _function_1 = (Allocate.Match it) -> { | ||
53 | ApplicationInstance _app = it.getApp(); | ||
54 | _app.setAllocatedTo(it.getHost()); | ||
55 | }; | ||
56 | dse.addTransformationRule(this._batchTransformationRuleFactory.<Allocate.Match, Allocate.Matcher>createRule(Allocate.instance()).action(_function_1).build()); | ||
57 | final Consumer<CreateHostInstance.Match> _function_2 = (CreateHostInstance.Match it) -> { | ||
58 | EList<HostInstance> _instances = it.getHostType().getInstances(); | ||
59 | HostInstance _createHostInstance = this._cpsFactory.createHostInstance(); | ||
60 | _instances.add(_createHostInstance); | ||
61 | }; | ||
62 | dse.addTransformationRule(this._batchTransformationRuleFactory.<CreateHostInstance.Match, CreateHostInstance.Matcher>createRule(CreateHostInstance.instance()).action(_function_2).build()); | ||
63 | GuidanceObjective _instance = GuidanceObjective.instance(); | ||
64 | ObjectiveThreshold.Inclusive _inclusive = new ObjectiveThreshold.Inclusive(0); | ||
65 | QueryBasedObjective _queryBasedObjective = new QueryBasedObjective(_instance, ObjectiveKind.LOWER_IS_BETTER, _inclusive, 0); | ||
66 | AverageFreeMemoryMetric _instance_1 = AverageFreeMemoryMetric.instance(); | ||
67 | ObjectiveThreshold.Inclusive _inclusive_1 = new ObjectiveThreshold.Inclusive(0.75); | ||
68 | QueryBasedObjective _queryBasedObjective_1 = new QueryBasedObjective(_instance_1, ObjectiveKind.LOWER_IS_BETTER, _inclusive_1, 0); | ||
69 | AverageFreeHddMetric _instance_2 = AverageFreeHddMetric.instance(); | ||
70 | ObjectiveThreshold.Inclusive _inclusive_2 = new ObjectiveThreshold.Inclusive(0.75); | ||
71 | QueryBasedObjective _queryBasedObjective_2 = new QueryBasedObjective(_instance_2, ObjectiveKind.LOWER_IS_BETTER, _inclusive_2, 0); | ||
72 | CompositeDirectionalThresholdObjective _compositeDirectionalThresholdObjective = new CompositeDirectionalThresholdObjective("Composite", _queryBasedObjective, _queryBasedObjective_1, _queryBasedObjective_2); | ||
73 | dse.addObjective(_compositeDirectionalThresholdObjective); | ||
74 | CostMetric _instance_3 = CostMetric.instance(); | ||
75 | QueryBasedObjective _queryBasedObjective_3 = new QueryBasedObjective(_instance_3, ObjectiveKind.LOWER_IS_BETTER, | ||
76 | ObjectiveThreshold.NO_THRESHOLD, 0); | ||
77 | dse.addObjective(_queryBasedObjective_3); | ||
78 | dse.setMaxNumberOfThreads(1); | ||
79 | CpsStateCoder.Factory _factory = new CpsStateCoder.Factory(); | ||
80 | dse.setStateCoderFactory(_factory); | ||
81 | final EvolutionaryStrategy strategy = EvolutionaryStrategyBuilder.createNsga2Strategy(25); | ||
82 | dse.startExplorationWithTimeout(strategy, ((2 * 60) * 1000)); | ||
83 | Collection<Solution> _solutions = dse.getSolutions(); | ||
84 | for (final Solution solution : _solutions) { | ||
85 | Object _stateCode = solution.getStateCode(); | ||
86 | String _plus = ("Found solution: " + _stateCode); | ||
87 | String _plus_1 = (_plus + " "); | ||
88 | Fitness _fitness = solution.getArbitraryTrajectory().getFitness(); | ||
89 | String _plus_2 = (_plus_1 + _fitness); | ||
90 | InputOutput.<String>println(_plus_2); | ||
91 | } | ||
92 | } | ||
93 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin deleted file mode 100644 index 42bebd02..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore deleted file mode 100644 index 716ffd30..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | /.CpsGenerator.java._trace | ||
2 | /.CpsGenerator.xtendbin | ||
3 | /CpsGenerator.java | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java deleted file mode 100644 index ce0cd02d..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java +++ /dev/null | |||
@@ -1,177 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.generator; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.CpsFactory; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.cps.Request; | ||
9 | import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; | ||
10 | import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; | ||
11 | import java.util.Collection; | ||
12 | import java.util.Collections; | ||
13 | import java.util.List; | ||
14 | import java.util.Random; | ||
15 | import org.eclipse.emf.common.util.EList; | ||
16 | import org.eclipse.emf.common.util.URI; | ||
17 | import org.eclipse.emf.ecore.EObject; | ||
18 | import org.eclipse.emf.ecore.resource.Resource; | ||
19 | import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; | ||
20 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; | ||
21 | import org.eclipse.xtext.xbase.lib.ExclusiveRange; | ||
22 | import org.eclipse.xtext.xbase.lib.Extension; | ||
23 | import org.eclipse.xtext.xbase.lib.ObjectExtensions; | ||
24 | import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; | ||
25 | |||
26 | @SuppressWarnings("all") | ||
27 | public class CpsGenerator { | ||
28 | @Extension | ||
29 | private final CpsFactory _cpsFactory = CpsFactory.eINSTANCE; | ||
30 | |||
31 | private static final int MIN_MEMORY = 1; | ||
32 | |||
33 | private static final int MAX_MEMORY = 6; | ||
34 | |||
35 | private static final int MIN_HDD = 1; | ||
36 | |||
37 | private static final int MAX_HDD = 30; | ||
38 | |||
39 | private static final int HIGH_CPU_FRACTION = 4; | ||
40 | |||
41 | private static final int MIN_REPLICAS = 1; | ||
42 | |||
43 | private static final int MAX_REPLICAS = 4; | ||
44 | |||
45 | private final Random random; | ||
46 | |||
47 | private final int applicationTypeCount; | ||
48 | |||
49 | private final int demandFactor; | ||
50 | |||
51 | private final boolean populateAppInstances; | ||
52 | |||
53 | public CpsGenerator(final long randomSeed, final int applicationTypeCount, final int demandFactor) { | ||
54 | this(randomSeed, applicationTypeCount, demandFactor, false); | ||
55 | } | ||
56 | |||
57 | public CpsGenerator(final long randomSeed, final int applicationTypeCount, final int demandFactor, final boolean populateAppInstances) { | ||
58 | Random _random = new Random(randomSeed); | ||
59 | this.random = _random; | ||
60 | this.applicationTypeCount = applicationTypeCount; | ||
61 | this.demandFactor = demandFactor; | ||
62 | this.populateAppInstances = populateAppInstances; | ||
63 | } | ||
64 | |||
65 | public CyberPhysicalSystem generateCpsProblem() { | ||
66 | CyberPhysicalSystem _xblockexpression = null; | ||
67 | { | ||
68 | final ResourceSetImpl resourceSet = new ResourceSetImpl(); | ||
69 | final Resource resource = resourceSet.createResource(URI.createFileURI("dummy.dummyext")); | ||
70 | CyberPhysicalSystem _createCyberPhysicalSystem = this._cpsFactory.createCyberPhysicalSystem(); | ||
71 | final Procedure1<CyberPhysicalSystem> _function = (CyberPhysicalSystem it) -> { | ||
72 | final CyberPhysicalSystem cps = it; | ||
73 | EList<EObject> _contents = resource.getContents(); | ||
74 | _contents.add(cps); | ||
75 | this.createLowCpuHostTypes(it); | ||
76 | final List<HostType> highCpuHostTypes = this.createHighCpuHostTypes(it); | ||
77 | for (int i = 0; (i < this.applicationTypeCount); i++) { | ||
78 | if (((i % CpsGenerator.HIGH_CPU_FRACTION) == 0)) { | ||
79 | this.createRandomApplicationType(it, highCpuHostTypes); | ||
80 | } else { | ||
81 | this.createRandomApplicationType(it, it.getHostTypes()); | ||
82 | } | ||
83 | } | ||
84 | for (int i = 0; (i < this.demandFactor); i++) { | ||
85 | EList<Request> _requests = it.getRequests(); | ||
86 | Request _createRequest = this._cpsFactory.createRequest(); | ||
87 | final Procedure1<Request> _function_1 = (Request it_1) -> { | ||
88 | EList<ApplicationType> _applicationTypes = cps.getApplicationTypes(); | ||
89 | for (final ApplicationType appType : _applicationTypes) { | ||
90 | EList<Requirement> _requirements = it_1.getRequirements(); | ||
91 | Requirement _createRequirement = this._cpsFactory.createRequirement(); | ||
92 | final Procedure1<Requirement> _function_2 = (Requirement it_2) -> { | ||
93 | it_2.setCount(this.nextInt(CpsGenerator.MIN_REPLICAS, CpsGenerator.MAX_REPLICAS)); | ||
94 | it_2.setType(appType); | ||
95 | if (this.populateAppInstances) { | ||
96 | int _count = it_2.getCount(); | ||
97 | ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _count, true); | ||
98 | for (final Integer j : _doubleDotLessThan) { | ||
99 | { | ||
100 | final ApplicationInstance app = this._cpsFactory.createApplicationInstance(); | ||
101 | app.setType(appType); | ||
102 | EList<ApplicationInstance> _instances = appType.getInstances(); | ||
103 | _instances.add(app); | ||
104 | EList<ApplicationInstance> _instances_1 = it_2.getInstances(); | ||
105 | _instances_1.add(app); | ||
106 | } | ||
107 | } | ||
108 | } | ||
109 | }; | ||
110 | Requirement _doubleArrow = ObjectExtensions.<Requirement>operator_doubleArrow(_createRequirement, _function_2); | ||
111 | _requirements.add(_doubleArrow); | ||
112 | } | ||
113 | }; | ||
114 | Request _doubleArrow = ObjectExtensions.<Request>operator_doubleArrow(_createRequest, _function_1); | ||
115 | _requests.add(_doubleArrow); | ||
116 | } | ||
117 | }; | ||
118 | _xblockexpression = ObjectExtensions.<CyberPhysicalSystem>operator_doubleArrow(_createCyberPhysicalSystem, _function); | ||
119 | } | ||
120 | return _xblockexpression; | ||
121 | } | ||
122 | |||
123 | private void createRandomApplicationType(final CyberPhysicalSystem it, final Collection<HostType> allowedHostTypes) { | ||
124 | final ApplicationType appType = this._cpsFactory.createApplicationType(); | ||
125 | final int memory = this.nextInt(CpsGenerator.MIN_MEMORY, CpsGenerator.MAX_MEMORY); | ||
126 | final int hdd = this.nextInt(CpsGenerator.MIN_HDD, CpsGenerator.MAX_HDD); | ||
127 | for (final HostType hostType : allowedHostTypes) { | ||
128 | EList<ResourceRequirement> _requirements = appType.getRequirements(); | ||
129 | ResourceRequirement _createResourceRequirement = this._cpsFactory.createResourceRequirement(); | ||
130 | final Procedure1<ResourceRequirement> _function = (ResourceRequirement it_1) -> { | ||
131 | it_1.setHostType(hostType); | ||
132 | it_1.setRequiredMemory(memory); | ||
133 | it_1.setRequiredHdd(hdd); | ||
134 | }; | ||
135 | ResourceRequirement _doubleArrow = ObjectExtensions.<ResourceRequirement>operator_doubleArrow(_createResourceRequirement, _function); | ||
136 | _requirements.add(_doubleArrow); | ||
137 | } | ||
138 | EList<ApplicationType> _applicationTypes = it.getApplicationTypes(); | ||
139 | _applicationTypes.add(appType); | ||
140 | } | ||
141 | |||
142 | private List<HostType> createLowCpuHostTypes(final CyberPhysicalSystem it) { | ||
143 | HostType _createHostType = this.createHostType(it, 2, 8, 75); | ||
144 | HostType _createHostType_1 = this.createHostType(it, 4, 16, 150); | ||
145 | HostType _createHostType_2 = this.createHostType(it, 3, 16, 75); | ||
146 | HostType _createHostType_3 = this.createHostType(it, 6, 32, 150); | ||
147 | return Collections.<HostType>unmodifiableList(CollectionLiterals.<HostType>newArrayList(_createHostType, _createHostType_1, _createHostType_2, _createHostType_3)); | ||
148 | } | ||
149 | |||
150 | private List<HostType> createHighCpuHostTypes(final CyberPhysicalSystem it) { | ||
151 | HostType _createHostType = this.createHostType(it, 2, 4, 50); | ||
152 | HostType _createHostType_1 = this.createHostType(it, 4, 8, 100); | ||
153 | return Collections.<HostType>unmodifiableList(CollectionLiterals.<HostType>newArrayList(_createHostType, _createHostType_1)); | ||
154 | } | ||
155 | |||
156 | private HostType createHostType(final CyberPhysicalSystem it, final int cost, final int memory, final int hdd) { | ||
157 | HostType _xblockexpression = null; | ||
158 | { | ||
159 | HostType _createHostType = this._cpsFactory.createHostType(); | ||
160 | final Procedure1<HostType> _function = (HostType it_1) -> { | ||
161 | it_1.setCost(cost); | ||
162 | it_1.setDefaultMemory(memory); | ||
163 | it_1.setDefaultHdd(hdd); | ||
164 | }; | ||
165 | final HostType hostType = ObjectExtensions.<HostType>operator_doubleArrow(_createHostType, _function); | ||
166 | EList<HostType> _hostTypes = it.getHostTypes(); | ||
167 | _hostTypes.add(hostType); | ||
168 | _xblockexpression = hostType; | ||
169 | } | ||
170 | return _xblockexpression; | ||
171 | } | ||
172 | |||
173 | private int nextInt(final int lower, final int upper) { | ||
174 | int _nextInt = this.random.nextInt(((upper - lower) + 1)); | ||
175 | return (lower + _nextInt); | ||
176 | } | ||
177 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin deleted file mode 100644 index b9f0df1a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin deleted file mode 100644 index 86913d04..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin deleted file mode 100644 index fd33b1a1..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin deleted file mode 100644 index cc5c52dd..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin deleted file mode 100644 index a80b5bc3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin deleted file mode 100644 index 24309a53..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin deleted file mode 100644 index 86af43db..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin deleted file mode 100644 index f37b1a5c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin deleted file mode 100644 index eeef5142..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin deleted file mode 100644 index dd11fbd5..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore deleted file mode 100644 index 51a2537b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | /.TotalCostFitnessFunction.java._trace | ||
2 | /.CpsMdeOptimiserMain.java._trace | ||
3 | /.ExcludedOptimisationInterpreter.java._trace | ||
4 | /.ExcludedMoeaOptimisation.java._trace | ||
5 | /.ExcludedRun.java._trace | ||
6 | /.SatisfiedRequirementsConstraint.java._trace | ||
7 | /.NotSatisfiedRequirementsConstraint.java._trace | ||
8 | /.NotAllocatedAppInstancesConstraint.java._trace | ||
9 | /.NonRedundantAllocationsConstraint.java._trace | ||
10 | /.UnavailableMemoryConstraint.java._trace | ||
11 | /.ResourceUtilizationUtil.java._trace | ||
12 | /.UnavailableHddConstraint.java._trace | ||
13 | /.TooLowAverageMemoryConstraint.java._trace | ||
14 | /.TooLowAverageHddUtilization.java._trace | ||
15 | /.TooLowAverageHddConstraint.java._trace | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java deleted file mode 100644 index c047f255..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java +++ /dev/null | |||
@@ -1,82 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; | ||
6 | import java.io.BufferedReader; | ||
7 | import java.io.BufferedWriter; | ||
8 | import java.io.FileReader; | ||
9 | import java.io.FileWriter; | ||
10 | import java.util.Collections; | ||
11 | import java.util.Map; | ||
12 | import java.util.Set; | ||
13 | import org.eclipse.emf.common.util.URI; | ||
14 | import org.eclipse.emf.ecore.EPackage; | ||
15 | import org.eclipse.emf.ecore.resource.Resource; | ||
16 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; | ||
17 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; | ||
18 | import org.eclipse.xtext.xbase.lib.Exceptions; | ||
19 | import org.eclipse.xtext.xbase.lib.Pair; | ||
20 | import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run; | ||
21 | |||
22 | @SuppressWarnings("all") | ||
23 | public class CpsMdeOptimiserMain { | ||
24 | private static final String PROJECT_PATH = "."; | ||
25 | |||
26 | private static final String PROBLEM_PATH = "model/problem.xmi"; | ||
27 | |||
28 | private static final String MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt"; | ||
29 | |||
30 | private CpsMdeOptimiserMain() { | ||
31 | new IllegalStateException("This is a static utility class and should not be instantiated directly."); | ||
32 | } | ||
33 | |||
34 | public static void main(final String[] args) { | ||
35 | try { | ||
36 | Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); | ||
37 | XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); | ||
38 | _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); | ||
39 | EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); | ||
40 | final CpsGenerator generator = new CpsGenerator(1, 4, 1); | ||
41 | final CyberPhysicalSystem problem = generator.generateCpsProblem(); | ||
42 | Resource _eResource = problem.eResource(); | ||
43 | _eResource.setURI(URI.createFileURI(CpsMdeOptimiserMain.PROBLEM_PATH)); | ||
44 | problem.eResource().save(CollectionLiterals.<Object, Object>emptyMap()); | ||
45 | Pair<String, String> _mappedTo = Pair.<String, String>of("cps.ecore", CpsPackage.eNS_URI); | ||
46 | CpsMdeOptimiserMain.fixupHenshinModel("model/cps.henshin", "model/cps_fixup.henshin", Collections.<String, String>unmodifiableMap(CollectionLiterals.<String, String>newHashMap(_mappedTo))); | ||
47 | Run.main(new String[] { "-p", CpsMdeOptimiserMain.PROJECT_PATH, "-m", CpsMdeOptimiserMain.MOPT_PATH }); | ||
48 | } catch (Throwable _e) { | ||
49 | throw Exceptions.sneakyThrow(_e); | ||
50 | } | ||
51 | } | ||
52 | |||
53 | private static void fixupHenshinModel(final String originalPath, final String outputPath, final Map<String, String> remapMap) { | ||
54 | try { | ||
55 | FileReader _fileReader = new FileReader(originalPath); | ||
56 | final BufferedReader reader = new BufferedReader(_fileReader); | ||
57 | try { | ||
58 | FileWriter _fileWriter = new FileWriter(outputPath); | ||
59 | final BufferedWriter writer = new BufferedWriter(_fileWriter); | ||
60 | try { | ||
61 | String line = null; | ||
62 | while (((line = reader.readLine()) != null)) { | ||
63 | { | ||
64 | Set<Map.Entry<String, String>> _entrySet = remapMap.entrySet(); | ||
65 | for (final Map.Entry<String, String> entry : _entrySet) { | ||
66 | line = line.replace(entry.getKey(), entry.getValue()); | ||
67 | } | ||
68 | writer.write(line); | ||
69 | writer.write("\n"); | ||
70 | } | ||
71 | } | ||
72 | } finally { | ||
73 | writer.close(); | ||
74 | } | ||
75 | } finally { | ||
76 | reader.close(); | ||
77 | } | ||
78 | } catch (Throwable _e) { | ||
79 | throw Exceptions.sneakyThrow(_e); | ||
80 | } | ||
81 | } | ||
82 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java deleted file mode 100644 index 6100d821..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import com.google.common.collect.HashMultiset; | ||
4 | import com.google.common.collect.Multiset; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
9 | import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; | ||
10 | import java.util.Set; | ||
11 | import org.eclipse.emf.common.util.EList; | ||
12 | import org.eclipse.emf.ecore.EObject; | ||
13 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
14 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
15 | |||
16 | @SuppressWarnings("all") | ||
17 | public class NonRedundantAllocationsConstraint implements IGuidanceFunction { | ||
18 | @Override | ||
19 | public String getName() { | ||
20 | return "NonRedundantAllocations"; | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | public double computeFitness(final Solution solution) { | ||
25 | int _xblockexpression = (int) 0; | ||
26 | { | ||
27 | EObject _model = solution.getModel(); | ||
28 | final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); | ||
29 | int cost = 0; | ||
30 | EList<HostType> _hostTypes = cps.getHostTypes(); | ||
31 | for (final HostType hostType : _hostTypes) { | ||
32 | EList<HostInstance> _instances = hostType.getInstances(); | ||
33 | for (final HostInstance host : _instances) { | ||
34 | { | ||
35 | final HashMultiset<Requirement> bins = HashMultiset.<Requirement>create(); | ||
36 | EList<ApplicationInstance> _applications = host.getApplications(); | ||
37 | for (final ApplicationInstance app : _applications) { | ||
38 | bins.add(app.getRequirement()); | ||
39 | } | ||
40 | Set<Multiset.Entry<Requirement>> _entrySet = bins.entrySet(); | ||
41 | for (final Multiset.Entry<Requirement> entry : _entrySet) { | ||
42 | int _cost = cost; | ||
43 | int _count = entry.getCount(); | ||
44 | int _minus = (_count - 1); | ||
45 | cost = (_cost + _minus); | ||
46 | } | ||
47 | } | ||
48 | } | ||
49 | } | ||
50 | _xblockexpression = cost; | ||
51 | } | ||
52 | return _xblockexpression; | ||
53 | } | ||
54 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java deleted file mode 100644 index e9ade5de..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; | ||
9 | import org.eclipse.emf.common.util.EList; | ||
10 | import org.eclipse.emf.ecore.EObject; | ||
11 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | ||
12 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
13 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
14 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
15 | |||
16 | @SuppressWarnings("all") | ||
17 | public class NotAllocatedAppInstancesConstraint implements IGuidanceFunction { | ||
18 | @Override | ||
19 | public String getName() { | ||
20 | return "NotAllocatedAppInstances"; | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | public double computeFitness(final Solution solution) { | ||
25 | int _xblockexpression = (int) 0; | ||
26 | { | ||
27 | EObject _model = solution.getModel(); | ||
28 | final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); | ||
29 | int cost = 0; | ||
30 | EList<ApplicationType> _applicationTypes = cps.getApplicationTypes(); | ||
31 | for (final ApplicationType appType : _applicationTypes) { | ||
32 | EList<ApplicationInstance> _instances = appType.getInstances(); | ||
33 | for (final ApplicationInstance app : _instances) { | ||
34 | if (((app.getAllocatedTo() == null) || (!IterableExtensions.<ResourceRequirement>exists(appType.getRequirements(), ((Function1<ResourceRequirement, Boolean>) (ResourceRequirement it) -> { | ||
35 | HostType _hostType = it.getHostType(); | ||
36 | HostType _type = app.getAllocatedTo().getType(); | ||
37 | return Boolean.valueOf(Objects.equal(_hostType, _type)); | ||
38 | }))))) { | ||
39 | cost++; | ||
40 | } | ||
41 | } | ||
42 | } | ||
43 | _xblockexpression = cost; | ||
44 | } | ||
45 | return _xblockexpression; | ||
46 | } | ||
47 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java deleted file mode 100644 index 34f73952..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java +++ /dev/null | |||
@@ -1,55 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.Request; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; | ||
9 | import org.eclipse.emf.common.util.EList; | ||
10 | import org.eclipse.emf.ecore.EObject; | ||
11 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
12 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
13 | |||
14 | @SuppressWarnings("all") | ||
15 | public class NotSatisfiedRequirementsConstraint implements IGuidanceFunction { | ||
16 | @Override | ||
17 | public String getName() { | ||
18 | return "NotSatisfiedRequirements"; | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public double computeFitness(final Solution solution) { | ||
23 | int _xblockexpression = (int) 0; | ||
24 | { | ||
25 | EObject _model = solution.getModel(); | ||
26 | final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); | ||
27 | int cost = 0; | ||
28 | EList<Request> _requests = cps.getRequests(); | ||
29 | for (final Request request : _requests) { | ||
30 | EList<Requirement> _requirements = request.getRequirements(); | ||
31 | for (final Requirement requirement : _requirements) { | ||
32 | { | ||
33 | int _cost = cost; | ||
34 | int _count = requirement.getCount(); | ||
35 | int _size = requirement.getInstances().size(); | ||
36 | int _minus = (_count - _size); | ||
37 | int _abs = Math.abs(_minus); | ||
38 | cost = (_cost + _abs); | ||
39 | EList<ApplicationInstance> _instances = requirement.getInstances(); | ||
40 | for (final ApplicationInstance app : _instances) { | ||
41 | ApplicationType _type = app.getType(); | ||
42 | ApplicationType _type_1 = requirement.getType(); | ||
43 | boolean _notEquals = (!Objects.equal(_type, _type_1)); | ||
44 | if (_notEquals) { | ||
45 | cost++; | ||
46 | } | ||
47 | } | ||
48 | } | ||
49 | } | ||
50 | } | ||
51 | _xblockexpression = cost; | ||
52 | } | ||
53 | return _xblockexpression; | ||
54 | } | ||
55 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java deleted file mode 100644 index a03213e3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; | ||
8 | import org.eclipse.emf.common.util.EList; | ||
9 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | ||
10 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
11 | |||
12 | @SuppressWarnings("all") | ||
13 | public class ResourceUtilizationUtil { | ||
14 | private ResourceUtilizationUtil() { | ||
15 | new IllegalStateException("This is a static utility class and should not be instantiated directly."); | ||
16 | } | ||
17 | |||
18 | public static int getMemoryUtilization(final HostInstance host) { | ||
19 | int _xblockexpression = (int) 0; | ||
20 | { | ||
21 | int utilization = 0; | ||
22 | EList<ApplicationInstance> _applications = host.getApplications(); | ||
23 | for (final ApplicationInstance app : _applications) { | ||
24 | { | ||
25 | final Function1<ResourceRequirement, Boolean> _function = (ResourceRequirement it) -> { | ||
26 | HostType _hostType = it.getHostType(); | ||
27 | HostType _type = host.getType(); | ||
28 | return Boolean.valueOf(Objects.equal(_hostType, _type)); | ||
29 | }; | ||
30 | final ResourceRequirement req = IterableExtensions.<ResourceRequirement>findFirst(app.getType().getRequirements(), _function); | ||
31 | if ((req != null)) { | ||
32 | int _utilization = utilization; | ||
33 | int _requiredMemory = req.getRequiredMemory(); | ||
34 | utilization = (_utilization + _requiredMemory); | ||
35 | } | ||
36 | } | ||
37 | } | ||
38 | _xblockexpression = utilization; | ||
39 | } | ||
40 | return _xblockexpression; | ||
41 | } | ||
42 | |||
43 | public static int getHddUtilization(final HostInstance host) { | ||
44 | int _xblockexpression = (int) 0; | ||
45 | { | ||
46 | int utilization = 0; | ||
47 | EList<ApplicationInstance> _applications = host.getApplications(); | ||
48 | for (final ApplicationInstance app : _applications) { | ||
49 | { | ||
50 | final Function1<ResourceRequirement, Boolean> _function = (ResourceRequirement it) -> { | ||
51 | HostType _hostType = it.getHostType(); | ||
52 | HostType _type = host.getType(); | ||
53 | return Boolean.valueOf(Objects.equal(_hostType, _type)); | ||
54 | }; | ||
55 | final ResourceRequirement req = IterableExtensions.<ResourceRequirement>findFirst(app.getType().getRequirements(), _function); | ||
56 | if ((req != null)) { | ||
57 | int _utilization = utilization; | ||
58 | int _requiredHdd = req.getRequiredHdd(); | ||
59 | utilization = (_utilization + _requiredHdd); | ||
60 | } | ||
61 | } | ||
62 | } | ||
63 | _xblockexpression = utilization; | ||
64 | } | ||
65 | return _xblockexpression; | ||
66 | } | ||
67 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java deleted file mode 100644 index 0ff3c795..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; | ||
7 | import org.eclipse.emf.common.util.EList; | ||
8 | import org.eclipse.emf.ecore.EObject; | ||
9 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
10 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
11 | |||
12 | @SuppressWarnings("all") | ||
13 | public class TooLowAverageHddConstraint implements IGuidanceFunction { | ||
14 | private static final double THRESHOLD = 0.25; | ||
15 | |||
16 | @Override | ||
17 | public String getName() { | ||
18 | return "TooLowAverageHdd"; | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public double computeFitness(final Solution solution) { | ||
23 | double _xblockexpression = (double) 0; | ||
24 | { | ||
25 | EObject _model = solution.getModel(); | ||
26 | final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); | ||
27 | double sumUtilization = 0; | ||
28 | int numHosts = 0; | ||
29 | EList<HostType> _hostTypes = cps.getHostTypes(); | ||
30 | for (final HostType hostType : _hostTypes) { | ||
31 | { | ||
32 | int _numHosts = numHosts; | ||
33 | int _size = hostType.getInstances().size(); | ||
34 | numHosts = (_numHosts + _size); | ||
35 | EList<HostInstance> _instances = hostType.getInstances(); | ||
36 | for (final HostInstance host : _instances) { | ||
37 | { | ||
38 | final int utilization = ResourceUtilizationUtil.getHddUtilization(host); | ||
39 | double _sumUtilization = sumUtilization; | ||
40 | int _defaultHdd = hostType.getDefaultHdd(); | ||
41 | double _divide = (((double) utilization) / _defaultHdd); | ||
42 | sumUtilization = (_sumUtilization + _divide); | ||
43 | } | ||
44 | } | ||
45 | } | ||
46 | } | ||
47 | final double averageUtilization = (sumUtilization / numHosts); | ||
48 | final double difference = (TooLowAverageHddConstraint.THRESHOLD - averageUtilization); | ||
49 | double _xifexpression = (double) 0; | ||
50 | if ((difference > 0)) { | ||
51 | _xifexpression = difference; | ||
52 | } else { | ||
53 | _xifexpression = 0; | ||
54 | } | ||
55 | _xblockexpression = _xifexpression; | ||
56 | } | ||
57 | return _xblockexpression; | ||
58 | } | ||
59 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java deleted file mode 100644 index 341925bc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; | ||
7 | import org.eclipse.emf.common.util.EList; | ||
8 | import org.eclipse.emf.ecore.EObject; | ||
9 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
10 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
11 | |||
12 | @SuppressWarnings("all") | ||
13 | public class TooLowAverageMemoryConstraint implements IGuidanceFunction { | ||
14 | private static final double THRESHOLD = 0.25; | ||
15 | |||
16 | @Override | ||
17 | public String getName() { | ||
18 | return "TooLowAverageMemory"; | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public double computeFitness(final Solution solution) { | ||
23 | double _xblockexpression = (double) 0; | ||
24 | { | ||
25 | EObject _model = solution.getModel(); | ||
26 | final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); | ||
27 | double sumUtilization = 0; | ||
28 | int numHosts = 0; | ||
29 | EList<HostType> _hostTypes = cps.getHostTypes(); | ||
30 | for (final HostType hostType : _hostTypes) { | ||
31 | { | ||
32 | int _numHosts = numHosts; | ||
33 | int _size = hostType.getInstances().size(); | ||
34 | numHosts = (_numHosts + _size); | ||
35 | EList<HostInstance> _instances = hostType.getInstances(); | ||
36 | for (final HostInstance host : _instances) { | ||
37 | { | ||
38 | final int utilization = ResourceUtilizationUtil.getMemoryUtilization(host); | ||
39 | double _sumUtilization = sumUtilization; | ||
40 | int _defaultMemory = hostType.getDefaultMemory(); | ||
41 | double _divide = (((double) utilization) / _defaultMemory); | ||
42 | sumUtilization = (_sumUtilization + _divide); | ||
43 | } | ||
44 | } | ||
45 | } | ||
46 | } | ||
47 | final double averageUtilization = (sumUtilization / numHosts); | ||
48 | final double difference = (TooLowAverageMemoryConstraint.THRESHOLD - averageUtilization); | ||
49 | double _xifexpression = (double) 0; | ||
50 | if ((difference > 0)) { | ||
51 | _xifexpression = difference; | ||
52 | } else { | ||
53 | _xifexpression = 0; | ||
54 | } | ||
55 | _xblockexpression = _xifexpression; | ||
56 | } | ||
57 | return _xblockexpression; | ||
58 | } | ||
59 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java deleted file mode 100644 index 7bb80ca8..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
6 | import org.eclipse.emf.common.util.EList; | ||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
9 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
10 | |||
11 | @SuppressWarnings("all") | ||
12 | public class TotalCostFitnessFunction implements IGuidanceFunction { | ||
13 | @Override | ||
14 | public String getName() { | ||
15 | return "TotalCost"; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public double computeFitness(final Solution solution) { | ||
20 | int _xblockexpression = (int) 0; | ||
21 | { | ||
22 | EObject _model = solution.getModel(); | ||
23 | final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); | ||
24 | int cost = 0; | ||
25 | EList<ApplicationType> _applicationTypes = cps.getApplicationTypes(); | ||
26 | for (final ApplicationType appType : _applicationTypes) { | ||
27 | int _cost = cost; | ||
28 | int _size = appType.getInstances().size(); | ||
29 | int _multiply = (5 * _size); | ||
30 | cost = (_cost + _multiply); | ||
31 | } | ||
32 | EList<HostType> _hostTypes = cps.getHostTypes(); | ||
33 | for (final HostType hostType : _hostTypes) { | ||
34 | int _cost_1 = cost; | ||
35 | int _cost_2 = hostType.getCost(); | ||
36 | int _size_1 = hostType.getInstances().size(); | ||
37 | int _multiply_1 = (_cost_2 * _size_1); | ||
38 | cost = (_cost_1 + _multiply_1); | ||
39 | } | ||
40 | _xblockexpression = cost; | ||
41 | } | ||
42 | return _xblockexpression; | ||
43 | } | ||
44 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java deleted file mode 100644 index 00d1c4e6..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; | ||
7 | import org.eclipse.emf.common.util.EList; | ||
8 | import org.eclipse.emf.ecore.EObject; | ||
9 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
10 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
11 | |||
12 | @SuppressWarnings("all") | ||
13 | public class UnavailableHddConstraint implements IGuidanceFunction { | ||
14 | @Override | ||
15 | public String getName() { | ||
16 | return "UnavailableHdd"; | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public double computeFitness(final Solution solution) { | ||
21 | int _xblockexpression = (int) 0; | ||
22 | { | ||
23 | EObject _model = solution.getModel(); | ||
24 | final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); | ||
25 | int cost = 0; | ||
26 | EList<HostType> _hostTypes = cps.getHostTypes(); | ||
27 | for (final HostType hostType : _hostTypes) { | ||
28 | EList<HostInstance> _instances = hostType.getInstances(); | ||
29 | for (final HostInstance host : _instances) { | ||
30 | { | ||
31 | final int utilization = ResourceUtilizationUtil.getHddUtilization(host); | ||
32 | int _defaultHdd = hostType.getDefaultHdd(); | ||
33 | final int difference = (utilization - _defaultHdd); | ||
34 | if ((difference > 0)) { | ||
35 | int _cost = cost; | ||
36 | cost = (_cost + difference); | ||
37 | } | ||
38 | } | ||
39 | } | ||
40 | } | ||
41 | _xblockexpression = cost; | ||
42 | } | ||
43 | return _xblockexpression; | ||
44 | } | ||
45 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java deleted file mode 100644 index a9be9f1f..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; | ||
7 | import org.eclipse.emf.common.util.EList; | ||
8 | import org.eclipse.emf.ecore.EObject; | ||
9 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
10 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
11 | |||
12 | @SuppressWarnings("all") | ||
13 | public class UnavailableMemoryConstraint implements IGuidanceFunction { | ||
14 | @Override | ||
15 | public String getName() { | ||
16 | return "UnavailableMemory"; | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public double computeFitness(final Solution solution) { | ||
21 | int _xblockexpression = (int) 0; | ||
22 | { | ||
23 | EObject _model = solution.getModel(); | ||
24 | final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); | ||
25 | int cost = 0; | ||
26 | EList<HostType> _hostTypes = cps.getHostTypes(); | ||
27 | for (final HostType hostType : _hostTypes) { | ||
28 | EList<HostInstance> _instances = hostType.getInstances(); | ||
29 | for (final HostInstance host : _instances) { | ||
30 | { | ||
31 | final int utilization = ResourceUtilizationUtil.getMemoryUtilization(host); | ||
32 | int _defaultMemory = hostType.getDefaultMemory(); | ||
33 | final int difference = (utilization - _defaultMemory); | ||
34 | if ((difference > 0)) { | ||
35 | int _cost = cost; | ||
36 | cost = (_cost + difference); | ||
37 | } | ||
38 | } | ||
39 | } | ||
40 | } | ||
41 | _xblockexpression = cost; | ||
42 | } | ||
43 | return _xblockexpression; | ||
44 | } | ||
45 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore index ae3c1726..7c70320a 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore | |||
@@ -1 +1,5 @@ | |||
1 | /bin/ | 1 | /bin/ |
2 | /mdeo-results/ | ||
3 | /outputs/ | ||
4 | /src-gen/ | ||
5 | /xtend-gen/ | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF index 3ee950cb..36d729b4 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF | |||
@@ -34,7 +34,8 @@ Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime, | |||
34 | org.apache.commons.lang3;bundle-version="3.8.1", | 34 | org.apache.commons.lang3;bundle-version="3.8.1", |
35 | com.google.inject;bundle-version="3.0.0", | 35 | com.google.inject;bundle-version="3.0.0", |
36 | org.sidiff.common.henshin;bundle-version="1.0.0", | 36 | org.sidiff.common.henshin;bundle-version="1.0.0", |
37 | org.sidiff.serge;bundle-version="1.0.0" | 37 | org.sidiff.serge;bundle-version="1.0.0", |
38 | org.eclipse.viatra.query.runtime.rete;bundle-version="2.2.0" | ||
38 | Import-Package: org.apache.log4j | 39 | Import-Package: org.apache.log4j |
39 | Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.satellite | 40 | Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.satellite |
40 | Bundle-ActivationPolicy: lazy | 41 | Bundle-ActivationPolicy: lazy |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java index 3b9d7ecf..90bca78c 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java | |||
@@ -2,6 +2,7 @@ | |||
2 | */ | 2 | */ |
3 | package satellite; | 3 | package satellite; |
4 | 4 | ||
5 | import org.eclipse.emf.common.util.EList; | ||
5 | import org.eclipse.emf.ecore.EObject; | 6 | import org.eclipse.emf.ecore.EObject; |
6 | 7 | ||
7 | /** | 8 | /** |
@@ -14,6 +15,7 @@ import org.eclipse.emf.ecore.EObject; | |||
14 | * </p> | 15 | * </p> |
15 | * <ul> | 16 | * <ul> |
16 | * <li>{@link satellite.CommSubsystem#getTarget <em>Target</em>}</li> | 17 | * <li>{@link satellite.CommSubsystem#getTarget <em>Target</em>}</li> |
18 | * <li>{@link satellite.CommSubsystem#getSource <em>Source</em>}</li> | ||
17 | * </ul> | 19 | * </ul> |
18 | * | 20 | * |
19 | * @see satellite.SatellitePackage#getCommSubsystem() | 21 | * @see satellite.SatellitePackage#getCommSubsystem() |
@@ -24,12 +26,14 @@ public interface CommSubsystem extends EObject { | |||
24 | 26 | ||
25 | /** | 27 | /** |
26 | * Returns the value of the '<em><b>Target</b></em>' reference. | 28 | * Returns the value of the '<em><b>Target</b></em>' reference. |
29 | * It is bidirectional and its opposite is '{@link satellite.CommSubsystem#getSource <em>Source</em>}'. | ||
27 | * <!-- begin-user-doc --> | 30 | * <!-- begin-user-doc --> |
28 | * <!-- end-user-doc --> | 31 | * <!-- end-user-doc --> |
29 | * @return the value of the '<em>Target</em>' reference. | 32 | * @return the value of the '<em>Target</em>' reference. |
30 | * @see #setTarget(CommSubsystem) | 33 | * @see #setTarget(CommSubsystem) |
31 | * @see satellite.SatellitePackage#getCommSubsystem_Target() | 34 | * @see satellite.SatellitePackage#getCommSubsystem_Target() |
32 | * @model | 35 | * @see satellite.CommSubsystem#getSource |
36 | * @model opposite="source" | ||
33 | * @generated | 37 | * @generated |
34 | */ | 38 | */ |
35 | CommSubsystem getTarget(); | 39 | CommSubsystem getTarget(); |
@@ -44,4 +48,18 @@ public interface CommSubsystem extends EObject { | |||
44 | */ | 48 | */ |
45 | void setTarget(CommSubsystem value); | 49 | void setTarget(CommSubsystem value); |
46 | 50 | ||
51 | /** | ||
52 | * Returns the value of the '<em><b>Source</b></em>' reference list. | ||
53 | * The list contents are of type {@link satellite.CommSubsystem}. | ||
54 | * It is bidirectional and its opposite is '{@link satellite.CommSubsystem#getTarget <em>Target</em>}'. | ||
55 | * <!-- begin-user-doc --> | ||
56 | * <!-- end-user-doc --> | ||
57 | * @return the value of the '<em>Source</em>' reference list. | ||
58 | * @see satellite.SatellitePackage#getCommSubsystem_Source() | ||
59 | * @see satellite.CommSubsystem#getTarget | ||
60 | * @model opposite="target" | ||
61 | * @generated | ||
62 | */ | ||
63 | EList<CommSubsystem> getSource(); | ||
64 | |||
47 | } // CommSubsystem | 65 | } // CommSubsystem |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java index 64a60d6a..7be4ef84 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java | |||
@@ -297,13 +297,22 @@ public interface SatellitePackage extends EPackage { | |||
297 | int COMM_SUBSYSTEM__TARGET = 0; | 297 | int COMM_SUBSYSTEM__TARGET = 0; |
298 | 298 | ||
299 | /** | 299 | /** |
300 | * The feature id for the '<em><b>Source</b></em>' reference list. | ||
301 | * <!-- begin-user-doc --> | ||
302 | * <!-- end-user-doc --> | ||
303 | * @generated | ||
304 | * @ordered | ||
305 | */ | ||
306 | int COMM_SUBSYSTEM__SOURCE = 1; | ||
307 | |||
308 | /** | ||
300 | * The number of structural features of the '<em>Comm Subsystem</em>' class. | 309 | * The number of structural features of the '<em>Comm Subsystem</em>' class. |
301 | * <!-- begin-user-doc --> | 310 | * <!-- begin-user-doc --> |
302 | * <!-- end-user-doc --> | 311 | * <!-- end-user-doc --> |
303 | * @generated | 312 | * @generated |
304 | * @ordered | 313 | * @ordered |
305 | */ | 314 | */ |
306 | int COMM_SUBSYSTEM_FEATURE_COUNT = 1; | 315 | int COMM_SUBSYSTEM_FEATURE_COUNT = 2; |
307 | 316 | ||
308 | /** | 317 | /** |
309 | * The number of operations of the '<em>Comm Subsystem</em>' class. | 318 | * The number of operations of the '<em>Comm Subsystem</em>' class. |
@@ -574,6 +583,15 @@ public interface SatellitePackage extends EPackage { | |||
574 | int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; | 583 | int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; |
575 | 584 | ||
576 | /** | 585 | /** |
586 | * The feature id for the '<em><b>Source</b></em>' reference list. | ||
587 | * <!-- begin-user-doc --> | ||
588 | * <!-- end-user-doc --> | ||
589 | * @generated | ||
590 | * @ordered | ||
591 | */ | ||
592 | int UHF_COMM_SUBSYSTEM__SOURCE = COMM_SUBSYSTEM__SOURCE; | ||
593 | |||
594 | /** | ||
577 | * The number of structural features of the '<em>UHF Comm Subsystem</em>' class. | 595 | * The number of structural features of the '<em>UHF Comm Subsystem</em>' class. |
578 | * <!-- begin-user-doc --> | 596 | * <!-- begin-user-doc --> |
579 | * <!-- end-user-doc --> | 597 | * <!-- end-user-doc --> |
@@ -611,6 +629,15 @@ public interface SatellitePackage extends EPackage { | |||
611 | int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; | 629 | int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; |
612 | 630 | ||
613 | /** | 631 | /** |
632 | * The feature id for the '<em><b>Source</b></em>' reference list. | ||
633 | * <!-- begin-user-doc --> | ||
634 | * <!-- end-user-doc --> | ||
635 | * @generated | ||
636 | * @ordered | ||
637 | */ | ||
638 | int XCOMM_SUBSYSTEM__SOURCE = COMM_SUBSYSTEM__SOURCE; | ||
639 | |||
640 | /** | ||
614 | * The number of structural features of the '<em>XComm Subsystem</em>' class. | 641 | * The number of structural features of the '<em>XComm Subsystem</em>' class. |
615 | * <!-- begin-user-doc --> | 642 | * <!-- begin-user-doc --> |
616 | * <!-- end-user-doc --> | 643 | * <!-- end-user-doc --> |
@@ -648,6 +675,15 @@ public interface SatellitePackage extends EPackage { | |||
648 | int KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; | 675 | int KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; |
649 | 676 | ||
650 | /** | 677 | /** |
678 | * The feature id for the '<em><b>Source</b></em>' reference list. | ||
679 | * <!-- begin-user-doc --> | ||
680 | * <!-- end-user-doc --> | ||
681 | * @generated | ||
682 | * @ordered | ||
683 | */ | ||
684 | int KA_COMM_SUBSYSTEM__SOURCE = COMM_SUBSYSTEM__SOURCE; | ||
685 | |||
686 | /** | ||
651 | * The number of structural features of the '<em>Ka Comm Subsystem</em>' class. | 687 | * The number of structural features of the '<em>Ka Comm Subsystem</em>' class. |
652 | * <!-- begin-user-doc --> | 688 | * <!-- begin-user-doc --> |
653 | * <!-- end-user-doc --> | 689 | * <!-- end-user-doc --> |
@@ -792,6 +828,17 @@ public interface SatellitePackage extends EPackage { | |||
792 | EReference getCommSubsystem_Target(); | 828 | EReference getCommSubsystem_Target(); |
793 | 829 | ||
794 | /** | 830 | /** |
831 | * Returns the meta object for the reference list '{@link satellite.CommSubsystem#getSource <em>Source</em>}'. | ||
832 | * <!-- begin-user-doc --> | ||
833 | * <!-- end-user-doc --> | ||
834 | * @return the meta object for the reference list '<em>Source</em>'. | ||
835 | * @see satellite.CommSubsystem#getSource() | ||
836 | * @see #getCommSubsystem() | ||
837 | * @generated | ||
838 | */ | ||
839 | EReference getCommSubsystem_Source(); | ||
840 | |||
841 | /** | ||
795 | * Returns the meta object for class '{@link satellite.Payload <em>Payload</em>}'. | 842 | * Returns the meta object for class '{@link satellite.Payload <em>Payload</em>}'. |
796 | * <!-- begin-user-doc --> | 843 | * <!-- begin-user-doc --> |
797 | * <!-- end-user-doc --> | 844 | * <!-- end-user-doc --> |
@@ -1014,6 +1061,14 @@ public interface SatellitePackage extends EPackage { | |||
1014 | EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target(); | 1061 | EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target(); |
1015 | 1062 | ||
1016 | /** | 1063 | /** |
1064 | * The meta object literal for the '<em><b>Source</b></em>' reference list feature. | ||
1065 | * <!-- begin-user-doc --> | ||
1066 | * <!-- end-user-doc --> | ||
1067 | * @generated | ||
1068 | */ | ||
1069 | EReference COMM_SUBSYSTEM__SOURCE = eINSTANCE.getCommSubsystem_Source(); | ||
1070 | |||
1071 | /** | ||
1017 | * The meta object literal for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class. | 1072 | * The meta object literal for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class. |
1018 | * <!-- begin-user-doc --> | 1073 | * <!-- begin-user-doc --> |
1019 | * <!-- end-user-doc --> | 1074 | * <!-- end-user-doc --> |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java index cdfbd6de..21e385a8 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java | |||
@@ -2,11 +2,16 @@ | |||
2 | */ | 2 | */ |
3 | package satellite.impl; | 3 | package satellite.impl; |
4 | 4 | ||
5 | import java.util.Collection; | ||
5 | import org.eclipse.emf.common.notify.Notification; | 6 | import org.eclipse.emf.common.notify.Notification; |
7 | import org.eclipse.emf.common.notify.NotificationChain; | ||
8 | import org.eclipse.emf.common.util.EList; | ||
6 | import org.eclipse.emf.ecore.EClass; | 9 | import org.eclipse.emf.ecore.EClass; |
7 | import org.eclipse.emf.ecore.InternalEObject; | 10 | import org.eclipse.emf.ecore.InternalEObject; |
8 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | 11 | import org.eclipse.emf.ecore.impl.ENotificationImpl; |
9 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | 12 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; |
13 | import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; | ||
14 | import org.eclipse.emf.ecore.util.InternalEList; | ||
10 | import satellite.CommSubsystem; | 15 | import satellite.CommSubsystem; |
11 | import satellite.SatellitePackage; | 16 | import satellite.SatellitePackage; |
12 | 17 | ||
@@ -19,6 +24,7 @@ import satellite.SatellitePackage; | |||
19 | * </p> | 24 | * </p> |
20 | * <ul> | 25 | * <ul> |
21 | * <li>{@link satellite.impl.CommSubsystemImpl#getTarget <em>Target</em>}</li> | 26 | * <li>{@link satellite.impl.CommSubsystemImpl#getTarget <em>Target</em>}</li> |
27 | * <li>{@link satellite.impl.CommSubsystemImpl#getSource <em>Source</em>}</li> | ||
22 | * </ul> | 28 | * </ul> |
23 | * | 29 | * |
24 | * @generated | 30 | * @generated |
@@ -35,6 +41,16 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp | |||
35 | protected CommSubsystem target; | 41 | protected CommSubsystem target; |
36 | 42 | ||
37 | /** | 43 | /** |
44 | * The cached value of the '{@link #getSource() <em>Source</em>}' reference list. | ||
45 | * <!-- begin-user-doc --> | ||
46 | * <!-- end-user-doc --> | ||
47 | * @see #getSource() | ||
48 | * @generated | ||
49 | * @ordered | ||
50 | */ | ||
51 | protected EList<CommSubsystem> source; | ||
52 | |||
53 | /** | ||
38 | * <!-- begin-user-doc --> | 54 | * <!-- begin-user-doc --> |
39 | * <!-- end-user-doc --> | 55 | * <!-- end-user-doc --> |
40 | * @generated | 56 | * @generated |
@@ -86,13 +102,91 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp | |||
86 | * <!-- end-user-doc --> | 102 | * <!-- end-user-doc --> |
87 | * @generated | 103 | * @generated |
88 | */ | 104 | */ |
89 | @Override | 105 | public NotificationChain basicSetTarget(CommSubsystem newTarget, NotificationChain msgs) { |
90 | public void setTarget(CommSubsystem newTarget) { | ||
91 | CommSubsystem oldTarget = target; | 106 | CommSubsystem oldTarget = target; |
92 | target = newTarget; | 107 | target = newTarget; |
93 | if (eNotificationRequired()) | 108 | if (eNotificationRequired()) { |
94 | eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__TARGET, oldTarget, | 109 | ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, |
95 | target)); | 110 | SatellitePackage.COMM_SUBSYSTEM__TARGET, oldTarget, newTarget); |
111 | if (msgs == null) | ||
112 | msgs = notification; | ||
113 | else | ||
114 | msgs.add(notification); | ||
115 | } | ||
116 | return msgs; | ||
117 | } | ||
118 | |||
119 | /** | ||
120 | * <!-- begin-user-doc --> | ||
121 | * <!-- end-user-doc --> | ||
122 | * @generated | ||
123 | */ | ||
124 | @Override | ||
125 | public void setTarget(CommSubsystem newTarget) { | ||
126 | if (newTarget != target) { | ||
127 | NotificationChain msgs = null; | ||
128 | if (target != null) | ||
129 | msgs = ((InternalEObject) target).eInverseRemove(this, SatellitePackage.COMM_SUBSYSTEM__SOURCE, | ||
130 | CommSubsystem.class, msgs); | ||
131 | if (newTarget != null) | ||
132 | msgs = ((InternalEObject) newTarget).eInverseAdd(this, SatellitePackage.COMM_SUBSYSTEM__SOURCE, | ||
133 | CommSubsystem.class, msgs); | ||
134 | msgs = basicSetTarget(newTarget, msgs); | ||
135 | if (msgs != null) | ||
136 | msgs.dispatch(); | ||
137 | } else if (eNotificationRequired()) | ||
138 | eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__TARGET, newTarget, | ||
139 | newTarget)); | ||
140 | } | ||
141 | |||
142 | /** | ||
143 | * <!-- begin-user-doc --> | ||
144 | * <!-- end-user-doc --> | ||
145 | * @generated | ||
146 | */ | ||
147 | @Override | ||
148 | public EList<CommSubsystem> getSource() { | ||
149 | if (source == null) { | ||
150 | source = new EObjectWithInverseResolvingEList<CommSubsystem>(CommSubsystem.class, this, | ||
151 | SatellitePackage.COMM_SUBSYSTEM__SOURCE, SatellitePackage.COMM_SUBSYSTEM__TARGET); | ||
152 | } | ||
153 | return source; | ||
154 | } | ||
155 | |||
156 | /** | ||
157 | * <!-- begin-user-doc --> | ||
158 | * <!-- end-user-doc --> | ||
159 | * @generated | ||
160 | */ | ||
161 | @SuppressWarnings("unchecked") | ||
162 | @Override | ||
163 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
164 | switch (featureID) { | ||
165 | case SatellitePackage.COMM_SUBSYSTEM__TARGET: | ||
166 | if (target != null) | ||
167 | msgs = ((InternalEObject) target).eInverseRemove(this, SatellitePackage.COMM_SUBSYSTEM__SOURCE, | ||
168 | CommSubsystem.class, msgs); | ||
169 | return basicSetTarget((CommSubsystem) otherEnd, msgs); | ||
170 | case SatellitePackage.COMM_SUBSYSTEM__SOURCE: | ||
171 | return ((InternalEList<InternalEObject>) (InternalEList<?>) getSource()).basicAdd(otherEnd, msgs); | ||
172 | } | ||
173 | return super.eInverseAdd(otherEnd, featureID, msgs); | ||
174 | } | ||
175 | |||
176 | /** | ||
177 | * <!-- begin-user-doc --> | ||
178 | * <!-- end-user-doc --> | ||
179 | * @generated | ||
180 | */ | ||
181 | @Override | ||
182 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
183 | switch (featureID) { | ||
184 | case SatellitePackage.COMM_SUBSYSTEM__TARGET: | ||
185 | return basicSetTarget(null, msgs); | ||
186 | case SatellitePackage.COMM_SUBSYSTEM__SOURCE: | ||
187 | return ((InternalEList<?>) getSource()).basicRemove(otherEnd, msgs); | ||
188 | } | ||
189 | return super.eInverseRemove(otherEnd, featureID, msgs); | ||
96 | } | 190 | } |
97 | 191 | ||
98 | /** | 192 | /** |
@@ -107,6 +201,8 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp | |||
107 | if (resolve) | 201 | if (resolve) |
108 | return getTarget(); | 202 | return getTarget(); |
109 | return basicGetTarget(); | 203 | return basicGetTarget(); |
204 | case SatellitePackage.COMM_SUBSYSTEM__SOURCE: | ||
205 | return getSource(); | ||
110 | } | 206 | } |
111 | return super.eGet(featureID, resolve, coreType); | 207 | return super.eGet(featureID, resolve, coreType); |
112 | } | 208 | } |
@@ -116,12 +212,17 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp | |||
116 | * <!-- end-user-doc --> | 212 | * <!-- end-user-doc --> |
117 | * @generated | 213 | * @generated |
118 | */ | 214 | */ |
215 | @SuppressWarnings("unchecked") | ||
119 | @Override | 216 | @Override |
120 | public void eSet(int featureID, Object newValue) { | 217 | public void eSet(int featureID, Object newValue) { |
121 | switch (featureID) { | 218 | switch (featureID) { |
122 | case SatellitePackage.COMM_SUBSYSTEM__TARGET: | 219 | case SatellitePackage.COMM_SUBSYSTEM__TARGET: |
123 | setTarget((CommSubsystem) newValue); | 220 | setTarget((CommSubsystem) newValue); |
124 | return; | 221 | return; |
222 | case SatellitePackage.COMM_SUBSYSTEM__SOURCE: | ||
223 | getSource().clear(); | ||
224 | getSource().addAll((Collection<? extends CommSubsystem>) newValue); | ||
225 | return; | ||
125 | } | 226 | } |
126 | super.eSet(featureID, newValue); | 227 | super.eSet(featureID, newValue); |
127 | } | 228 | } |
@@ -137,6 +238,9 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp | |||
137 | case SatellitePackage.COMM_SUBSYSTEM__TARGET: | 238 | case SatellitePackage.COMM_SUBSYSTEM__TARGET: |
138 | setTarget((CommSubsystem) null); | 239 | setTarget((CommSubsystem) null); |
139 | return; | 240 | return; |
241 | case SatellitePackage.COMM_SUBSYSTEM__SOURCE: | ||
242 | getSource().clear(); | ||
243 | return; | ||
140 | } | 244 | } |
141 | super.eUnset(featureID); | 245 | super.eUnset(featureID); |
142 | } | 246 | } |
@@ -151,6 +255,8 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp | |||
151 | switch (featureID) { | 255 | switch (featureID) { |
152 | case SatellitePackage.COMM_SUBSYSTEM__TARGET: | 256 | case SatellitePackage.COMM_SUBSYSTEM__TARGET: |
153 | return target != null; | 257 | return target != null; |
258 | case SatellitePackage.COMM_SUBSYSTEM__SOURCE: | ||
259 | return source != null && !source.isEmpty(); | ||
154 | } | 260 | } |
155 | return super.eIsSet(featureID); | 261 | return super.eIsSet(featureID); |
156 | } | 262 | } |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java index e3e20e0c..17212a96 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java | |||
@@ -328,6 +328,16 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka | |||
328 | * @generated | 328 | * @generated |
329 | */ | 329 | */ |
330 | @Override | 330 | @Override |
331 | public EReference getCommSubsystem_Source() { | ||
332 | return (EReference) commSubsystemEClass.getEStructuralFeatures().get(1); | ||
333 | } | ||
334 | |||
335 | /** | ||
336 | * <!-- begin-user-doc --> | ||
337 | * <!-- end-user-doc --> | ||
338 | * @generated | ||
339 | */ | ||
340 | @Override | ||
331 | public EClass getPayload() { | 341 | public EClass getPayload() { |
332 | return payloadEClass; | 342 | return payloadEClass; |
333 | } | 343 | } |
@@ -459,6 +469,7 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka | |||
459 | 469 | ||
460 | commSubsystemEClass = createEClass(COMM_SUBSYSTEM); | 470 | commSubsystemEClass = createEClass(COMM_SUBSYSTEM); |
461 | createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET); | 471 | createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET); |
472 | createEReference(commSubsystemEClass, COMM_SUBSYSTEM__SOURCE); | ||
462 | 473 | ||
463 | payloadEClass = createEClass(PAYLOAD); | 474 | payloadEClass = createEClass(PAYLOAD); |
464 | 475 | ||
@@ -553,9 +564,12 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka | |||
553 | 564 | ||
554 | initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE, | 565 | initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE, |
555 | IS_GENERATED_INSTANCE_CLASS); | 566 | IS_GENERATED_INSTANCE_CLASS); |
556 | initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), null, "target", null, 0, 1, | 567 | initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), this.getCommSubsystem_Source(), "target", |
557 | CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, | 568 | null, 0, 1, CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, |
558 | !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 569 | IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
570 | initEReference(getCommSubsystem_Source(), this.getCommSubsystem(), this.getCommSubsystem_Target(), "source", | ||
571 | null, 0, -1, CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, | ||
572 | IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
559 | 573 | ||
560 | initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 574 | initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
561 | 575 | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv deleted file mode 100644 index b5578ae8..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv +++ /dev/null | |||
@@ -1,145 +0,0 @@ | |||
1 | NFE, Elapsed Time, Approximation Set, Population, Population Size | ||
2 | 25, 1.891789696, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
3 | 50, 2.586708782, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
4 | 75, 3.2109932480000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
5 | 100, 3.755158208, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
6 | 125, 4.238918802000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
7 | 150, 4.7050757370000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
8 | 175, 5.2712747900000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
9 | 200, 5.808632395, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
10 | 225, 6.281898818, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
11 | 250, 6.614350584, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
12 | 275, 7.083502681000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
13 | 300, 7.426119055, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
14 | 325, 7.941173648, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
15 | 350, 8.319613926, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
16 | 375, 8.730843491, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
17 | 400, 9.013722178, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
18 | 425, 9.443927308000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
19 | 450, 9.750104678000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
20 | 475, 10.129727031, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
21 | 500, 10.448347054000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
22 | 525, 10.735080266, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
23 | 550, 11.190916156, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
24 | 575, 11.633786536, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
25 | 600, 12.021543378, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
26 | 625, 12.544638568000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
27 | 650, 12.845640665000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
28 | 675, 13.122804784000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
29 | 700, 13.396689107, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
30 | 725, 13.837233090000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
31 | 750, 14.115298167, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
32 | 775, 14.388343172, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
33 | 800, 14.826446569000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
34 | 825, 15.109539416, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
35 | 850, 15.388781908, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
36 | 875, 15.811032095000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
37 | 900, 16.224146467, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
38 | 925, 16.609006308, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
39 | 950, 16.911202402, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
40 | 975, 17.351199716, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
41 | 1000, 17.726844683, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
42 | 1025, 18.004694833000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
43 | 1050, 18.275873235000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
44 | 1075, 18.723853517000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
45 | 1100, 19.006602448000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
46 | 1125, 19.27602452, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
47 | 1150, 19.546914792000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
48 | 1175, 20.063555527000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
49 | 1200, 20.4503214, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
50 | 1225, 20.812025281, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
51 | 1250, 21.372619142, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
52 | 1275, 22.044064458, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
53 | 1300, 22.541792224, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
54 | 1325, 22.979074876000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
55 | 1350, 23.722393477, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
56 | 1375, 24.210281178000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
57 | 1400, 24.597108146, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
58 | 1425, 24.962990538000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
59 | 1450, 25.449476537000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
60 | 1475, 25.735480272, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
61 | 1500, 26.017771945000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
62 | 1525, 26.503268108, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
63 | 1550, 26.875246388, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
64 | 1575, 27.277011053000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
65 | 1600, 27.920554676000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
66 | 1625, 28.350389968, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
67 | 1650, 28.746870958000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
68 | 1675, 29.399911038000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
69 | 1700, 29.705655292000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
70 | 1725, 30.222917600000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
71 | 1750, 30.582687885000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
72 | 1775, 30.930680467000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
73 | 1800, 31.401464999, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
74 | 1825, 31.71501731, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
75 | 1850, 32.118626995, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
76 | 1875, 32.522417332, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
77 | 1900, 32.888226244, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
78 | 1925, 33.340297764, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
79 | 1950, 33.78173228, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
80 | 1975, 34.213199421, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
81 | 2000, 34.6389604, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
82 | 2025, 35.068572284000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
83 | 2050, 35.598090496000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
84 | 2075, 36.029981973000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
85 | 2100, 36.410860302, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
86 | 2125, 36.845392142, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
87 | 2150, 37.220125764, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
88 | 2175, 37.633310576, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
89 | 2200, 38.105014037000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
90 | 2225, 38.495631925000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
91 | 2250, 38.868065483, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
92 | 2275, 39.31772083, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
93 | 2300, 39.724176017000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
94 | 2325, 40.16674348, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
95 | 2350, 40.650008441000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
96 | 2375, 41.092378918, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
97 | 2400, 41.535670983, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
98 | 2425, 42.001399116, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
99 | 2450, 42.484935328000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
100 | 2475, 42.911409647, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
101 | 2500, 43.336942158, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
102 | 2525, 43.787051396, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
103 | 2550, 44.277504574000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
104 | 2575, 44.76816336, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
105 | 2600, 45.276457352, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
106 | 2625, 45.735699625, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
107 | 2650, 46.168899874000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
108 | 2675, 46.593364297, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
109 | 2700, 47.056027297, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
110 | 2725, 47.452480539, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
111 | 2750, 47.84848743800001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
112 | 2775, 48.296304749, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
113 | 2800, 48.772881607, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
114 | 2825, 49.140301813, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
115 | 2850, 49.601806971, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
116 | 2875, 50.036785167000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
117 | 2900, 50.519073857, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
118 | 2925, 50.952136413000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
119 | 2950, 51.422963162, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
120 | 2975, 51.880428426, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
121 | 3000, 52.325376492000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
122 | 3025, 52.757666111000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
123 | 3050, 53.199401996000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
124 | 3075, 53.643965946, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
125 | 3100, 54.042385829000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
126 | 3125, 54.470351427000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
127 | 3150, 54.911578006000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
128 | 3175, 55.434332657000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
129 | 3200, 55.876270659000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
130 | 3225, 56.29157381700001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
131 | 3250, 56.678343517, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
132 | 3275, 57.110165294000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
133 | 3300, 61.833746227000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
134 | 3325, 62.143060813000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
135 | 3350, 62.487517775, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
136 | 3375, 62.855227351, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
137 | 3400, 63.290566593, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
138 | 3425, 63.715538516, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
139 | 3450, 68.23575590200001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
140 | 3475, 72.71105517400001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
141 | 3500, 77.068135532, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
142 | 3525, 81.616801517, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
143 | 3550, 90.065785465, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
144 | 3575, 103.88993463300001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 | ||
145 | 3600, 148.72096381100002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 \ No newline at end of file | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt deleted file mode 100644 index 350a6a69..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | |||
2 | ============================================ | ||
3 | |||
4 | Batch 0 duration: 00:02:29.245 | ||
5 | |||
6 | -------------------------------------------- | ||
7 | Evaluation data for solution: ./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi | ||
8 | |||
9 | Objective values: | ||
10 | Cost: 1158414.6563694086 | ||
11 | |||
12 | Constraint values: | ||
13 | PatternMatch: 13.0 | ||
14 | |||
15 | Transformations chain: | ||
16 | Length: 2 | ||
17 | Sequence: {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} -> {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} | ||
18 | |||
19 | ============================================ | ||
20 | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf deleted file mode 100644 index a4823e89..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | 1158414.6563694086 | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore deleted file mode 100644 index a58dd30e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="satellite" nsURI="http://www.example.org/satellite" nsPrefix="satellite"> | ||
4 | <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> | ||
5 | <details key="settingDelegates" value="org.eclipse.viatra.query.querybasedfeature"/> | ||
6 | </eAnnotations> | ||
7 | <eClassifiers xsi:type="ecore:EClass" name="ConstellationMission" abstract="true"> | ||
8 | <eStructuralFeatures xsi:type="ecore:EReference" name="groundStationNetwork" lowerBound="1" | ||
9 | eType="ecore:EClass satellite.ecore#//GroundStationNetwork" containment="true" | ||
10 | resolveProxies="false"/> | ||
11 | <eStructuralFeatures xsi:type="ecore:EReference" name="spacecraft" lowerBound="2" | ||
12 | upperBound="50" eType="ecore:EClass satellite.ecore#//Spacecraft" containment="true" | ||
13 | resolveProxies="false"/> | ||
14 | </eClassifiers> | ||
15 | <eClassifiers xsi:type="ecore:EClass" name="InterferometryMission" eSuperTypes="satellite.ecore#//ConstellationMission"> | ||
16 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="observationTime" lowerBound="1" | ||
17 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="2.0"/> | ||
18 | </eClassifiers> | ||
19 | <eClassifiers xsi:type="ecore:EClass" name="CommunicatingElement" abstract="true"> | ||
20 | <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1" | ||
21 | upperBound="2" eType="ecore:EClass satellite.ecore#//CommSubsystem" containment="true" | ||
22 | resolveProxies="false"/> | ||
23 | <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLink" eType="ecore:EClass satellite.ecore#//DirectedCommunicationLink" | ||
24 | containment="true" resolveProxies="false"/> | ||
25 | </eClassifiers> | ||
26 | <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="satellite.ecore#//CommunicatingElement"/> | ||
27 | <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="satellite.ecore#//CommunicatingElement"> | ||
28 | <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="ecore:EClass satellite.ecore#//Payload" | ||
29 | containment="true" resolveProxies="false"/> | ||
30 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="ecore:EEnum satellite.ecore#//SpacecraftKind" | ||
31 | changeable="false" volatile="true" transient="true" derived="true"> | ||
32 | <eAnnotations source="org.eclipse.viatra.query.querybasedfeature"> | ||
33 | <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/> | ||
34 | </eAnnotations> | ||
35 | </eStructuralFeatures> | ||
36 | </eClassifiers> | ||
37 | <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem"> | ||
38 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="band" lowerBound="1" eType="ecore:EEnum satellite.ecore#//TransceiverBand"/> | ||
39 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="gain" lowerBound="1" eType="ecore:EEnum satellite.ecore#//AntennaGain"/> | ||
40 | </eClassifiers> | ||
41 | <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink"> | ||
42 | <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" | ||
43 | eType="ecore:EClass satellite.ecore#//CommSubsystem"/> | ||
44 | <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" | ||
45 | eType="ecore:EClass satellite.ecore#//CommSubsystem"/> | ||
46 | </eClassifiers> | ||
47 | <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/> | ||
48 | <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="satellite.ecore#//Payload"/> | ||
49 | <eClassifiers xsi:type="ecore:EClass" name="CubeSat3U" eSuperTypes="satellite.ecore#//CubeSat"/> | ||
50 | <eClassifiers xsi:type="ecore:EClass" name="CubeSat6U" eSuperTypes="satellite.ecore#//CubeSat"/> | ||
51 | <eClassifiers xsi:type="ecore:EClass" name="SmallSat" eSuperTypes="satellite.ecore#//Spacecraft"/> | ||
52 | <eClassifiers xsi:type="ecore:EClass" name="CubeSat" abstract="true" eSuperTypes="satellite.ecore#//Spacecraft"/> | ||
53 | <eClassifiers xsi:type="ecore:EEnum" name="TransceiverBand"> | ||
54 | <eLiterals name="UHF"/> | ||
55 | <eLiterals name="X" value="1"/> | ||
56 | <eLiterals name="Ka" value="2"/> | ||
57 | </eClassifiers> | ||
58 | <eClassifiers xsi:type="ecore:EEnum" name="AntennaGain"> | ||
59 | <eLiterals name="LOW"/> | ||
60 | <eLiterals name="MEDIUM" value="1"/> | ||
61 | <eLiterals name="HIGH" value="2"/> | ||
62 | </eClassifiers> | ||
63 | <eClassifiers xsi:type="ecore:EEnum" name="SpacecraftKind"> | ||
64 | <eLiterals name="CubeSat3U"/> | ||
65 | <eLiterals name="CubeSat6U" value="1"/> | ||
66 | <eLiterals name="SmallSat" value="2"/> | ||
67 | </eClassifiers> | ||
68 | </ecore:EPackage> | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi deleted file mode 100644 index 958b22d0..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite"> | ||
3 | <groundStationNetwork> | ||
4 | <commSubsystem band="X" gain="MEDIUM"/> | ||
5 | <commSubsystem band="Ka" gain="HIGH"/> | ||
6 | </groundStationNetwork> | ||
7 | <spacecraft xsi:type="satellite:CubeSat3U"/> | ||
8 | <spacecraft xsi:type="satellite:CubeSat3U"/> | ||
9 | <spacecraft xsi:type="satellite:CubeSat3U"/> | ||
10 | <spacecraft xsi:type="satellite:CubeSat3U"/> | ||
11 | <spacecraft xsi:type="satellite:CubeSat3U"/> | ||
12 | <spacecraft xsi:type="satellite:CubeSat3U"/> | ||
13 | </satellite:InterferometryMission> | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv deleted file mode 100644 index 8c754932..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv +++ /dev/null | |||
@@ -1,2 +0,0 @@ | |||
1 | batch-id,duration,o-Cost,c-PatternMatch,solutions-found,solution-model | ||
2 | 0,00:02:29.245,1158414.6563694086,13.0,1,./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt deleted file mode 100644 index 138ea309..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | problem { | ||
2 | basepath <model> | ||
3 | metamodel <satellite.SatellitePackage> | ||
4 | model <../inputs/SatelliteInstance.xmi> | ||
5 | } | ||
6 | |||
7 | goal { | ||
8 | objective Cost minimise java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.CostObjective" } | ||
9 | constraint PatternMatch java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.PatternMatchConstraint" } | ||
10 | } | ||
11 | |||
12 | search { | ||
13 | mutate using <satellite_fixup.henshin> unit "addCubeSat3U" | ||
14 | // mutate { "CubeSat3U" } | ||
15 | // mutate { "CubeSat6U" } | ||
16 | // mutate { "SmallSat" } | ||
17 | // mutate { "InterferometryPayload" } | ||
18 | // mutate { "CommSubsystem" } | ||
19 | // mutate { "DirectedCommunicationLink" } | ||
20 | } | ||
21 | |||
22 | solver { | ||
23 | optimisation provider moea algorithm NSGAII { | ||
24 | variation: mutation | ||
25 | population: 25 | ||
26 | mutation.step: 3 | ||
27 | mutation.strategy: random | ||
28 | } | ||
29 | |||
30 | termination { | ||
31 | time: 120 | ||
32 | } | ||
33 | |||
34 | batches 1 | ||
35 | } \ No newline at end of file | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt deleted file mode 100644 index 669f03b0..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | Average experiment time: 00:02:29.245 | ||
2 | |||
3 | Average value for Cost objective: 1158414.6563694086 | ||
4 | ============================================ | ||
5 | |||
6 | ============================================ | ||
7 | |||
8 | Batch 0 duration: 00:02:29.245 | ||
9 | |||
10 | -------------------------------------------- | ||
11 | Evaluation data for solution: ./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi | ||
12 | |||
13 | Objective values: | ||
14 | Cost: 1158414.6563694086 | ||
15 | |||
16 | Constraint values: | ||
17 | PatternMatch: 13.0 | ||
18 | |||
19 | Transformations chain: | ||
20 | Length: 2 | ||
21 | Sequence: {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} -> {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} | ||
22 | |||
23 | ============================================ | ||
24 | |||
25 | Serialized objectives saved to: /home/kris/bme/research/VIATRA-Generator/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf | ||
26 | ============================================ | ||
27 | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore index 74f09388..1685c756 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore | |||
@@ -21,7 +21,10 @@ | |||
21 | containment="true"/> | 21 | containment="true"/> |
22 | </eClassifiers> | 22 | </eClassifiers> |
23 | <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem" abstract="true"> | 23 | <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem" abstract="true"> |
24 | <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//CommSubsystem"/> | 24 | <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//CommSubsystem" |
25 | eOpposite="#//CommSubsystem/source"/> | ||
26 | <eStructuralFeatures xsi:type="ecore:EReference" name="source" upperBound="-1" | ||
27 | eType="#//CommSubsystem" eOpposite="#//CommSubsystem/target"/> | ||
25 | </eClassifiers> | 28 | </eClassifiers> |
26 | <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/> | 29 | <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/> |
27 | <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/> | 30 | <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/> |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel index e315e0ec..09b5f64c 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel | |||
@@ -27,6 +27,7 @@ | |||
27 | </genClasses> | 27 | </genClasses> |
28 | <genClasses ecoreClass="satellite.ecore#//CommSubsystem"> | 28 | <genClasses ecoreClass="satellite.ecore#//CommSubsystem"> |
29 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommSubsystem/target"/> | 29 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommSubsystem/target"/> |
30 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommSubsystem/source"/> | ||
30 | </genClasses> | 31 | </genClasses> |
31 | <genClasses image="false" ecoreClass="satellite.ecore#//Payload"/> | 32 | <genClasses image="false" ecoreClass="satellite.ecore#//Payload"/> |
32 | <genClasses ecoreClass="satellite.ecore#//InterferometryPayload"/> | 33 | <genClasses ecoreClass="satellite.ecore#//InterferometryPayload"/> |
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 @@ | |||
1 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
2 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
3 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
4 | |||
5 | ////////// | ||
6 | // 0. Util | ||
7 | ////////// | ||
8 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
9 | PartialInterpretation.problem(interpretation,problem); | ||
10 | } | ||
11 | |||
12 | ///////////////////////// | ||
13 | // 0.1 Existence | ||
14 | ///////////////////////// | ||
15 | private 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 | |||
23 | private 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 | |||
31 | private 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 | //////////////////////// | ||
43 | pattern 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 | } | ||
48 | pattern 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 | //////////////////////// | ||
57 | private 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 | |||
64 | private 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 | |||
74 | private 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 | */ | ||
92 | private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
93 | Type.name(type,"ConstellationMission class"); | ||
94 | find directInstanceOf(problem,interpretation,element,type); | ||
95 | } | ||
96 | private 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 | */ | ||
108 | private 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 | */ | ||
134 | private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
135 | Type.name(type,"InterferometryMission class"); | ||
136 | find directInstanceOf(problem,interpretation,element,type); | ||
137 | } | ||
138 | private 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 | */ | ||
150 | private 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 | */ | ||
174 | private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
175 | Type.name(type,"CommunicatingElement class"); | ||
176 | find directInstanceOf(problem,interpretation,element,type); | ||
177 | } | ||
178 | private 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 | */ | ||
190 | private 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 | */ | ||
216 | private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
217 | Type.name(type,"GroundStationNetwork class"); | ||
218 | find directInstanceOf(problem,interpretation,element,type); | ||
219 | } | ||
220 | private 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 | */ | ||
232 | private 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 | */ | ||
256 | private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
257 | Type.name(type,"Spacecraft class"); | ||
258 | find directInstanceOf(problem,interpretation,element,type); | ||
259 | } | ||
260 | private 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 | */ | ||
272 | private 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 | */ | ||
300 | private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
301 | Type.name(type,"CommSubsystem class"); | ||
302 | find directInstanceOf(problem,interpretation,element,type); | ||
303 | } | ||
304 | private 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 | */ | ||
316 | private 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 | */ | ||
344 | private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
345 | Type.name(type,"Payload class"); | ||
346 | find directInstanceOf(problem,interpretation,element,type); | ||
347 | } | ||
348 | private 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 | */ | ||
360 | private 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 | */ | ||
384 | private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
385 | Type.name(type,"InterferometryPayload class"); | ||
386 | find directInstanceOf(problem,interpretation,element,type); | ||
387 | } | ||
388 | private 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 | */ | ||
400 | private 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 | */ | ||
422 | private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
423 | Type.name(type,"CubeSat3U class"); | ||
424 | find directInstanceOf(problem,interpretation,element,type); | ||
425 | } | ||
426 | private 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 | */ | ||
438 | private 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 | */ | ||
466 | private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
467 | Type.name(type,"CubeSat6U class"); | ||
468 | find directInstanceOf(problem,interpretation,element,type); | ||
469 | } | ||
470 | private 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 | */ | ||
482 | private 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 | */ | ||
510 | private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
511 | Type.name(type,"SmallSat class"); | ||
512 | find directInstanceOf(problem,interpretation,element,type); | ||
513 | } | ||
514 | private 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 | */ | ||
526 | private 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 | */ | ||
552 | private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
553 | Type.name(type,"CubeSat class"); | ||
554 | find directInstanceOf(problem,interpretation,element,type); | ||
555 | } | ||
556 | private 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 | */ | ||
568 | private 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 | */ | ||
598 | private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
599 | Type.name(type,"UHFCommSubsystem class"); | ||
600 | find directInstanceOf(problem,interpretation,element,type); | ||
601 | } | ||
602 | private 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 | */ | ||
614 | private 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 | */ | ||
640 | private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
641 | Type.name(type,"XCommSubsystem class"); | ||
642 | find directInstanceOf(problem,interpretation,element,type); | ||
643 | } | ||
644 | private 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 | */ | ||
656 | private 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 | */ | ||
682 | private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
683 | Type.name(type,"KaCommSubsystem class"); | ||
684 | find directInstanceOf(problem,interpretation,element,type); | ||
685 | } | ||
686 | private 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 | */ | ||
698 | private 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 | */ | ||
724 | private 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 | } | ||
728 | private 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 | */ | ||
740 | private 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 | */ | ||
745 | private 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 | } | ||
749 | private 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 | */ | ||
761 | private 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 | */ | ||
785 | private 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 | } | ||
789 | private 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 | */ | ||
801 | private 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 | */ | ||
806 | private 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 | } | ||
810 | private 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 | */ | ||
822 | private 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 | */ | ||
844 | private 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 | } | ||
848 | private 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 | */ | ||
860 | private 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 | */ | ||
865 | private 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 | } | ||
869 | private 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 | */ | ||
881 | private 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 | */ | ||
907 | private 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 | } | ||
911 | private 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 | */ | ||
923 | private 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 | */ | ||
928 | private 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 | } | ||
932 | private 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 | */ | ||
944 | private 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 | */ | ||
968 | private 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 | } | ||
972 | private 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 | */ | ||
984 | private 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 | */ | ||
989 | private 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 | } | ||
993 | private 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 | */ | ||
1005 | private 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 | */ | ||
1033 | private 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 | } | ||
1037 | private 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 | */ | ||
1049 | private 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 | */ | ||
1054 | private 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 | } | ||
1058 | private 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 | */ | ||
1070 | private 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 | */ | ||
1096 | private 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 | } | ||
1100 | private 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 | */ | ||
1112 | private 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 | */ | ||
1117 | private 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 | } | ||
1121 | private 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 | */ | ||
1133 | private 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 | */ | ||
1163 | private 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 | */ | ||
1177 | private 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 | */ | ||
1203 | private 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 | */ | ||
1217 | private 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 | */ | ||
1243 | private 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 | */ | ||
1257 | private 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 | */ | ||
1283 | private 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 | */ | ||
1297 | private 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 | */ | ||
1323 | private 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 | */ | ||
1337 | private 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 | ||
1360 | private 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 | } | ||
1371 | private 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 | } | ||
1382 | private 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 | ||
1394 | private 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 | } | ||
1412 | private 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 | } | ||
1430 | private 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 | ||
1449 | private 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 | } | ||
1459 | private 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 | } | ||
1469 | private 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 | ||
1480 | private 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 | } | ||
1491 | private 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 | } | ||
1502 | private 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 | ||
1514 | private 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 | } | ||
1533 | private 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 | } | ||
1552 | private 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 | ||
1572 | private 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 | } | ||
1589 | private 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 | } | ||
1606 | private 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 | ||
1624 | private 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 | } | ||
1641 | private 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 | } | ||
1658 | private 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 | ||
1676 | private 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 | } | ||
1687 | private 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 | } | ||
1698 | private 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 | ||
1710 | private 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 | } | ||
1739 | private 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 | } | ||
1768 | private 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 | } | ||
1797 | private 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 | } | ||
1800 | private 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 | } | ||
1803 | private 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 | ||
1807 | private 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 | } | ||
1826 | private 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 | } | ||
1845 | private 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 | ||
1865 | private 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 | } | ||
1893 | private 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 | } | ||
1921 | private 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 | ||
1950 | private 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 | } | ||
1959 | private 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 | } | ||
1968 | private 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 | ||
1978 | private 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 | } | ||
1987 | private 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 | } | ||
1996 | private 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 | ||
2006 | private 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 | } | ||
2015 | private 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 | } | ||
2024 | private 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 | ||
2034 | private 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 | } | ||
2045 | private 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 | } | ||
2056 | private 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 | ||
2068 | private 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 | } | ||
2090 | private 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 | } | ||
2112 | private 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 | } | ||
2134 | private 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 | } | ||
2137 | private 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 | } | ||
2140 | private 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 | ||
2144 | private 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 | } | ||
2157 | private 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 | } | ||
2170 | private 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 | ||
2184 | private 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 | } | ||
2206 | private 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 | } | ||
2228 | private 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 | ||
2251 | private 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 | } | ||
2260 | private 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 | } | ||
2269 | private 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 | ||
2279 | private 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 | } | ||
2288 | private 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 | } | ||
2297 | private 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 | ||
2307 | private 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 | } | ||
2321 | private 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 | } | ||
2335 | private 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 | ||
2350 | private 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 | } | ||
2359 | private 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 | } | ||
2368 | private 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 | ////////// | ||
2381 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
2382 | find mustContains4(_,_,source,target); | ||
2383 | } | ||
2384 | |||
2385 | private 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 | |||
2395 | private 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 | ////////// | ||
2404 | pattern 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 | } | ||
2409 | pattern 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 | } | ||
2414 | pattern 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 | } | ||
2419 | pattern 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 | } | ||
2424 | pattern 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 | } | ||
2429 | pattern 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 | } | ||
2434 | pattern 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 | } | ||
2439 | pattern 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 | ////////// | ||
2450 | pattern 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 | } | ||
2459 | pattern 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 | } | ||
2468 | pattern 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 | ////////// | ||
2481 | pattern 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 | } | ||
2486 | pattern 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 | } | ||
2491 | pattern 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 | } | ||
2496 | pattern 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 | } | ||
2501 | pattern 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 | } | ||
2506 | pattern 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 | } | ||
2511 | pattern 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 | } | ||
2516 | pattern 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 | ////////// | ||
2527 | private 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 | } | ||
2645 | pattern 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 | } | ||
2661 | pattern 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 | } | ||
2673 | pattern 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 | } | ||
2689 | pattern 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 | } | ||
2701 | pattern 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 | } | ||
2717 | pattern 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 | } | ||
2729 | pattern 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 | } | ||
2745 | pattern 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 | } | ||
2757 | pattern 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 | } | ||
2773 | pattern 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 | } | ||
2785 | pattern 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 | } | ||
2801 | pattern 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 | } | ||
2813 | pattern 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 | } | ||
2829 | pattern 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 | } | ||
2841 | pattern 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 | } | ||
2857 | pattern 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 | } | ||
2869 | pattern 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 | ////////// | ||
2885 | pattern 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 | } | ||
2894 | pattern 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 | } | ||
2906 | pattern 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 | } | ||
2916 | pattern 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 | } | ||
2927 | pattern 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 | } | ||
2938 | pattern 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 | } | ||
2949 | pattern 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 | } | ||
2961 | pattern 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 | } | ||
2972 | pattern 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 | ////////// | ||
2985 | pattern 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 @@ | |||
1 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
2 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
3 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
4 | |||
5 | ////////// | ||
6 | // 0. Util | ||
7 | ////////// | ||
8 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
9 | PartialInterpretation.problem(interpretation,problem); | ||
10 | } | ||
11 | |||
12 | ///////////////////////// | ||
13 | // 0.1 Existence | ||
14 | ///////////////////////// | ||
15 | private 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 | |||
23 | private 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 | |||
31 | private 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 | //////////////////////// | ||
43 | pattern 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 | } | ||
48 | pattern 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 | //////////////////////// | ||
57 | private 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 | |||
64 | private 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 | |||
74 | private 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 | */ | ||
92 | private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
93 | Type.name(type,"ConstellationMission class"); | ||
94 | find directInstanceOf(problem,interpretation,element,type); | ||
95 | } | ||
96 | private 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 | */ | ||
108 | private 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 | */ | ||
134 | private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
135 | Type.name(type,"InterferometryMission class"); | ||
136 | find directInstanceOf(problem,interpretation,element,type); | ||
137 | } | ||
138 | private 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 | */ | ||
150 | private 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 | */ | ||
174 | private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
175 | Type.name(type,"CommunicatingElement class"); | ||
176 | find directInstanceOf(problem,interpretation,element,type); | ||
177 | } | ||
178 | private 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 | */ | ||
190 | private 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 | */ | ||
216 | private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
217 | Type.name(type,"GroundStationNetwork class"); | ||
218 | find directInstanceOf(problem,interpretation,element,type); | ||
219 | } | ||
220 | private 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 | */ | ||
232 | private 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 | */ | ||
256 | private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
257 | Type.name(type,"Spacecraft class"); | ||
258 | find directInstanceOf(problem,interpretation,element,type); | ||
259 | } | ||
260 | private 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 | */ | ||
272 | private 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 | */ | ||
300 | private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
301 | Type.name(type,"CommSubsystem class"); | ||
302 | find directInstanceOf(problem,interpretation,element,type); | ||
303 | } | ||
304 | private 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 | */ | ||
316 | private 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 | */ | ||
344 | private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
345 | Type.name(type,"Payload class"); | ||
346 | find directInstanceOf(problem,interpretation,element,type); | ||
347 | } | ||
348 | private 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 | */ | ||
360 | private 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 | */ | ||
384 | private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
385 | Type.name(type,"InterferometryPayload class"); | ||
386 | find directInstanceOf(problem,interpretation,element,type); | ||
387 | } | ||
388 | private 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 | */ | ||
400 | private 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 | */ | ||
422 | private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
423 | Type.name(type,"CubeSat3U class"); | ||
424 | find directInstanceOf(problem,interpretation,element,type); | ||
425 | } | ||
426 | private 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 | */ | ||
438 | private 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 | */ | ||
466 | private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
467 | Type.name(type,"CubeSat6U class"); | ||
468 | find directInstanceOf(problem,interpretation,element,type); | ||
469 | } | ||
470 | private 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 | */ | ||
482 | private 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 | */ | ||
510 | private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
511 | Type.name(type,"SmallSat class"); | ||
512 | find directInstanceOf(problem,interpretation,element,type); | ||
513 | } | ||
514 | private 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 | */ | ||
526 | private 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 | */ | ||
552 | private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
553 | Type.name(type,"CubeSat class"); | ||
554 | find directInstanceOf(problem,interpretation,element,type); | ||
555 | } | ||
556 | private 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 | */ | ||
568 | private 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 | */ | ||
598 | private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
599 | Type.name(type,"UHFCommSubsystem class"); | ||
600 | find directInstanceOf(problem,interpretation,element,type); | ||
601 | } | ||
602 | private 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 | */ | ||
614 | private 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 | */ | ||
640 | private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
641 | Type.name(type,"XCommSubsystem class"); | ||
642 | find directInstanceOf(problem,interpretation,element,type); | ||
643 | } | ||
644 | private 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 | */ | ||
656 | private 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 | */ | ||
682 | private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
683 | Type.name(type,"KaCommSubsystem class"); | ||
684 | find directInstanceOf(problem,interpretation,element,type); | ||
685 | } | ||
686 | private 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 | */ | ||
698 | private 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 | */ | ||
724 | private 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 | } | ||
728 | private 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 | */ | ||
740 | private 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 | */ | ||
745 | private 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 | } | ||
749 | private 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 | */ | ||
761 | private 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 | */ | ||
785 | private 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 | } | ||
789 | private 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 | */ | ||
801 | private 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 | */ | ||
806 | private 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 | } | ||
810 | private 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 | */ | ||
822 | private 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 | */ | ||
844 | private 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 | } | ||
848 | private 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 | */ | ||
860 | private 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 | */ | ||
865 | private 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 | } | ||
869 | private 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 | */ | ||
881 | private 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 | */ | ||
907 | private 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 | } | ||
911 | private 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 | */ | ||
923 | private 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 | */ | ||
928 | private 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 | } | ||
932 | private 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 | */ | ||
944 | private 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 | */ | ||
968 | private 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 | } | ||
972 | private 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 | */ | ||
984 | private 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 | */ | ||
989 | private 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 | } | ||
993 | private 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 | */ | ||
1005 | private 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 | */ | ||
1033 | private 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 | } | ||
1037 | private 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 | */ | ||
1049 | private 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 | */ | ||
1054 | private 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 | } | ||
1058 | private 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 | */ | ||
1070 | private 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 | */ | ||
1096 | private 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 | } | ||
1100 | private 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 | */ | ||
1112 | private 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 | */ | ||
1117 | private 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 | } | ||
1121 | private 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 | */ | ||
1133 | private 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 | */ | ||
1163 | private 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 | */ | ||
1177 | private 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 | */ | ||
1203 | private 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 | */ | ||
1217 | private 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 | */ | ||
1243 | private 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 | */ | ||
1257 | private 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 | */ | ||
1283 | private 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 | */ | ||
1297 | private 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 | */ | ||
1323 | private 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 | */ | ||
1337 | private 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 | ||
1360 | private 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 | } | ||
1371 | private 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 | } | ||
1382 | private 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 | ||
1394 | private 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 | } | ||
1412 | private 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 | } | ||
1430 | private 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 | ||
1449 | private 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 | } | ||
1459 | private 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 | } | ||
1469 | private 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 | ||
1480 | private 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 | } | ||
1491 | private 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 | } | ||
1502 | private 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 | ||
1514 | private 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 | } | ||
1533 | private 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 | } | ||
1552 | private 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 | ||
1572 | private 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 | } | ||
1589 | private 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 | } | ||
1606 | private 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 | ||
1624 | private 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 | } | ||
1641 | private 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 | } | ||
1658 | private 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 | ||
1676 | private 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 | } | ||
1687 | private 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 | } | ||
1698 | private 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 | ||
1710 | private 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 | } | ||
1739 | private 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 | } | ||
1768 | private 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 | } | ||
1797 | private 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 | } | ||
1800 | private 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 | } | ||
1803 | private 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 | ||
1807 | private 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 | } | ||
1826 | private 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 | } | ||
1845 | private 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 | ||
1865 | private 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 | } | ||
1893 | private 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 | } | ||
1921 | private 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 | ||
1950 | private 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 | } | ||
1959 | private 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 | } | ||
1968 | private 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 | ||
1978 | private 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 | } | ||
1987 | private 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 | } | ||
1996 | private 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 | ||
2006 | private 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 | } | ||
2015 | private 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 | } | ||
2024 | private 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 | ||
2034 | private 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 | } | ||
2045 | private 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 | } | ||
2056 | private 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 | ||
2068 | private 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 | } | ||
2090 | private 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 | } | ||
2112 | private 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 | } | ||
2134 | private 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 | } | ||
2137 | private 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 | } | ||
2140 | private 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 | ||
2144 | private 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 | } | ||
2157 | private 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 | } | ||
2170 | private 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 | ||
2184 | private 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 | } | ||
2206 | private 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 | } | ||
2228 | private 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 | ||
2251 | private 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 | } | ||
2260 | private 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 | } | ||
2269 | private 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 | ||
2279 | private 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 | } | ||
2288 | private 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 | } | ||
2297 | private 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 | ||
2307 | private 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 | } | ||
2321 | private 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 | } | ||
2335 | private 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 | ||
2350 | private 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 | } | ||
2359 | private 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 | } | ||
2368 | private 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 | ////////// | ||
2381 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
2382 | find mustContains4(_,_,source,target); | ||
2383 | } | ||
2384 | |||
2385 | private 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 | |||
2395 | private 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 | ////////// | ||
2404 | pattern 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 | } | ||
2409 | pattern 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 | } | ||
2414 | pattern 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 | } | ||
2419 | pattern 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 | } | ||
2424 | pattern 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 | } | ||
2429 | pattern 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 | } | ||
2434 | pattern 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 | } | ||
2439 | pattern 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 | ////////// | ||
2450 | pattern 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 | } | ||
2459 | pattern 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 | } | ||
2468 | pattern 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 | ////////// | ||
2481 | pattern 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 | } | ||
2486 | pattern 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 | } | ||
2491 | pattern 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 | } | ||
2496 | pattern 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 | } | ||
2501 | pattern 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 | } | ||
2506 | pattern 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 | } | ||
2511 | pattern 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 | } | ||
2516 | pattern 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 | ////////// | ||
2527 | private 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 | } | ||
2645 | pattern 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 | } | ||
2661 | pattern 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 | } | ||
2673 | pattern 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 | } | ||
2689 | pattern 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 | } | ||
2701 | pattern 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 | } | ||
2717 | pattern 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 | } | ||
2729 | pattern 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 | } | ||
2745 | pattern 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 | } | ||
2757 | pattern 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 | } | ||
2773 | pattern 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 | } | ||
2785 | pattern 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 | } | ||
2801 | pattern 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 | } | ||
2813 | pattern 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 | } | ||
2829 | pattern 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 | } | ||
2841 | pattern 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 | } | ||
2857 | pattern 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 | } | ||
2869 | pattern 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 | ////////// | ||
2885 | pattern 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 | } | ||
2894 | pattern 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 | } | ||
2906 | pattern 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 | } | ||
2916 | pattern 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 | } | ||
2927 | pattern 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 | } | ||
2938 | pattern 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 | } | ||
2949 | pattern 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 | } | ||
2961 | pattern 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 | } | ||
2972 | pattern 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 | ////////// | ||
2985 | pattern 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 @@ | |||
1 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
2 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
3 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
4 | |||
5 | ////////// | ||
6 | // 0. Util | ||
7 | ////////// | ||
8 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
9 | PartialInterpretation.problem(interpretation,problem); | ||
10 | } | ||
11 | |||
12 | ///////////////////////// | ||
13 | // 0.1 Existence | ||
14 | ///////////////////////// | ||
15 | private 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 | |||
23 | private 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 | |||
31 | private 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 | //////////////////////// | ||
43 | pattern 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 | } | ||
48 | pattern 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 | //////////////////////// | ||
57 | private 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 | |||
64 | private 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 | |||
74 | private 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 | */ | ||
92 | private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
93 | Type.name(type,"ConstellationMission class"); | ||
94 | find directInstanceOf(problem,interpretation,element,type); | ||
95 | } | ||
96 | private 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 | */ | ||
108 | private 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 | */ | ||
134 | private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
135 | Type.name(type,"InterferometryMission class"); | ||
136 | find directInstanceOf(problem,interpretation,element,type); | ||
137 | } | ||
138 | private 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 | */ | ||
150 | private 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 | */ | ||
174 | private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
175 | Type.name(type,"CommunicatingElement class"); | ||
176 | find directInstanceOf(problem,interpretation,element,type); | ||
177 | } | ||
178 | private 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 | */ | ||
190 | private 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 | */ | ||
216 | private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
217 | Type.name(type,"GroundStationNetwork class"); | ||
218 | find directInstanceOf(problem,interpretation,element,type); | ||
219 | } | ||
220 | private 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 | */ | ||
232 | private 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 | */ | ||
256 | private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
257 | Type.name(type,"Spacecraft class"); | ||
258 | find directInstanceOf(problem,interpretation,element,type); | ||
259 | } | ||
260 | private 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 | */ | ||
272 | private 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 | */ | ||
300 | private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
301 | Type.name(type,"CommSubsystem class"); | ||
302 | find directInstanceOf(problem,interpretation,element,type); | ||
303 | } | ||
304 | private 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 | */ | ||
316 | private 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 | */ | ||
344 | private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
345 | Type.name(type,"Payload class"); | ||
346 | find directInstanceOf(problem,interpretation,element,type); | ||
347 | } | ||
348 | private 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 | */ | ||
360 | private 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 | */ | ||
384 | private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
385 | Type.name(type,"InterferometryPayload class"); | ||
386 | find directInstanceOf(problem,interpretation,element,type); | ||
387 | } | ||
388 | private 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 | */ | ||
400 | private 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 | */ | ||
422 | private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
423 | Type.name(type,"CubeSat3U class"); | ||
424 | find directInstanceOf(problem,interpretation,element,type); | ||
425 | } | ||
426 | private 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 | */ | ||
438 | private 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 | */ | ||
466 | private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
467 | Type.name(type,"CubeSat6U class"); | ||
468 | find directInstanceOf(problem,interpretation,element,type); | ||
469 | } | ||
470 | private 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 | */ | ||
482 | private 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 | */ | ||
510 | private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
511 | Type.name(type,"SmallSat class"); | ||
512 | find directInstanceOf(problem,interpretation,element,type); | ||
513 | } | ||
514 | private 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 | */ | ||
526 | private 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 | */ | ||
552 | private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
553 | Type.name(type,"CubeSat class"); | ||
554 | find directInstanceOf(problem,interpretation,element,type); | ||
555 | } | ||
556 | private 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 | */ | ||
568 | private 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 | */ | ||
598 | private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
599 | Type.name(type,"UHFCommSubsystem class"); | ||
600 | find directInstanceOf(problem,interpretation,element,type); | ||
601 | } | ||
602 | private 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 | */ | ||
614 | private 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 | */ | ||
640 | private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
641 | Type.name(type,"XCommSubsystem class"); | ||
642 | find directInstanceOf(problem,interpretation,element,type); | ||
643 | } | ||
644 | private 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 | */ | ||
656 | private 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 | */ | ||
682 | private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
683 | Type.name(type,"KaCommSubsystem class"); | ||
684 | find directInstanceOf(problem,interpretation,element,type); | ||
685 | } | ||
686 | private 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 | */ | ||
698 | private 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 | */ | ||
724 | private 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 | } | ||
728 | private 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 | */ | ||
740 | private 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 | */ | ||
745 | private 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 | } | ||
749 | private 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 | */ | ||
761 | private 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 | */ | ||
785 | private 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 | } | ||
789 | private 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 | */ | ||
801 | private 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 | */ | ||
806 | private 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 | } | ||
810 | private 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 | */ | ||
822 | private 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 | */ | ||
844 | private 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 | } | ||
848 | private 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 | */ | ||
860 | private 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 | */ | ||
865 | private 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 | } | ||
869 | private 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 | */ | ||
881 | private 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 | */ | ||
907 | private 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 | } | ||
911 | private 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 | */ | ||
923 | private 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 | */ | ||
928 | private 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 | } | ||
932 | private 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 | */ | ||
944 | private 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 | */ | ||
968 | private 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 | } | ||
972 | private 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 | */ | ||
984 | private 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 | */ | ||
989 | private 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 | } | ||
993 | private 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 | */ | ||
1005 | private 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 | */ | ||
1033 | private 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 | } | ||
1037 | private 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 | */ | ||
1049 | private 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 | */ | ||
1054 | private 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 | } | ||
1058 | private 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 | */ | ||
1070 | private 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 | */ | ||
1096 | private 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 | } | ||
1100 | private 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 | */ | ||
1112 | private 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 | */ | ||
1117 | private 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 | } | ||
1121 | private 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 | */ | ||
1133 | private 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 | */ | ||
1163 | private 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 | */ | ||
1177 | private 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 | */ | ||
1203 | private 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 | */ | ||
1217 | private 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 | */ | ||
1243 | private 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 | */ | ||
1257 | private 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 | */ | ||
1283 | private 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 | */ | ||
1297 | private 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 | */ | ||
1323 | private 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 | */ | ||
1337 | private 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 | ||
1360 | private 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 | } | ||
1371 | private 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 | } | ||
1382 | private 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 | ||
1394 | private 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 | } | ||
1412 | private 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 | } | ||
1430 | private 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 | ||
1449 | private 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 | } | ||
1459 | private 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 | } | ||
1469 | private 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 | ||
1480 | private 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 | } | ||
1491 | private 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 | } | ||
1502 | private 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 | ||
1514 | private 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 | } | ||
1533 | private 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 | } | ||
1552 | private 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 | ||
1572 | private 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 | } | ||
1589 | private 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 | } | ||
1606 | private 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 | ||
1624 | private 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 | } | ||
1641 | private 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 | } | ||
1658 | private 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 | ||
1676 | private 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 | } | ||
1687 | private 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 | } | ||
1698 | private 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 | ||
1710 | private 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 | } | ||
1739 | private 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 | } | ||
1768 | private 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 | } | ||
1797 | private 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 | } | ||
1800 | private 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 | } | ||
1803 | private 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 | ||
1807 | private 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 | } | ||
1826 | private 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 | } | ||
1845 | private 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 | ||
1865 | private 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 | } | ||
1893 | private 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 | } | ||
1921 | private 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 | ||
1950 | private 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 | } | ||
1959 | private 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 | } | ||
1968 | private 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 | ||
1978 | private 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 | } | ||
1987 | private 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 | } | ||
1996 | private 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 | ||
2006 | private 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 | } | ||
2015 | private 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 | } | ||
2024 | private 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 | ||
2034 | private 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 | } | ||
2045 | private 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 | } | ||
2056 | private 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 | ||
2068 | private 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 | } | ||
2090 | private 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 | } | ||
2112 | private 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 | } | ||
2134 | private 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 | } | ||
2137 | private 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 | } | ||
2140 | private 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 | ||
2144 | private 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 | } | ||
2157 | private 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 | } | ||
2170 | private 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 | ||
2184 | private 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 | } | ||
2206 | private 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 | } | ||
2228 | private 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 | ||
2251 | private 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 | } | ||
2260 | private 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 | } | ||
2269 | private 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 | ||
2279 | private 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 | } | ||
2288 | private 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 | } | ||
2297 | private 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 | ||
2307 | private 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 | } | ||
2321 | private 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 | } | ||
2335 | private 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 | ||
2350 | private 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 | } | ||
2359 | private 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 | } | ||
2368 | private 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 | ////////// | ||
2381 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
2382 | find mustContains4(_,_,source,target); | ||
2383 | } | ||
2384 | |||
2385 | private 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 | |||
2395 | private 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 | ////////// | ||
2404 | pattern 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 | } | ||
2409 | pattern 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 | } | ||
2414 | pattern 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 | } | ||
2419 | pattern 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 | } | ||
2424 | pattern 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 | } | ||
2429 | pattern 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 | } | ||
2434 | pattern 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 | } | ||
2439 | pattern 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 | ////////// | ||
2450 | pattern 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 | } | ||
2459 | pattern 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 | } | ||
2468 | pattern 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 | ////////// | ||
2481 | pattern 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 | } | ||
2486 | pattern 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 | } | ||
2491 | pattern 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 | } | ||
2496 | pattern 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 | } | ||
2501 | pattern 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 | } | ||
2506 | pattern 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 | } | ||
2511 | pattern 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 | } | ||
2516 | pattern 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 | ////////// | ||
2527 | private 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 | } | ||
2645 | pattern 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 | } | ||
2661 | pattern 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 | } | ||
2673 | pattern 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 | } | ||
2689 | pattern 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 | } | ||
2701 | pattern 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 | } | ||
2717 | pattern 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 | } | ||
2729 | pattern 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 | } | ||
2745 | pattern 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 | } | ||
2757 | pattern 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 | } | ||
2773 | pattern 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 | } | ||
2785 | pattern 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 | } | ||
2801 | pattern 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 | } | ||
2813 | pattern 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 | } | ||
2829 | pattern 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 | } | ||
2841 | pattern 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 | } | ||
2857 | pattern 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 | } | ||
2869 | pattern 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 | ////////// | ||
2885 | pattern 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 | } | ||
2894 | pattern 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 | } | ||
2906 | pattern 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 | } | ||
2916 | pattern 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 | } | ||
2927 | pattern 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 | } | ||
2938 | pattern 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 | } | ||
2949 | pattern 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 | } | ||
2961 | pattern 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 | } | ||
2972 | pattern 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 | ////////// | ||
2985 | pattern 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 @@ | |||
1 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
2 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
3 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
4 | |||
5 | ////////// | ||
6 | // 0. Util | ||
7 | ////////// | ||
8 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
9 | PartialInterpretation.problem(interpretation,problem); | ||
10 | } | ||
11 | |||
12 | ///////////////////////// | ||
13 | // 0.1 Existence | ||
14 | ///////////////////////// | ||
15 | private 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 | |||
23 | private 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 | |||
31 | private 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 | //////////////////////// | ||
43 | pattern 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 | } | ||
48 | pattern 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 | //////////////////////// | ||
57 | private 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 | |||
64 | private 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 | |||
74 | private 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 | */ | ||
92 | private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
93 | Type.name(type,"ConstellationMission class"); | ||
94 | find directInstanceOf(problem,interpretation,element,type); | ||
95 | } | ||
96 | private 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 | */ | ||
108 | private 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 | */ | ||
134 | private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
135 | Type.name(type,"InterferometryMission class"); | ||
136 | find directInstanceOf(problem,interpretation,element,type); | ||
137 | } | ||
138 | private 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 | */ | ||
150 | private 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 | */ | ||
174 | private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
175 | Type.name(type,"CommunicatingElement class"); | ||
176 | find directInstanceOf(problem,interpretation,element,type); | ||
177 | } | ||
178 | private 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 | */ | ||
190 | private 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 | */ | ||
216 | private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
217 | Type.name(type,"GroundStationNetwork class"); | ||
218 | find directInstanceOf(problem,interpretation,element,type); | ||
219 | } | ||
220 | private 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 | */ | ||
232 | private 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 | */ | ||
256 | private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
257 | Type.name(type,"Spacecraft class"); | ||
258 | find directInstanceOf(problem,interpretation,element,type); | ||
259 | } | ||
260 | private 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 | */ | ||
272 | private 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 | */ | ||
300 | private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
301 | Type.name(type,"CommSubsystem class"); | ||
302 | find directInstanceOf(problem,interpretation,element,type); | ||
303 | } | ||
304 | private 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 | */ | ||
316 | private 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 | */ | ||
344 | private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
345 | Type.name(type,"Payload class"); | ||
346 | find directInstanceOf(problem,interpretation,element,type); | ||
347 | } | ||
348 | private 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 | */ | ||
360 | private 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 | */ | ||
384 | private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
385 | Type.name(type,"InterferometryPayload class"); | ||
386 | find directInstanceOf(problem,interpretation,element,type); | ||
387 | } | ||
388 | private 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 | */ | ||
400 | private 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 | */ | ||
422 | private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
423 | Type.name(type,"CubeSat3U class"); | ||
424 | find directInstanceOf(problem,interpretation,element,type); | ||
425 | } | ||
426 | private 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 | */ | ||
438 | private 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 | */ | ||
466 | private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
467 | Type.name(type,"CubeSat6U class"); | ||
468 | find directInstanceOf(problem,interpretation,element,type); | ||
469 | } | ||
470 | private 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 | */ | ||
482 | private 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 | */ | ||
510 | private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
511 | Type.name(type,"SmallSat class"); | ||
512 | find directInstanceOf(problem,interpretation,element,type); | ||
513 | } | ||
514 | private 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 | */ | ||
526 | private 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 | */ | ||
552 | private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
553 | Type.name(type,"CubeSat class"); | ||
554 | find directInstanceOf(problem,interpretation,element,type); | ||
555 | } | ||
556 | private 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 | */ | ||
568 | private 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 | */ | ||
598 | private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
599 | Type.name(type,"UHFCommSubsystem class"); | ||
600 | find directInstanceOf(problem,interpretation,element,type); | ||
601 | } | ||
602 | private 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 | */ | ||
614 | private 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 | */ | ||
640 | private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
641 | Type.name(type,"XCommSubsystem class"); | ||
642 | find directInstanceOf(problem,interpretation,element,type); | ||
643 | } | ||
644 | private 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 | */ | ||
656 | private 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 | */ | ||
682 | private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
683 | Type.name(type,"KaCommSubsystem class"); | ||
684 | find directInstanceOf(problem,interpretation,element,type); | ||
685 | } | ||
686 | private 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 | */ | ||
698 | private 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 | */ | ||
724 | private 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 | } | ||
728 | private 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 | */ | ||
740 | private 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 | */ | ||
745 | private 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 | } | ||
749 | private 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 | */ | ||
761 | private 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 | */ | ||
785 | private 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 | } | ||
789 | private 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 | */ | ||
801 | private 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 | */ | ||
806 | private 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 | } | ||
810 | private 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 | */ | ||
822 | private 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 | */ | ||
844 | private 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 | } | ||
848 | private 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 | */ | ||
860 | private 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 | */ | ||
865 | private 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 | } | ||
869 | private 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 | */ | ||
881 | private 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 | */ | ||
907 | private 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 | } | ||
911 | private 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 | */ | ||
923 | private 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 | */ | ||
928 | private 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 | } | ||
932 | private 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 | */ | ||
944 | private 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 | */ | ||
968 | private 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 | } | ||
972 | private 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 | */ | ||
984 | private 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 | */ | ||
989 | private 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 | } | ||
993 | private 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 | */ | ||
1005 | private 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 | */ | ||
1033 | private 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 | } | ||
1037 | private 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 | */ | ||
1049 | private 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 | */ | ||
1054 | private 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 | } | ||
1058 | private 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 | */ | ||
1070 | private 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 | */ | ||
1096 | private 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 | } | ||
1100 | private 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 | */ | ||
1112 | private 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 | */ | ||
1117 | private 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 | } | ||
1121 | private 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 | */ | ||
1133 | private 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 | */ | ||
1163 | private 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 | */ | ||
1177 | private 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 | */ | ||
1203 | private 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 | */ | ||
1217 | private 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 | */ | ||
1243 | private 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 | */ | ||
1257 | private 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 | */ | ||
1283 | private 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 | */ | ||
1297 | private 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 | */ | ||
1323 | private 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 | */ | ||
1337 | private 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 | ||
1360 | private 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 | } | ||
1371 | private 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 | } | ||
1382 | private 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 | ||
1394 | private 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 | } | ||
1412 | private 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 | } | ||
1430 | private 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 | ||
1449 | private 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 | } | ||
1459 | private 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 | } | ||
1469 | private 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 | ||
1480 | private 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 | } | ||
1491 | private 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 | } | ||
1502 | private 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 | ||
1514 | private 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 | } | ||
1533 | private 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 | } | ||
1552 | private 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 | ||
1572 | private 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 | } | ||
1589 | private 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 | } | ||
1606 | private 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 | ||
1624 | private 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 | } | ||
1641 | private 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 | } | ||
1658 | private 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 | ||
1676 | private 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 | } | ||
1687 | private 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 | } | ||
1698 | private 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 | ||
1710 | private 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 | } | ||
1739 | private 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 | } | ||
1768 | private 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 | } | ||
1797 | private 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 | } | ||
1800 | private 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 | } | ||
1803 | private 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 | ||
1807 | private 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 | } | ||
1826 | private 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 | } | ||
1845 | private 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 | ||
1865 | private 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 | } | ||
1893 | private 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 | } | ||
1921 | private 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 | ||
1950 | private 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 | } | ||
1959 | private 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 | } | ||
1968 | private 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 | ||
1978 | private 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 | } | ||
1987 | private 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 | } | ||
1996 | private 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 | ||
2006 | private 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 | } | ||
2015 | private 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 | } | ||
2024 | private 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 | ||
2034 | private 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 | } | ||
2045 | private 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 | } | ||
2056 | private 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 | ||
2068 | private 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 | } | ||
2090 | private 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 | } | ||
2112 | private 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 | } | ||
2134 | private 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 | } | ||
2137 | private 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 | } | ||
2140 | private 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 | ||
2144 | private 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 | } | ||
2157 | private 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 | } | ||
2170 | private 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 | ||
2184 | private 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 | } | ||
2206 | private 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 | } | ||
2228 | private 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 | ||
2251 | private 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 | } | ||
2260 | private 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 | } | ||
2269 | private 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 | ||
2279 | private 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 | } | ||
2288 | private 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 | } | ||
2297 | private 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 | ||
2307 | private 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 | } | ||
2321 | private 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 | } | ||
2335 | private 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 | ||
2350 | private 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 | } | ||
2359 | private 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 | } | ||
2368 | private 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 | ////////// | ||
2381 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
2382 | find mustContains4(_,_,source,target); | ||
2383 | } | ||
2384 | |||
2385 | private 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 | |||
2395 | private 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 | ////////// | ||
2404 | pattern 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 | } | ||
2409 | pattern 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 | } | ||
2414 | pattern 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 | } | ||
2419 | pattern 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 | } | ||
2424 | pattern 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 | } | ||
2429 | pattern 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 | } | ||
2434 | pattern 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 | } | ||
2439 | pattern 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 | ////////// | ||
2450 | pattern 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 | } | ||
2459 | pattern 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 | } | ||
2468 | pattern 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 | ////////// | ||
2481 | pattern 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 | } | ||
2486 | pattern 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 | } | ||
2491 | pattern 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 | } | ||
2496 | pattern 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 | } | ||
2501 | pattern 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 | } | ||
2506 | pattern 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 | } | ||
2511 | pattern 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 | } | ||
2516 | pattern 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 | ////////// | ||
2527 | private 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 | } | ||
2645 | pattern 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 | } | ||
2661 | pattern 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 | } | ||
2673 | pattern 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 | } | ||
2689 | pattern 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 | } | ||
2701 | pattern 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 | } | ||
2717 | pattern 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 | } | ||
2729 | pattern 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 | } | ||
2745 | pattern 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 | } | ||
2757 | pattern 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 | } | ||
2773 | pattern 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 | } | ||
2785 | pattern 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 | } | ||
2801 | pattern 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 | } | ||
2813 | pattern 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 | } | ||
2829 | pattern 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 | } | ||
2841 | pattern 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 | } | ||
2857 | pattern 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 | } | ||
2869 | pattern 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 | ////////// | ||
2885 | pattern 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 | } | ||
2894 | pattern 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 | } | ||
2906 | pattern 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 | } | ||
2916 | pattern 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 | } | ||
2927 | pattern 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 | } | ||
2938 | pattern 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 | } | ||
2949 | pattern 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 | } | ||
2961 | pattern 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 | } | ||
2972 | pattern 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 | ////////// | ||
2985 | pattern 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 @@ | |||
1 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" | ||
2 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" | ||
3 | import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" | ||
4 | |||
5 | ////////// | ||
6 | // 0. Util | ||
7 | ////////// | ||
8 | private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { | ||
9 | PartialInterpretation.problem(interpretation,problem); | ||
10 | } | ||
11 | |||
12 | ///////////////////////// | ||
13 | // 0.1 Existence | ||
14 | ///////////////////////// | ||
15 | private 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 | |||
23 | private 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 | |||
31 | private 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 | //////////////////////// | ||
43 | pattern 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 | } | ||
48 | pattern 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 | //////////////////////// | ||
57 | private 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 | |||
64 | private 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 | |||
74 | private 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 | */ | ||
92 | private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
93 | Type.name(type,"ConstellationMission class"); | ||
94 | find directInstanceOf(problem,interpretation,element,type); | ||
95 | } | ||
96 | private 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 | */ | ||
108 | private 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 | */ | ||
134 | private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
135 | Type.name(type,"InterferometryMission class"); | ||
136 | find directInstanceOf(problem,interpretation,element,type); | ||
137 | } | ||
138 | private 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 | */ | ||
150 | private 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 | */ | ||
174 | private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
175 | Type.name(type,"CommunicatingElement class"); | ||
176 | find directInstanceOf(problem,interpretation,element,type); | ||
177 | } | ||
178 | private 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 | */ | ||
190 | private 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 | */ | ||
216 | private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
217 | Type.name(type,"GroundStationNetwork class"); | ||
218 | find directInstanceOf(problem,interpretation,element,type); | ||
219 | } | ||
220 | private 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 | */ | ||
232 | private 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 | */ | ||
256 | private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
257 | Type.name(type,"Spacecraft class"); | ||
258 | find directInstanceOf(problem,interpretation,element,type); | ||
259 | } | ||
260 | private 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 | */ | ||
272 | private 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 | */ | ||
300 | private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
301 | Type.name(type,"CommSubsystem class"); | ||
302 | find directInstanceOf(problem,interpretation,element,type); | ||
303 | } | ||
304 | private 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 | */ | ||
316 | private 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 | */ | ||
344 | private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
345 | Type.name(type,"Payload class"); | ||
346 | find directInstanceOf(problem,interpretation,element,type); | ||
347 | } | ||
348 | private 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 | */ | ||
360 | private 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 | */ | ||
384 | private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
385 | Type.name(type,"InterferometryPayload class"); | ||
386 | find directInstanceOf(problem,interpretation,element,type); | ||
387 | } | ||
388 | private 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 | */ | ||
400 | private 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 | */ | ||
422 | private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
423 | Type.name(type,"CubeSat3U class"); | ||
424 | find directInstanceOf(problem,interpretation,element,type); | ||
425 | } | ||
426 | private 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 | */ | ||
438 | private 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 | */ | ||
466 | private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
467 | Type.name(type,"CubeSat6U class"); | ||
468 | find directInstanceOf(problem,interpretation,element,type); | ||
469 | } | ||
470 | private 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 | */ | ||
482 | private 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 | */ | ||
510 | private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
511 | Type.name(type,"SmallSat class"); | ||
512 | find directInstanceOf(problem,interpretation,element,type); | ||
513 | } | ||
514 | private 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 | */ | ||
526 | private 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 | */ | ||
552 | private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
553 | Type.name(type,"CubeSat class"); | ||
554 | find directInstanceOf(problem,interpretation,element,type); | ||
555 | } | ||
556 | private 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 | */ | ||
568 | private 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 | */ | ||
598 | private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
599 | Type.name(type,"UHFCommSubsystem class"); | ||
600 | find directInstanceOf(problem,interpretation,element,type); | ||
601 | } | ||
602 | private 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 | */ | ||
614 | private 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 | */ | ||
640 | private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
641 | Type.name(type,"XCommSubsystem class"); | ||
642 | find directInstanceOf(problem,interpretation,element,type); | ||
643 | } | ||
644 | private 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 | */ | ||
656 | private 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 | */ | ||
682 | private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { | ||
683 | Type.name(type,"KaCommSubsystem class"); | ||
684 | find directInstanceOf(problem,interpretation,element,type); | ||
685 | } | ||
686 | private 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 | */ | ||
698 | private 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 | */ | ||
724 | private 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 | } | ||
728 | private 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 | */ | ||
740 | private 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 | */ | ||
745 | private 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 | } | ||
749 | private 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 | */ | ||
761 | private 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 | */ | ||
785 | private 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 | } | ||
789 | private 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 | */ | ||
801 | private 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 | */ | ||
806 | private 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 | } | ||
810 | private 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 | */ | ||
822 | private 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 | */ | ||
844 | private 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 | } | ||
848 | private 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 | */ | ||
860 | private 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 | */ | ||
865 | private 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 | } | ||
869 | private 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 | */ | ||
881 | private 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 | */ | ||
907 | private 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 | } | ||
911 | private 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 | */ | ||
923 | private 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 | */ | ||
928 | private 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 | } | ||
932 | private 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 | */ | ||
944 | private 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 | */ | ||
968 | private 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 | } | ||
972 | private 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 | */ | ||
984 | private 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 | */ | ||
989 | private 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 | } | ||
993 | private 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 | */ | ||
1005 | private 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 | */ | ||
1033 | private 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 | } | ||
1037 | private 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 | */ | ||
1049 | private 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 | */ | ||
1054 | private 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 | } | ||
1058 | private 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 | */ | ||
1070 | private 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 | */ | ||
1096 | private 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 | } | ||
1100 | private 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 | */ | ||
1112 | private 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 | */ | ||
1117 | private 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 | } | ||
1121 | private 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 | */ | ||
1133 | private 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 | */ | ||
1163 | private 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 | */ | ||
1177 | private 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 | */ | ||
1203 | private 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 | */ | ||
1217 | private 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 | */ | ||
1243 | private 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 | */ | ||
1257 | private 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 | */ | ||
1283 | private 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 | */ | ||
1297 | private 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 | */ | ||
1323 | private 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 | */ | ||
1337 | private 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 | ||
1360 | private 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 | } | ||
1371 | private 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 | } | ||
1382 | private 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 | ||
1394 | private 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 | } | ||
1412 | private 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 | } | ||
1430 | private 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 | ||
1449 | private 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 | } | ||
1459 | private 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 | } | ||
1469 | private 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 | ||
1480 | private 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 | } | ||
1491 | private 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 | } | ||
1502 | private 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 | ||
1514 | private 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 | } | ||
1533 | private 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 | } | ||
1552 | private 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 | ||
1572 | private 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 | } | ||
1589 | private 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 | } | ||
1606 | private 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 | ||
1624 | private 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 | } | ||
1641 | private 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 | } | ||
1658 | private 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 | ||
1676 | private 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 | } | ||
1687 | private 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 | } | ||
1698 | private 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 | ||
1710 | private 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 | } | ||
1739 | private 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 | } | ||
1768 | private 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 | } | ||
1797 | private 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 | } | ||
1800 | private 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 | } | ||
1803 | private 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 | ||
1807 | private 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 | } | ||
1826 | private 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 | } | ||
1845 | private 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 | ||
1865 | private 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 | } | ||
1893 | private 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 | } | ||
1921 | private 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 | ||
1950 | private 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 | } | ||
1959 | private 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 | } | ||
1968 | private 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 | ||
1978 | private 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 | } | ||
1987 | private 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 | } | ||
1996 | private 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 | ||
2006 | private 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 | } | ||
2015 | private 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 | } | ||
2024 | private 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 | ||
2034 | private 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 | } | ||
2045 | private 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 | } | ||
2056 | private 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 | ||
2068 | private 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 | } | ||
2090 | private 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 | } | ||
2112 | private 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 | } | ||
2134 | private 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 | } | ||
2137 | private 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 | } | ||
2140 | private 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 | ||
2144 | private 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 | } | ||
2157 | private 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 | } | ||
2170 | private 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 | ||
2184 | private 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 | } | ||
2206 | private 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 | } | ||
2228 | private 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 | ||
2251 | private 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 | } | ||
2260 | private 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 | } | ||
2269 | private 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 | ||
2279 | private 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 | } | ||
2288 | private 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 | } | ||
2297 | private 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 | ||
2307 | private 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 | } | ||
2321 | private 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 | } | ||
2335 | private 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 | ||
2350 | private 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 | } | ||
2359 | private 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 | } | ||
2368 | private 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 | ////////// | ||
2381 | private pattern mustContains2(source: DefinedElement, target: DefinedElement) { | ||
2382 | find mustContains4(_,_,source,target); | ||
2383 | } | ||
2384 | |||
2385 | private 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 | |||
2395 | private 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 | ////////// | ||
2404 | pattern 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 | } | ||
2409 | pattern 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 | } | ||
2414 | pattern 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 | } | ||
2419 | pattern 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 | } | ||
2424 | pattern 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 | } | ||
2429 | pattern 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 | } | ||
2434 | pattern 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 | } | ||
2439 | pattern 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 | ////////// | ||
2450 | pattern 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 | } | ||
2459 | pattern 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 | } | ||
2468 | pattern 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 | ////////// | ||
2481 | pattern 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 | } | ||
2486 | pattern 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 | } | ||
2491 | pattern 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 | } | ||
2496 | pattern 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 | } | ||
2501 | pattern 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 | } | ||
2506 | pattern 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 | } | ||
2511 | pattern 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 | } | ||
2516 | pattern 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 | ////////// | ||
2527 | private 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 | } | ||
2645 | pattern 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 | } | ||
2661 | pattern 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 | } | ||
2673 | pattern 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 | } | ||
2689 | pattern 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 | } | ||
2701 | pattern 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 | } | ||
2717 | pattern 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 | } | ||
2729 | pattern 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 | } | ||
2745 | pattern 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 | } | ||
2757 | pattern 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 | } | ||
2773 | pattern 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 | } | ||
2785 | pattern 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 | } | ||
2801 | pattern 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 | } | ||
2813 | pattern 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 | } | ||
2829 | pattern 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 | } | ||
2841 | pattern 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 | } | ||
2857 | pattern 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 | } | ||
2869 | pattern 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 | ////////// | ||
2885 | pattern 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 | } | ||
2894 | pattern 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 | } | ||
2906 | pattern 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 | } | ||
2916 | pattern 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 | } | ||
2927 | pattern 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 | } | ||
2938 | pattern 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 | } | ||
2949 | pattern 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 | } | ||
2961 | pattern 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 | } | ||
2972 | pattern 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 | ////////// | ||
2985 | pattern 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> | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt deleted file mode 100644 index 1d3c9f62..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | Model generation started | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml deleted file mode 100644 index 68fc38e5..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml +++ /dev/null | |||
@@ -1,2452 +0,0 @@ | |||
1 | graph | ||
2 | [ | ||
3 | node | ||
4 | [ | ||
5 | id 0 | ||
6 | graphics | ||
7 | [ | ||
8 | w 315.70000000000005 | ||
9 | h 82 | ||
10 | type "rectangle" | ||
11 | fill "#FFFFFF" | ||
12 | fill2 "#FFFFFF" | ||
13 | outline "#000000" | ||
14 | ] | ||
15 | LabelGraphics | ||
16 | [ | ||
17 | text "o 1" | ||
18 | outline "#000000" | ||
19 | fill "#FFFFFF" | ||
20 | fontSize 16 | ||
21 | fontName "Monospace" | ||
22 | autoSizePolicy "node_width" | ||
23 | anchor "t" | ||
24 | borderDistance 0.0 | ||
25 | ] | ||
26 | LabelGraphics | ||
27 | [ | ||
28 | text " | ||
29 | ConstellationMission class DefinedPart | ||
30 | InterferometryMission class DefinedPart | ||
31 | ConstellationMission class | ||
32 | InterferometryMission class | ||
33 | " | ||
34 | fontSize 14 | ||
35 | fontName "Consolas" | ||
36 | alignment "left" | ||
37 | anchor "tl" | ||
38 | borderDistance 6 | ||
39 | ] | ||
40 | ] | ||
41 | |||
42 | node | ||
43 | [ | ||
44 | id 1 | ||
45 | graphics | ||
46 | [ | ||
47 | w 308.0 | ||
48 | h 82 | ||
49 | type "rectangle" | ||
50 | fill "#FFFFFF" | ||
51 | fill2 "#FFFFFF" | ||
52 | outline "#000000" | ||
53 | ] | ||
54 | LabelGraphics | ||
55 | [ | ||
56 | text "o 2" | ||
57 | outline "#000000" | ||
58 | fill "#FFFFFF" | ||
59 | fontSize 16 | ||
60 | fontName "Monospace" | ||
61 | autoSizePolicy "node_width" | ||
62 | anchor "t" | ||
63 | borderDistance 0.0 | ||
64 | ] | ||
65 | LabelGraphics | ||
66 | [ | ||
67 | text " | ||
68 | CommunicatingElement class DefinedPart | ||
69 | GroundStationNetwork class DefinedPart | ||
70 | CommunicatingElement class | ||
71 | GroundStationNetwork class | ||
72 | " | ||
73 | fontSize 14 | ||
74 | fontName "Consolas" | ||
75 | alignment "left" | ||
76 | anchor "tl" | ||
77 | borderDistance 6 | ||
78 | ] | ||
79 | ] | ||
80 | |||
81 | node | ||
82 | [ | ||
83 | id 2 | ||
84 | graphics | ||
85 | [ | ||
86 | w 261.8 | ||
87 | h 82 | ||
88 | type "rectangle" | ||
89 | fill "#FFFFFF" | ||
90 | fill2 "#FFFFFF" | ||
91 | outline "#000000" | ||
92 | ] | ||
93 | LabelGraphics | ||
94 | [ | ||
95 | text "o 3" | ||
96 | outline "#000000" | ||
97 | fill "#FFFFFF" | ||
98 | fontSize 16 | ||
99 | fontName "Monospace" | ||
100 | autoSizePolicy "node_width" | ||
101 | anchor "t" | ||
102 | borderDistance 0.0 | ||
103 | ] | ||
104 | LabelGraphics | ||
105 | [ | ||
106 | text " | ||
107 | CommSubsystem class DefinedPart | ||
108 | XCommSubsystem class DefinedPart | ||
109 | CommSubsystem class | ||
110 | XCommSubsystem class | ||
111 | " | ||
112 | fontSize 14 | ||
113 | fontName "Consolas" | ||
114 | alignment "left" | ||
115 | anchor "tl" | ||
116 | borderDistance 6 | ||
117 | ] | ||
118 | ] | ||
119 | |||
120 | node | ||
121 | [ | ||
122 | id 3 | ||
123 | graphics | ||
124 | [ | ||
125 | w 269.5 | ||
126 | h 82 | ||
127 | type "rectangle" | ||
128 | fill "#FFFFFF" | ||
129 | fill2 "#FFFFFF" | ||
130 | outline "#000000" | ||
131 | ] | ||
132 | LabelGraphics | ||
133 | [ | ||
134 | text "o 4" | ||
135 | outline "#000000" | ||
136 | fill "#FFFFFF" | ||
137 | fontSize 16 | ||
138 | fontName "Monospace" | ||
139 | autoSizePolicy "node_width" | ||
140 | anchor "t" | ||
141 | borderDistance 0.0 | ||
142 | ] | ||
143 | LabelGraphics | ||
144 | [ | ||
145 | text " | ||
146 | CommSubsystem class DefinedPart | ||
147 | KaCommSubsystem class DefinedPart | ||
148 | CommSubsystem class | ||
149 | KaCommSubsystem class | ||
150 | " | ||
151 | fontSize 14 | ||
152 | fontName "Consolas" | ||
153 | alignment "left" | ||
154 | anchor "tl" | ||
155 | borderDistance 6 | ||
156 | ] | ||
157 | ] | ||
158 | |||
159 | node | ||
160 | [ | ||
161 | id 4 | ||
162 | graphics | ||
163 | [ | ||
164 | w 41.800000000000004 | ||
165 | h 26 | ||
166 | type "rectangle" | ||
167 | fill "#FFFFFF" | ||
168 | fill2 "#FFFFFF" | ||
169 | outline "#000000" | ||
170 | ] | ||
171 | LabelGraphics | ||
172 | [ | ||
173 | text "true" | ||
174 | outline "#000000" | ||
175 | fill "#FFFFFF" | ||
176 | fontSize 16 | ||
177 | fontName "Monospace" | ||
178 | autoSizePolicy "node_width" | ||
179 | anchor "t" | ||
180 | borderDistance 0.0 | ||
181 | ] | ||
182 | LabelGraphics | ||
183 | [ | ||
184 | text " | ||
185 | " | ||
186 | fontSize 14 | ||
187 | fontName "Consolas" | ||
188 | alignment "left" | ||
189 | anchor "tl" | ||
190 | borderDistance 6 | ||
191 | ] | ||
192 | ] | ||
193 | |||
194 | node | ||
195 | [ | ||
196 | id 5 | ||
197 | graphics | ||
198 | [ | ||
199 | w 50.6 | ||
200 | h 26 | ||
201 | type "rectangle" | ||
202 | fill "#FFFFFF" | ||
203 | fill2 "#FFFFFF" | ||
204 | outline "#000000" | ||
205 | ] | ||
206 | LabelGraphics | ||
207 | [ | ||
208 | text "false" | ||
209 | outline "#000000" | ||
210 | fill "#FFFFFF" | ||
211 | fontSize 16 | ||
212 | fontName "Monospace" | ||
213 | autoSizePolicy "node_width" | ||
214 | anchor "t" | ||
215 | borderDistance 0.0 | ||
216 | ] | ||
217 | LabelGraphics | ||
218 | [ | ||
219 | text " | ||
220 | " | ||
221 | fontSize 14 | ||
222 | fontName "Consolas" | ||
223 | alignment "left" | ||
224 | anchor "tl" | ||
225 | borderDistance 6 | ||
226 | ] | ||
227 | ] | ||
228 | |||
229 | node | ||
230 | [ | ||
231 | id 6 | ||
232 | graphics | ||
233 | [ | ||
234 | w 323.40000000000003 | ||
235 | h 82 | ||
236 | type "rectangle" | ||
237 | fill "#FFFFFF" | ||
238 | fill2 "#FFFFFF" | ||
239 | outline "#000000" | ||
240 | ] | ||
241 | LabelGraphics | ||
242 | [ | ||
243 | text "null" | ||
244 | outline "#000000" | ||
245 | fill "#FFFFFF" | ||
246 | fontSize 16 | ||
247 | fontName "Monospace" | ||
248 | autoSizePolicy "node_width" | ||
249 | anchor "t" | ||
250 | borderDistance 0.0 | ||
251 | ] | ||
252 | LabelGraphics | ||
253 | [ | ||
254 | text " | ||
255 | CommunicatingElement class | ||
256 | Spacecraft class | ||
257 | SmallSat class | ||
258 | CommunicatingElement class UndefinedPart | ||
259 | " | ||
260 | fontSize 14 | ||
261 | fontName "Consolas" | ||
262 | alignment "left" | ||
263 | anchor "tl" | ||
264 | borderDistance 6 | ||
265 | ] | ||
266 | ] | ||
267 | |||
268 | node | ||
269 | [ | ||
270 | id 7 | ||
271 | graphics | ||
272 | [ | ||
273 | w 223.3 | ||
274 | h 54 | ||
275 | type "rectangle" | ||
276 | fill "#FFFFFF" | ||
277 | fill2 "#FFFFFF" | ||
278 | outline "#000000" | ||
279 | ] | ||
280 | LabelGraphics | ||
281 | [ | ||
282 | text "null" | ||
283 | outline "#000000" | ||
284 | fill "#FFFFFF" | ||
285 | fontSize 16 | ||
286 | fontName "Monospace" | ||
287 | autoSizePolicy "node_width" | ||
288 | anchor "t" | ||
289 | borderDistance 0.0 | ||
290 | ] | ||
291 | LabelGraphics | ||
292 | [ | ||
293 | text " | ||
294 | Payload class | ||
295 | InterferometryPayload class | ||
296 | " | ||
297 | fontSize 14 | ||
298 | fontName "Consolas" | ||
299 | alignment "left" | ||
300 | anchor "tl" | ||
301 | borderDistance 6 | ||
302 | ] | ||
303 | ] | ||
304 | |||
305 | node | ||
306 | [ | ||
307 | id 8 | ||
308 | graphics | ||
309 | [ | ||
310 | w 269.5 | ||
311 | h 68 | ||
312 | type "rectangle" | ||
313 | fill "#FFFFFF" | ||
314 | fill2 "#FFFFFF" | ||
315 | outline "#000000" | ||
316 | ] | ||
317 | LabelGraphics | ||
318 | [ | ||
319 | text "null" | ||
320 | outline "#000000" | ||
321 | fill "#FFFFFF" | ||
322 | fontSize 16 | ||
323 | fontName "Monospace" | ||
324 | autoSizePolicy "node_width" | ||
325 | anchor "t" | ||
326 | borderDistance 0.0 | ||
327 | ] | ||
328 | LabelGraphics | ||
329 | [ | ||
330 | text " | ||
331 | CommSubsystem class | ||
332 | UHFCommSubsystem class | ||
333 | CommSubsystem class UndefinedPart | ||
334 | " | ||
335 | fontSize 14 | ||
336 | fontName "Consolas" | ||
337 | alignment "left" | ||
338 | anchor "tl" | ||
339 | borderDistance 6 | ||
340 | ] | ||
341 | ] | ||
342 | |||
343 | node | ||
344 | [ | ||
345 | id 9 | ||
346 | graphics | ||
347 | [ | ||
348 | w 277.20000000000005 | ||
349 | h 82 | ||
350 | type "rectangle" | ||
351 | fill "#FFFFFF" | ||
352 | fill2 "#FFFFFF" | ||
353 | outline "#000000" | ||
354 | ] | ||
355 | LabelGraphics | ||
356 | [ | ||
357 | text "null" | ||
358 | outline "#000000" | ||
359 | fill "#FFFFFF" | ||
360 | fontSize 16 | ||
361 | fontName "Monospace" | ||
362 | autoSizePolicy "node_width" | ||
363 | anchor "t" | ||
364 | borderDistance 0.0 | ||
365 | ] | ||
366 | LabelGraphics | ||
367 | [ | ||
368 | text " | ||
369 | CommSubsystem class | ||
370 | XCommSubsystem class | ||
371 | CommSubsystem class UndefinedPart | ||
372 | XCommSubsystem class UndefinedPart | ||
373 | " | ||
374 | fontSize 14 | ||
375 | fontName "Consolas" | ||
376 | alignment "left" | ||
377 | anchor "tl" | ||
378 | borderDistance 6 | ||
379 | ] | ||
380 | ] | ||
381 | |||
382 | node | ||
383 | [ | ||
384 | id 10 | ||
385 | graphics | ||
386 | [ | ||
387 | w 323.40000000000003 | ||
388 | h 96 | ||
389 | type "rectangle" | ||
390 | fill "#FFFFFF" | ||
391 | fill2 "#FFFFFF" | ||
392 | outline "#000000" | ||
393 | ] | ||
394 | LabelGraphics | ||
395 | [ | ||
396 | text "null" | ||
397 | outline "#000000" | ||
398 | fill "#FFFFFF" | ||
399 | fontSize 16 | ||
400 | fontName "Monospace" | ||
401 | autoSizePolicy "node_width" | ||
402 | anchor "t" | ||
403 | borderDistance 0.0 | ||
404 | ] | ||
405 | LabelGraphics | ||
406 | [ | ||
407 | text " | ||
408 | CommunicatingElement class | ||
409 | Spacecraft class | ||
410 | CubeSat3U class | ||
411 | CubeSat class | ||
412 | CommunicatingElement class UndefinedPart | ||
413 | " | ||
414 | fontSize 14 | ||
415 | fontName "Consolas" | ||
416 | alignment "left" | ||
417 | anchor "tl" | ||
418 | borderDistance 6 | ||
419 | ] | ||
420 | ] | ||
421 | |||
422 | node | ||
423 | [ | ||
424 | id 11 | ||
425 | graphics | ||
426 | [ | ||
427 | w 277.20000000000005 | ||
428 | h 82 | ||
429 | type "rectangle" | ||
430 | fill "#FFFFFF" | ||
431 | fill2 "#FFFFFF" | ||
432 | outline "#000000" | ||
433 | ] | ||
434 | LabelGraphics | ||
435 | [ | ||
436 | text "null" | ||
437 | outline "#000000" | ||
438 | fill "#FFFFFF" | ||
439 | fontSize 16 | ||
440 | fontName "Monospace" | ||
441 | autoSizePolicy "node_width" | ||
442 | anchor "t" | ||
443 | borderDistance 0.0 | ||
444 | ] | ||
445 | LabelGraphics | ||
446 | [ | ||
447 | text " | ||
448 | CommSubsystem class | ||
449 | XCommSubsystem class | ||
450 | CommSubsystem class UndefinedPart | ||
451 | XCommSubsystem class UndefinedPart | ||
452 | " | ||
453 | fontSize 14 | ||
454 | fontName "Consolas" | ||
455 | alignment "left" | ||
456 | anchor "tl" | ||
457 | borderDistance 6 | ||
458 | ] | ||
459 | ] | ||
460 | |||
461 | node | ||
462 | [ | ||
463 | id 12 | ||
464 | graphics | ||
465 | [ | ||
466 | w 269.5 | ||
467 | h 68 | ||
468 | type "rectangle" | ||
469 | fill "#FFFFFF" | ||
470 | fill2 "#FFFFFF" | ||
471 | outline "#000000" | ||
472 | ] | ||
473 | LabelGraphics | ||
474 | [ | ||
475 | text "null" | ||
476 | outline "#000000" | ||
477 | fill "#FFFFFF" | ||
478 | fontSize 16 | ||
479 | fontName "Monospace" | ||
480 | autoSizePolicy "node_width" | ||
481 | anchor "t" | ||
482 | borderDistance 0.0 | ||
483 | ] | ||
484 | LabelGraphics | ||
485 | [ | ||
486 | text " | ||
487 | CommSubsystem class | ||
488 | UHFCommSubsystem class | ||
489 | CommSubsystem class UndefinedPart | ||
490 | " | ||
491 | fontSize 14 | ||
492 | fontName "Consolas" | ||
493 | alignment "left" | ||
494 | anchor "tl" | ||
495 | borderDistance 6 | ||
496 | ] | ||
497 | ] | ||
498 | |||
499 | node | ||
500 | [ | ||
501 | id 13 | ||
502 | graphics | ||
503 | [ | ||
504 | w 223.3 | ||
505 | h 54 | ||
506 | type "rectangle" | ||
507 | fill "#FFFFFF" | ||
508 | fill2 "#FFFFFF" | ||
509 | outline "#000000" | ||
510 | ] | ||
511 | LabelGraphics | ||
512 | [ | ||
513 | text "null" | ||
514 | outline "#000000" | ||
515 | fill "#FFFFFF" | ||
516 | fontSize 16 | ||
517 | fontName "Monospace" | ||
518 | autoSizePolicy "node_width" | ||
519 | anchor "t" | ||
520 | borderDistance 0.0 | ||
521 | ] | ||
522 | LabelGraphics | ||
523 | [ | ||
524 | text " | ||
525 | Payload class | ||
526 | InterferometryPayload class | ||
527 | " | ||
528 | fontSize 14 | ||
529 | fontName "Consolas" | ||
530 | alignment "left" | ||
531 | anchor "tl" | ||
532 | borderDistance 6 | ||
533 | ] | ||
534 | ] | ||
535 | |||
536 | node | ||
537 | [ | ||
538 | id 14 | ||
539 | graphics | ||
540 | [ | ||
541 | w 323.40000000000003 | ||
542 | h 82 | ||
543 | type "rectangle" | ||
544 | fill "#FFFFFF" | ||
545 | fill2 "#FFFFFF" | ||
546 | outline "#000000" | ||
547 | ] | ||
548 | LabelGraphics | ||
549 | [ | ||
550 | text "null" | ||
551 | outline "#000000" | ||
552 | fill "#FFFFFF" | ||
553 | fontSize 16 | ||
554 | fontName "Monospace" | ||
555 | autoSizePolicy "node_width" | ||
556 | anchor "t" | ||
557 | borderDistance 0.0 | ||
558 | ] | ||
559 | LabelGraphics | ||
560 | [ | ||
561 | text " | ||
562 | CommunicatingElement class | ||
563 | Spacecraft class | ||
564 | SmallSat class | ||
565 | CommunicatingElement class UndefinedPart | ||
566 | " | ||
567 | fontSize 14 | ||
568 | fontName "Consolas" | ||
569 | alignment "left" | ||
570 | anchor "tl" | ||
571 | borderDistance 6 | ||
572 | ] | ||
573 | ] | ||
574 | |||
575 | node | ||
576 | [ | ||
577 | id 15 | ||
578 | graphics | ||
579 | [ | ||
580 | w 269.5 | ||
581 | h 68 | ||
582 | type "rectangle" | ||
583 | fill "#FFFFFF" | ||
584 | fill2 "#FFFFFF" | ||
585 | outline "#000000" | ||
586 | ] | ||
587 | LabelGraphics | ||
588 | [ | ||
589 | text "null" | ||
590 | outline "#000000" | ||
591 | fill "#FFFFFF" | ||
592 | fontSize 16 | ||
593 | fontName "Monospace" | ||
594 | autoSizePolicy "node_width" | ||
595 | anchor "t" | ||
596 | borderDistance 0.0 | ||
597 | ] | ||
598 | LabelGraphics | ||
599 | [ | ||
600 | text " | ||
601 | CommSubsystem class | ||
602 | UHFCommSubsystem class | ||
603 | CommSubsystem class UndefinedPart | ||
604 | " | ||
605 | fontSize 14 | ||
606 | fontName "Consolas" | ||
607 | alignment "left" | ||
608 | anchor "tl" | ||
609 | borderDistance 6 | ||
610 | ] | ||
611 | ] | ||
612 | |||
613 | node | ||
614 | [ | ||
615 | id 16 | ||
616 | graphics | ||
617 | [ | ||
618 | w 284.90000000000003 | ||
619 | h 82 | ||
620 | type "rectangle" | ||
621 | fill "#FFFFFF" | ||
622 | fill2 "#FFFFFF" | ||
623 | outline "#000000" | ||
624 | ] | ||
625 | LabelGraphics | ||
626 | [ | ||
627 | text "null" | ||
628 | outline "#000000" | ||
629 | fill "#FFFFFF" | ||
630 | fontSize 16 | ||
631 | fontName "Monospace" | ||
632 | autoSizePolicy "node_width" | ||
633 | anchor "t" | ||
634 | borderDistance 0.0 | ||
635 | ] | ||
636 | LabelGraphics | ||
637 | [ | ||
638 | text " | ||
639 | CommSubsystem class | ||
640 | KaCommSubsystem class | ||
641 | CommSubsystem class UndefinedPart | ||
642 | KaCommSubsystem class UndefinedPart | ||
643 | " | ||
644 | fontSize 14 | ||
645 | fontName "Consolas" | ||
646 | alignment "left" | ||
647 | anchor "tl" | ||
648 | borderDistance 6 | ||
649 | ] | ||
650 | ] | ||
651 | |||
652 | node | ||
653 | [ | ||
654 | id 17 | ||
655 | graphics | ||
656 | [ | ||
657 | w 223.3 | ||
658 | h 54 | ||
659 | type "rectangle" | ||
660 | fill "#FFFFFF" | ||
661 | fill2 "#FFFFFF" | ||
662 | outline "#000000" | ||
663 | ] | ||
664 | LabelGraphics | ||
665 | [ | ||
666 | text "null" | ||
667 | outline "#000000" | ||
668 | fill "#FFFFFF" | ||
669 | fontSize 16 | ||
670 | fontName "Monospace" | ||
671 | autoSizePolicy "node_width" | ||
672 | anchor "t" | ||
673 | borderDistance 0.0 | ||
674 | ] | ||
675 | LabelGraphics | ||
676 | [ | ||
677 | text " | ||
678 | Payload class | ||
679 | InterferometryPayload class | ||
680 | " | ||
681 | fontSize 14 | ||
682 | fontName "Consolas" | ||
683 | alignment "left" | ||
684 | anchor "tl" | ||
685 | borderDistance 6 | ||
686 | ] | ||
687 | ] | ||
688 | |||
689 | node | ||
690 | [ | ||
691 | id 18 | ||
692 | graphics | ||
693 | [ | ||
694 | w 323.40000000000003 | ||
695 | h 96 | ||
696 | type "rectangle" | ||
697 | fill "#FFFFFF" | ||
698 | fill2 "#FFFFFF" | ||
699 | outline "#000000" | ||
700 | ] | ||
701 | LabelGraphics | ||
702 | [ | ||
703 | text "null" | ||
704 | outline "#000000" | ||
705 | fill "#FFFFFF" | ||
706 | fontSize 16 | ||
707 | fontName "Monospace" | ||
708 | autoSizePolicy "node_width" | ||
709 | anchor "t" | ||
710 | borderDistance 0.0 | ||
711 | ] | ||
712 | LabelGraphics | ||
713 | [ | ||
714 | text " | ||
715 | CommunicatingElement class | ||
716 | Spacecraft class | ||
717 | CubeSat6U class | ||
718 | CubeSat class | ||
719 | CommunicatingElement class UndefinedPart | ||
720 | " | ||
721 | fontSize 14 | ||
722 | fontName "Consolas" | ||
723 | alignment "left" | ||
724 | anchor "tl" | ||
725 | borderDistance 6 | ||
726 | ] | ||
727 | ] | ||
728 | |||
729 | node | ||
730 | [ | ||
731 | id 19 | ||
732 | graphics | ||
733 | [ | ||
734 | w 277.20000000000005 | ||
735 | h 82 | ||
736 | type "rectangle" | ||
737 | fill "#FFFFFF" | ||
738 | fill2 "#FFFFFF" | ||
739 | outline "#000000" | ||
740 | ] | ||
741 | LabelGraphics | ||
742 | [ | ||
743 | text "null" | ||
744 | outline "#000000" | ||
745 | fill "#FFFFFF" | ||
746 | fontSize 16 | ||
747 | fontName "Monospace" | ||
748 | autoSizePolicy "node_width" | ||
749 | anchor "t" | ||
750 | borderDistance 0.0 | ||
751 | ] | ||
752 | LabelGraphics | ||
753 | [ | ||
754 | text " | ||
755 | CommSubsystem class | ||
756 | XCommSubsystem class | ||
757 | CommSubsystem class UndefinedPart | ||
758 | XCommSubsystem class UndefinedPart | ||
759 | " | ||
760 | fontSize 14 | ||
761 | fontName "Consolas" | ||
762 | alignment "left" | ||
763 | anchor "tl" | ||
764 | borderDistance 6 | ||
765 | ] | ||
766 | ] | ||
767 | |||
768 | node | ||
769 | [ | ||
770 | id 20 | ||
771 | graphics | ||
772 | [ | ||
773 | w 277.20000000000005 | ||
774 | h 82 | ||
775 | type "rectangle" | ||
776 | fill "#FFFFFF" | ||
777 | fill2 "#FFFFFF" | ||
778 | outline "#000000" | ||
779 | ] | ||
780 | LabelGraphics | ||
781 | [ | ||
782 | text "null" | ||
783 | outline "#000000" | ||
784 | fill "#FFFFFF" | ||
785 | fontSize 16 | ||
786 | fontName "Monospace" | ||
787 | autoSizePolicy "node_width" | ||
788 | anchor "t" | ||
789 | borderDistance 0.0 | ||
790 | ] | ||
791 | LabelGraphics | ||
792 | [ | ||
793 | text " | ||
794 | CommSubsystem class | ||
795 | XCommSubsystem class | ||
796 | CommSubsystem class UndefinedPart | ||
797 | XCommSubsystem class UndefinedPart | ||
798 | " | ||
799 | fontSize 14 | ||
800 | fontName "Consolas" | ||
801 | alignment "left" | ||
802 | anchor "tl" | ||
803 | borderDistance 6 | ||
804 | ] | ||
805 | ] | ||
806 | |||
807 | node | ||
808 | [ | ||
809 | id 21 | ||
810 | graphics | ||
811 | [ | ||
812 | w 223.3 | ||
813 | h 54 | ||
814 | type "rectangle" | ||
815 | fill "#FFFFFF" | ||
816 | fill2 "#FFFFFF" | ||
817 | outline "#000000" | ||
818 | ] | ||
819 | LabelGraphics | ||
820 | [ | ||
821 | text "null" | ||
822 | outline "#000000" | ||
823 | fill "#FFFFFF" | ||
824 | fontSize 16 | ||
825 | fontName "Monospace" | ||
826 | autoSizePolicy "node_width" | ||
827 | anchor "t" | ||
828 | borderDistance 0.0 | ||
829 | ] | ||
830 | LabelGraphics | ||
831 | [ | ||
832 | text " | ||
833 | Payload class | ||
834 | InterferometryPayload class | ||
835 | " | ||
836 | fontSize 14 | ||
837 | fontName "Consolas" | ||
838 | alignment "left" | ||
839 | anchor "tl" | ||
840 | borderDistance 6 | ||
841 | ] | ||
842 | ] | ||
843 | |||
844 | node | ||
845 | [ | ||
846 | id 22 | ||
847 | graphics | ||
848 | [ | ||
849 | w 323.40000000000003 | ||
850 | h 96 | ||
851 | type "rectangle" | ||
852 | fill "#FFFFFF" | ||
853 | fill2 "#FFFFFF" | ||
854 | outline "#000000" | ||
855 | ] | ||
856 | LabelGraphics | ||
857 | [ | ||
858 | text "null" | ||
859 | outline "#000000" | ||
860 | fill "#FFFFFF" | ||
861 | fontSize 16 | ||
862 | fontName "Monospace" | ||
863 | autoSizePolicy "node_width" | ||
864 | anchor "t" | ||
865 | borderDistance 0.0 | ||
866 | ] | ||
867 | LabelGraphics | ||
868 | [ | ||
869 | text " | ||
870 | CommunicatingElement class | ||
871 | Spacecraft class | ||
872 | CubeSat3U class | ||
873 | CubeSat class | ||
874 | CommunicatingElement class UndefinedPart | ||
875 | " | ||
876 | fontSize 14 | ||
877 | fontName "Consolas" | ||
878 | alignment "left" | ||
879 | anchor "tl" | ||
880 | borderDistance 6 | ||
881 | ] | ||
882 | ] | ||
883 | |||
884 | node | ||
885 | [ | ||
886 | id 23 | ||
887 | graphics | ||
888 | [ | ||
889 | w 269.5 | ||
890 | h 68 | ||
891 | type "rectangle" | ||
892 | fill "#FFFFFF" | ||
893 | fill2 "#FFFFFF" | ||
894 | outline "#000000" | ||
895 | ] | ||
896 | LabelGraphics | ||
897 | [ | ||
898 | text "null" | ||
899 | outline "#000000" | ||
900 | fill "#FFFFFF" | ||
901 | fontSize 16 | ||
902 | fontName "Monospace" | ||
903 | autoSizePolicy "node_width" | ||
904 | anchor "t" | ||
905 | borderDistance 0.0 | ||
906 | ] | ||
907 | LabelGraphics | ||
908 | [ | ||
909 | text " | ||
910 | CommSubsystem class | ||
911 | UHFCommSubsystem class | ||
912 | CommSubsystem class UndefinedPart | ||
913 | " | ||
914 | fontSize 14 | ||
915 | fontName "Consolas" | ||
916 | alignment "left" | ||
917 | anchor "tl" | ||
918 | borderDistance 6 | ||
919 | ] | ||
920 | ] | ||
921 | |||
922 | node | ||
923 | [ | ||
924 | id 24 | ||
925 | graphics | ||
926 | [ | ||
927 | w 277.20000000000005 | ||
928 | h 82 | ||
929 | type "rectangle" | ||
930 | fill "#FFFFFF" | ||
931 | fill2 "#FFFFFF" | ||
932 | outline "#000000" | ||
933 | ] | ||
934 | LabelGraphics | ||
935 | [ | ||
936 | text "null" | ||
937 | outline "#000000" | ||
938 | fill "#FFFFFF" | ||
939 | fontSize 16 | ||
940 | fontName "Monospace" | ||
941 | autoSizePolicy "node_width" | ||
942 | anchor "t" | ||
943 | borderDistance 0.0 | ||
944 | ] | ||
945 | LabelGraphics | ||
946 | [ | ||
947 | text " | ||
948 | CommSubsystem class | ||
949 | XCommSubsystem class | ||
950 | CommSubsystem class UndefinedPart | ||
951 | XCommSubsystem class UndefinedPart | ||
952 | " | ||
953 | fontSize 14 | ||
954 | fontName "Consolas" | ||
955 | alignment "left" | ||
956 | anchor "tl" | ||
957 | borderDistance 6 | ||
958 | ] | ||
959 | ] | ||
960 | |||
961 | node | ||
962 | [ | ||
963 | id 25 | ||
964 | graphics | ||
965 | [ | ||
966 | w 223.3 | ||
967 | h 54 | ||
968 | type "rectangle" | ||
969 | fill "#FFFFFF" | ||
970 | fill2 "#FFFFFF" | ||
971 | outline "#000000" | ||
972 | ] | ||
973 | LabelGraphics | ||
974 | [ | ||
975 | text "null" | ||
976 | outline "#000000" | ||
977 | fill "#FFFFFF" | ||
978 | fontSize 16 | ||
979 | fontName "Monospace" | ||
980 | autoSizePolicy "node_width" | ||
981 | anchor "t" | ||
982 | borderDistance 0.0 | ||
983 | ] | ||
984 | LabelGraphics | ||
985 | [ | ||
986 | text " | ||
987 | Payload class | ||
988 | InterferometryPayload class | ||
989 | " | ||
990 | fontSize 14 | ||
991 | fontName "Consolas" | ||
992 | alignment "left" | ||
993 | anchor "tl" | ||
994 | borderDistance 6 | ||
995 | ] | ||
996 | ] | ||
997 | |||
998 | node | ||
999 | [ | ||
1000 | id 26 | ||
1001 | graphics | ||
1002 | [ | ||
1003 | w 323.40000000000003 | ||
1004 | h 96 | ||
1005 | type "rectangle" | ||
1006 | fill "#FFFFFF" | ||
1007 | fill2 "#FFFFFF" | ||
1008 | outline "#000000" | ||
1009 | ] | ||
1010 | LabelGraphics | ||
1011 | [ | ||
1012 | text "null" | ||
1013 | outline "#000000" | ||
1014 | fill "#FFFFFF" | ||
1015 | fontSize 16 | ||
1016 | fontName "Monospace" | ||
1017 | autoSizePolicy "node_width" | ||
1018 | anchor "t" | ||
1019 | borderDistance 0.0 | ||
1020 | ] | ||
1021 | LabelGraphics | ||
1022 | [ | ||
1023 | text " | ||
1024 | CommunicatingElement class | ||
1025 | Spacecraft class | ||
1026 | CubeSat3U class | ||
1027 | CubeSat class | ||
1028 | CommunicatingElement class UndefinedPart | ||
1029 | " | ||
1030 | fontSize 14 | ||
1031 | fontName "Consolas" | ||
1032 | alignment "left" | ||
1033 | anchor "tl" | ||
1034 | borderDistance 6 | ||
1035 | ] | ||
1036 | ] | ||
1037 | |||
1038 | node | ||
1039 | [ | ||
1040 | id 27 | ||
1041 | graphics | ||
1042 | [ | ||
1043 | w 269.5 | ||
1044 | h 68 | ||
1045 | type "rectangle" | ||
1046 | fill "#FFFFFF" | ||
1047 | fill2 "#FFFFFF" | ||
1048 | outline "#000000" | ||
1049 | ] | ||
1050 | LabelGraphics | ||
1051 | [ | ||
1052 | text "null" | ||
1053 | outline "#000000" | ||
1054 | fill "#FFFFFF" | ||
1055 | fontSize 16 | ||
1056 | fontName "Monospace" | ||
1057 | autoSizePolicy "node_width" | ||
1058 | anchor "t" | ||
1059 | borderDistance 0.0 | ||
1060 | ] | ||
1061 | LabelGraphics | ||
1062 | [ | ||
1063 | text " | ||
1064 | CommSubsystem class | ||
1065 | UHFCommSubsystem class | ||
1066 | CommSubsystem class UndefinedPart | ||
1067 | " | ||
1068 | fontSize 14 | ||
1069 | fontName "Consolas" | ||
1070 | alignment "left" | ||
1071 | anchor "tl" | ||
1072 | borderDistance 6 | ||
1073 | ] | ||
1074 | ] | ||
1075 | |||
1076 | node | ||
1077 | [ | ||
1078 | id 28 | ||
1079 | graphics | ||
1080 | [ | ||
1081 | w 277.20000000000005 | ||
1082 | h 82 | ||
1083 | type "rectangle" | ||
1084 | fill "#FFFFFF" | ||
1085 | fill2 "#FFFFFF" | ||
1086 | outline "#000000" | ||
1087 | ] | ||
1088 | LabelGraphics | ||
1089 | [ | ||
1090 | text "null" | ||
1091 | outline "#000000" | ||
1092 | fill "#FFFFFF" | ||
1093 | fontSize 16 | ||
1094 | fontName "Monospace" | ||
1095 | autoSizePolicy "node_width" | ||
1096 | anchor "t" | ||
1097 | borderDistance 0.0 | ||
1098 | ] | ||
1099 | LabelGraphics | ||
1100 | [ | ||
1101 | text " | ||
1102 | CommSubsystem class | ||
1103 | XCommSubsystem class | ||
1104 | CommSubsystem class UndefinedPart | ||
1105 | XCommSubsystem class UndefinedPart | ||
1106 | " | ||
1107 | fontSize 14 | ||
1108 | fontName "Consolas" | ||
1109 | alignment "left" | ||
1110 | anchor "tl" | ||
1111 | borderDistance 6 | ||
1112 | ] | ||
1113 | ] | ||
1114 | |||
1115 | node | ||
1116 | [ | ||
1117 | id 29 | ||
1118 | graphics | ||
1119 | [ | ||
1120 | w 223.3 | ||
1121 | h 54 | ||
1122 | type "rectangle" | ||
1123 | fill "#FFFFFF" | ||
1124 | fill2 "#FFFFFF" | ||
1125 | outline "#000000" | ||
1126 | ] | ||
1127 | LabelGraphics | ||
1128 | [ | ||
1129 | text "null" | ||
1130 | outline "#000000" | ||
1131 | fill "#FFFFFF" | ||
1132 | fontSize 16 | ||
1133 | fontName "Monospace" | ||
1134 | autoSizePolicy "node_width" | ||
1135 | anchor "t" | ||
1136 | borderDistance 0.0 | ||
1137 | ] | ||
1138 | LabelGraphics | ||
1139 | [ | ||
1140 | text " | ||
1141 | Payload class | ||
1142 | InterferometryPayload class | ||
1143 | " | ||
1144 | fontSize 14 | ||
1145 | fontName "Consolas" | ||
1146 | alignment "left" | ||
1147 | anchor "tl" | ||
1148 | borderDistance 6 | ||
1149 | ] | ||
1150 | ] | ||
1151 | |||
1152 | node | ||
1153 | [ | ||
1154 | id 30 | ||
1155 | graphics | ||
1156 | [ | ||
1157 | w 323.40000000000003 | ||
1158 | h 96 | ||
1159 | type "rectangle" | ||
1160 | fill "#FFFFFF" | ||
1161 | fill2 "#FFFFFF" | ||
1162 | outline "#000000" | ||
1163 | ] | ||
1164 | LabelGraphics | ||
1165 | [ | ||
1166 | text "null" | ||
1167 | outline "#000000" | ||
1168 | fill "#FFFFFF" | ||
1169 | fontSize 16 | ||
1170 | fontName "Monospace" | ||
1171 | autoSizePolicy "node_width" | ||
1172 | anchor "t" | ||
1173 | borderDistance 0.0 | ||
1174 | ] | ||
1175 | LabelGraphics | ||
1176 | [ | ||
1177 | text " | ||
1178 | CommunicatingElement class | ||
1179 | Spacecraft class | ||
1180 | CubeSat3U class | ||
1181 | CubeSat class | ||
1182 | CommunicatingElement class UndefinedPart | ||
1183 | " | ||
1184 | fontSize 14 | ||
1185 | fontName "Consolas" | ||
1186 | alignment "left" | ||
1187 | anchor "tl" | ||
1188 | borderDistance 6 | ||
1189 | ] | ||
1190 | ] | ||
1191 | |||
1192 | node | ||
1193 | [ | ||
1194 | id 31 | ||
1195 | graphics | ||
1196 | [ | ||
1197 | w 223.3 | ||
1198 | h 54 | ||
1199 | type "rectangle" | ||
1200 | fill "#FFFFFF" | ||
1201 | fill2 "#FFFFFF" | ||
1202 | outline "#000000" | ||
1203 | ] | ||
1204 | LabelGraphics | ||
1205 | [ | ||
1206 | text "null" | ||
1207 | outline "#000000" | ||
1208 | fill "#FFFFFF" | ||
1209 | fontSize 16 | ||
1210 | fontName "Monospace" | ||
1211 | autoSizePolicy "node_width" | ||
1212 | anchor "t" | ||
1213 | borderDistance 0.0 | ||
1214 | ] | ||
1215 | LabelGraphics | ||
1216 | [ | ||
1217 | text " | ||
1218 | Payload class | ||
1219 | InterferometryPayload class | ||
1220 | " | ||
1221 | fontSize 14 | ||
1222 | fontName "Consolas" | ||
1223 | alignment "left" | ||
1224 | anchor "tl" | ||
1225 | borderDistance 6 | ||
1226 | ] | ||
1227 | ] | ||
1228 | |||
1229 | node | ||
1230 | [ | ||
1231 | id 32 | ||
1232 | graphics | ||
1233 | [ | ||
1234 | w 269.5 | ||
1235 | h 68 | ||
1236 | type "rectangle" | ||
1237 | fill "#FFFFFF" | ||
1238 | fill2 "#FFFFFF" | ||
1239 | outline "#000000" | ||
1240 | ] | ||
1241 | LabelGraphics | ||
1242 | [ | ||
1243 | text "null" | ||
1244 | outline "#000000" | ||
1245 | fill "#FFFFFF" | ||
1246 | fontSize 16 | ||
1247 | fontName "Monospace" | ||
1248 | autoSizePolicy "node_width" | ||
1249 | anchor "t" | ||
1250 | borderDistance 0.0 | ||
1251 | ] | ||
1252 | LabelGraphics | ||
1253 | [ | ||
1254 | text " | ||
1255 | CommSubsystem class | ||
1256 | UHFCommSubsystem class | ||
1257 | CommSubsystem class UndefinedPart | ||
1258 | " | ||
1259 | fontSize 14 | ||
1260 | fontName "Consolas" | ||
1261 | alignment "left" | ||
1262 | anchor "tl" | ||
1263 | borderDistance 6 | ||
1264 | ] | ||
1265 | ] | ||
1266 | |||
1267 | node | ||
1268 | [ | ||
1269 | id 33 | ||
1270 | graphics | ||
1271 | [ | ||
1272 | w 277.20000000000005 | ||
1273 | h 82 | ||
1274 | type "rectangle" | ||
1275 | fill "#FFFFFF" | ||
1276 | fill2 "#FFFFFF" | ||
1277 | outline "#000000" | ||
1278 | ] | ||
1279 | LabelGraphics | ||
1280 | [ | ||
1281 | text "null" | ||
1282 | outline "#000000" | ||
1283 | fill "#FFFFFF" | ||
1284 | fontSize 16 | ||
1285 | fontName "Monospace" | ||
1286 | autoSizePolicy "node_width" | ||
1287 | anchor "t" | ||
1288 | borderDistance 0.0 | ||
1289 | ] | ||
1290 | LabelGraphics | ||
1291 | [ | ||
1292 | text " | ||
1293 | CommSubsystem class | ||
1294 | XCommSubsystem class | ||
1295 | CommSubsystem class UndefinedPart | ||
1296 | XCommSubsystem class UndefinedPart | ||
1297 | " | ||
1298 | fontSize 14 | ||
1299 | fontName "Consolas" | ||
1300 | alignment "left" | ||
1301 | anchor "tl" | ||
1302 | borderDistance 6 | ||
1303 | ] | ||
1304 | ] | ||
1305 | |||
1306 | node | ||
1307 | [ | ||
1308 | id 34 | ||
1309 | graphics | ||
1310 | [ | ||
1311 | w 323.40000000000003 | ||
1312 | h 82 | ||
1313 | type "rectangle" | ||
1314 | fill "#FFFFFF" | ||
1315 | fill2 "#FFFFFF" | ||
1316 | outline "#000000" | ||
1317 | ] | ||
1318 | LabelGraphics | ||
1319 | [ | ||
1320 | text "null" | ||
1321 | outline "#000000" | ||
1322 | fill "#FFFFFF" | ||
1323 | fontSize 16 | ||
1324 | fontName "Monospace" | ||
1325 | autoSizePolicy "node_width" | ||
1326 | anchor "t" | ||
1327 | borderDistance 0.0 | ||
1328 | ] | ||
1329 | LabelGraphics | ||
1330 | [ | ||
1331 | text " | ||
1332 | CommunicatingElement class | ||
1333 | Spacecraft class | ||
1334 | SmallSat class | ||
1335 | CommunicatingElement class UndefinedPart | ||
1336 | " | ||
1337 | fontSize 14 | ||
1338 | fontName "Consolas" | ||
1339 | alignment "left" | ||
1340 | anchor "tl" | ||
1341 | borderDistance 6 | ||
1342 | ] | ||
1343 | ] | ||
1344 | |||
1345 | node | ||
1346 | [ | ||
1347 | id 35 | ||
1348 | graphics | ||
1349 | [ | ||
1350 | w 284.90000000000003 | ||
1351 | h 82 | ||
1352 | type "rectangle" | ||
1353 | fill "#FFFFFF" | ||
1354 | fill2 "#FFFFFF" | ||
1355 | outline "#000000" | ||
1356 | ] | ||
1357 | LabelGraphics | ||
1358 | [ | ||
1359 | text "null" | ||
1360 | outline "#000000" | ||
1361 | fill "#FFFFFF" | ||
1362 | fontSize 16 | ||
1363 | fontName "Monospace" | ||
1364 | autoSizePolicy "node_width" | ||
1365 | anchor "t" | ||
1366 | borderDistance 0.0 | ||
1367 | ] | ||
1368 | LabelGraphics | ||
1369 | [ | ||
1370 | text " | ||
1371 | CommSubsystem class | ||
1372 | KaCommSubsystem class | ||
1373 | CommSubsystem class UndefinedPart | ||
1374 | KaCommSubsystem class UndefinedPart | ||
1375 | " | ||
1376 | fontSize 14 | ||
1377 | fontName "Consolas" | ||
1378 | alignment "left" | ||
1379 | anchor "tl" | ||
1380 | borderDistance 6 | ||
1381 | ] | ||
1382 | ] | ||
1383 | |||
1384 | node | ||
1385 | [ | ||
1386 | id 36 | ||
1387 | graphics | ||
1388 | [ | ||
1389 | w 223.3 | ||
1390 | h 54 | ||
1391 | type "rectangle" | ||
1392 | fill "#FFFFFF" | ||
1393 | fill2 "#FFFFFF" | ||
1394 | outline "#000000" | ||
1395 | ] | ||
1396 | LabelGraphics | ||
1397 | [ | ||
1398 | text "null" | ||
1399 | outline "#000000" | ||
1400 | fill "#FFFFFF" | ||
1401 | fontSize 16 | ||
1402 | fontName "Monospace" | ||
1403 | autoSizePolicy "node_width" | ||
1404 | anchor "t" | ||
1405 | borderDistance 0.0 | ||
1406 | ] | ||
1407 | LabelGraphics | ||
1408 | [ | ||
1409 | text " | ||
1410 | Payload class | ||
1411 | InterferometryPayload class | ||
1412 | " | ||
1413 | fontSize 14 | ||
1414 | fontName "Consolas" | ||
1415 | alignment "left" | ||
1416 | anchor "tl" | ||
1417 | borderDistance 6 | ||
1418 | ] | ||
1419 | ] | ||
1420 | |||
1421 | node | ||
1422 | [ | ||
1423 | id 37 | ||
1424 | graphics | ||
1425 | [ | ||
1426 | w 277.20000000000005 | ||
1427 | h 82 | ||
1428 | type "rectangle" | ||
1429 | fill "#FFFFFF" | ||
1430 | fill2 "#FFFFFF" | ||
1431 | outline "#000000" | ||
1432 | ] | ||
1433 | LabelGraphics | ||
1434 | [ | ||
1435 | text "null" | ||
1436 | outline "#000000" | ||
1437 | fill "#FFFFFF" | ||
1438 | fontSize 16 | ||
1439 | fontName "Monospace" | ||
1440 | autoSizePolicy "node_width" | ||
1441 | anchor "t" | ||
1442 | borderDistance 0.0 | ||
1443 | ] | ||
1444 | LabelGraphics | ||
1445 | [ | ||
1446 | text " | ||
1447 | CommSubsystem class | ||
1448 | XCommSubsystem class | ||
1449 | CommSubsystem class UndefinedPart | ||
1450 | XCommSubsystem class UndefinedPart | ||
1451 | " | ||
1452 | fontSize 14 | ||
1453 | fontName "Consolas" | ||
1454 | alignment "left" | ||
1455 | anchor "tl" | ||
1456 | borderDistance 6 | ||
1457 | ] | ||
1458 | ] | ||
1459 | |||
1460 | node | ||
1461 | [ | ||
1462 | id 38 | ||
1463 | graphics | ||
1464 | [ | ||
1465 | w 112.2 | ||
1466 | h 26 | ||
1467 | type "rectangle" | ||
1468 | fill "#FFFFFF" | ||
1469 | fill2 "#FFFFFF" | ||
1470 | outline "#000000" | ||
1471 | ] | ||
1472 | LabelGraphics | ||
1473 | [ | ||
1474 | text "New Integers" | ||
1475 | outline "#000000" | ||
1476 | fill "#FFFFFF" | ||
1477 | fontSize 16 | ||
1478 | fontName "Monospace" | ||
1479 | autoSizePolicy "node_width" | ||
1480 | anchor "t" | ||
1481 | borderDistance 0.0 | ||
1482 | ] | ||
1483 | LabelGraphics | ||
1484 | [ | ||
1485 | text " | ||
1486 | " | ||
1487 | fontSize 14 | ||
1488 | fontName "Consolas" | ||
1489 | alignment "left" | ||
1490 | anchor "tl" | ||
1491 | borderDistance 6 | ||
1492 | ] | ||
1493 | ] | ||
1494 | |||
1495 | node | ||
1496 | [ | ||
1497 | id 39 | ||
1498 | graphics | ||
1499 | [ | ||
1500 | w 85.80000000000001 | ||
1501 | h 26 | ||
1502 | type "rectangle" | ||
1503 | fill "#FFFFFF" | ||
1504 | fill2 "#FFFFFF" | ||
1505 | outline "#000000" | ||
1506 | ] | ||
1507 | LabelGraphics | ||
1508 | [ | ||
1509 | text "New Reals" | ||
1510 | outline "#000000" | ||
1511 | fill "#FFFFFF" | ||
1512 | fontSize 16 | ||
1513 | fontName "Monospace" | ||
1514 | autoSizePolicy "node_width" | ||
1515 | anchor "t" | ||
1516 | borderDistance 0.0 | ||
1517 | ] | ||
1518 | LabelGraphics | ||
1519 | [ | ||
1520 | text " | ||
1521 | " | ||
1522 | fontSize 14 | ||
1523 | fontName "Consolas" | ||
1524 | alignment "left" | ||
1525 | anchor "tl" | ||
1526 | borderDistance 6 | ||
1527 | ] | ||
1528 | ] | ||
1529 | |||
1530 | node | ||
1531 | [ | ||
1532 | id 40 | ||
1533 | graphics | ||
1534 | [ | ||
1535 | w 103.4 | ||
1536 | h 26 | ||
1537 | type "rectangle" | ||
1538 | fill "#FFFFFF" | ||
1539 | fill2 "#FFFFFF" | ||
1540 | outline "#000000" | ||
1541 | ] | ||
1542 | LabelGraphics | ||
1543 | [ | ||
1544 | text "New Strings" | ||
1545 | outline "#000000" | ||
1546 | fill "#FFFFFF" | ||
1547 | fontSize 16 | ||
1548 | fontName "Monospace" | ||
1549 | autoSizePolicy "node_width" | ||
1550 | anchor "t" | ||
1551 | borderDistance 0.0 | ||
1552 | ] | ||
1553 | LabelGraphics | ||
1554 | [ | ||
1555 | text " | ||
1556 | " | ||
1557 | fontSize 14 | ||
1558 | fontName "Consolas" | ||
1559 | alignment "left" | ||
1560 | anchor "tl" | ||
1561 | borderDistance 6 | ||
1562 | ] | ||
1563 | ] | ||
1564 | |||
1565 | node | ||
1566 | [ | ||
1567 | id 41 | ||
1568 | graphics | ||
1569 | [ | ||
1570 | w 103.4 | ||
1571 | h 26 | ||
1572 | type "rectangle" | ||
1573 | fill "#FFFFFF" | ||
1574 | fill2 "#FFFFFF" | ||
1575 | outline "#000000" | ||
1576 | ] | ||
1577 | LabelGraphics | ||
1578 | [ | ||
1579 | text "New Objects" | ||
1580 | outline "#000000" | ||
1581 | fill "#FFFFFF" | ||
1582 | fontSize 16 | ||
1583 | fontName "Monospace" | ||
1584 | autoSizePolicy "node_width" | ||
1585 | anchor "t" | ||
1586 | borderDistance 0.0 | ||
1587 | ] | ||
1588 | LabelGraphics | ||
1589 | [ | ||
1590 | text " | ||
1591 | " | ||
1592 | fontSize 14 | ||
1593 | fontName "Consolas" | ||
1594 | alignment "left" | ||
1595 | anchor "tl" | ||
1596 | borderDistance 6 | ||
1597 | ] | ||
1598 | ] | ||
1599 | edge | ||
1600 | [ | ||
1601 | source 0 | ||
1602 | target 1 | ||
1603 | graphics | ||
1604 | [ | ||
1605 | fill "#000000" | ||
1606 | width 3 | ||
1607 | targetArrow "standard" | ||
1608 | ] | ||
1609 | LabelGraphics | ||
1610 | [ | ||
1611 | text "groundStationNetwork reference ConstellationMission" | ||
1612 | fontSize 14 | ||
1613 | fontName "Consolas" | ||
1614 | configuration "AutoFlippingLabel" | ||
1615 | model "six_pos" | ||
1616 | position "thead" | ||
1617 | ] | ||
1618 | ] | ||
1619 | edge | ||
1620 | [ | ||
1621 | source 0 | ||
1622 | target 6 | ||
1623 | graphics | ||
1624 | [ | ||
1625 | fill "#000000" | ||
1626 | width 3 | ||
1627 | targetArrow "standard" | ||
1628 | ] | ||
1629 | LabelGraphics | ||
1630 | [ | ||
1631 | text "spacecraft reference ConstellationMission" | ||
1632 | fontSize 14 | ||
1633 | fontName "Consolas" | ||
1634 | configuration "AutoFlippingLabel" | ||
1635 | model "six_pos" | ||
1636 | position "thead" | ||
1637 | ] | ||
1638 | ] | ||
1639 | edge | ||
1640 | [ | ||
1641 | source 0 | ||
1642 | target 10 | ||
1643 | graphics | ||
1644 | [ | ||
1645 | fill "#000000" | ||
1646 | width 3 | ||
1647 | targetArrow "standard" | ||
1648 | ] | ||
1649 | LabelGraphics | ||
1650 | [ | ||
1651 | text "spacecraft reference ConstellationMission" | ||
1652 | fontSize 14 | ||
1653 | fontName "Consolas" | ||
1654 | configuration "AutoFlippingLabel" | ||
1655 | model "six_pos" | ||
1656 | position "thead" | ||
1657 | ] | ||
1658 | ] | ||
1659 | edge | ||
1660 | [ | ||
1661 | source 0 | ||
1662 | target 14 | ||
1663 | graphics | ||
1664 | [ | ||
1665 | fill "#000000" | ||
1666 | width 3 | ||
1667 | targetArrow "standard" | ||
1668 | ] | ||
1669 | LabelGraphics | ||
1670 | [ | ||
1671 | text "spacecraft reference ConstellationMission" | ||
1672 | fontSize 14 | ||
1673 | fontName "Consolas" | ||
1674 | configuration "AutoFlippingLabel" | ||
1675 | model "six_pos" | ||
1676 | position "thead" | ||
1677 | ] | ||
1678 | ] | ||
1679 | edge | ||
1680 | [ | ||
1681 | source 0 | ||
1682 | target 18 | ||
1683 | graphics | ||
1684 | [ | ||
1685 | fill "#000000" | ||
1686 | width 3 | ||
1687 | targetArrow "standard" | ||
1688 | ] | ||
1689 | LabelGraphics | ||
1690 | [ | ||
1691 | text "spacecraft reference ConstellationMission" | ||
1692 | fontSize 14 | ||
1693 | fontName "Consolas" | ||
1694 | configuration "AutoFlippingLabel" | ||
1695 | model "six_pos" | ||
1696 | position "thead" | ||
1697 | ] | ||
1698 | ] | ||
1699 | edge | ||
1700 | [ | ||
1701 | source 0 | ||
1702 | target 22 | ||
1703 | graphics | ||
1704 | [ | ||
1705 | fill "#000000" | ||
1706 | width 3 | ||
1707 | targetArrow "standard" | ||
1708 | ] | ||
1709 | LabelGraphics | ||
1710 | [ | ||
1711 | text "spacecraft reference ConstellationMission" | ||
1712 | fontSize 14 | ||
1713 | fontName "Consolas" | ||
1714 | configuration "AutoFlippingLabel" | ||
1715 | model "six_pos" | ||
1716 | position "thead" | ||
1717 | ] | ||
1718 | ] | ||
1719 | edge | ||
1720 | [ | ||
1721 | source 0 | ||
1722 | target 26 | ||
1723 | graphics | ||
1724 | [ | ||
1725 | fill "#000000" | ||
1726 | width 3 | ||
1727 | targetArrow "standard" | ||
1728 | ] | ||
1729 | LabelGraphics | ||
1730 | [ | ||
1731 | text "spacecraft reference ConstellationMission" | ||
1732 | fontSize 14 | ||
1733 | fontName "Consolas" | ||
1734 | configuration "AutoFlippingLabel" | ||
1735 | model "six_pos" | ||
1736 | position "thead" | ||
1737 | ] | ||
1738 | ] | ||
1739 | edge | ||
1740 | [ | ||
1741 | source 0 | ||
1742 | target 30 | ||
1743 | graphics | ||
1744 | [ | ||
1745 | fill "#000000" | ||
1746 | width 3 | ||
1747 | targetArrow "standard" | ||
1748 | ] | ||
1749 | LabelGraphics | ||
1750 | [ | ||
1751 | text "spacecraft reference ConstellationMission" | ||
1752 | fontSize 14 | ||
1753 | fontName "Consolas" | ||
1754 | configuration "AutoFlippingLabel" | ||
1755 | model "six_pos" | ||
1756 | position "thead" | ||
1757 | ] | ||
1758 | ] | ||
1759 | edge | ||
1760 | [ | ||
1761 | source 0 | ||
1762 | target 34 | ||
1763 | graphics | ||
1764 | [ | ||
1765 | fill "#000000" | ||
1766 | width 3 | ||
1767 | targetArrow "standard" | ||
1768 | ] | ||
1769 | LabelGraphics | ||
1770 | [ | ||
1771 | text "spacecraft reference ConstellationMission" | ||
1772 | fontSize 14 | ||
1773 | fontName "Consolas" | ||
1774 | configuration "AutoFlippingLabel" | ||
1775 | model "six_pos" | ||
1776 | position "thead" | ||
1777 | ] | ||
1778 | ] | ||
1779 | edge | ||
1780 | [ | ||
1781 | source 1 | ||
1782 | target 2 | ||
1783 | graphics | ||
1784 | [ | ||
1785 | fill "#000000" | ||
1786 | width 3 | ||
1787 | targetArrow "standard" | ||
1788 | ] | ||
1789 | LabelGraphics | ||
1790 | [ | ||
1791 | text "commSubsystem reference CommunicatingElement" | ||
1792 | fontSize 14 | ||
1793 | fontName "Consolas" | ||
1794 | configuration "AutoFlippingLabel" | ||
1795 | model "six_pos" | ||
1796 | position "thead" | ||
1797 | ] | ||
1798 | ] | ||
1799 | edge | ||
1800 | [ | ||
1801 | source 1 | ||
1802 | target 3 | ||
1803 | graphics | ||
1804 | [ | ||
1805 | fill "#000000" | ||
1806 | width 3 | ||
1807 | targetArrow "standard" | ||
1808 | ] | ||
1809 | LabelGraphics | ||
1810 | [ | ||
1811 | text "commSubsystem reference CommunicatingElement" | ||
1812 | fontSize 14 | ||
1813 | fontName "Consolas" | ||
1814 | configuration "AutoFlippingLabel" | ||
1815 | model "six_pos" | ||
1816 | position "thead" | ||
1817 | ] | ||
1818 | ] | ||
1819 | edge | ||
1820 | [ | ||
1821 | source 6 | ||
1822 | target 8 | ||
1823 | graphics | ||
1824 | [ | ||
1825 | fill "#000000" | ||
1826 | width 3 | ||
1827 | targetArrow "standard" | ||
1828 | ] | ||
1829 | LabelGraphics | ||
1830 | [ | ||
1831 | text "commSubsystem reference CommunicatingElement" | ||
1832 | fontSize 14 | ||
1833 | fontName "Consolas" | ||
1834 | configuration "AutoFlippingLabel" | ||
1835 | model "six_pos" | ||
1836 | position "thead" | ||
1837 | ] | ||
1838 | ] | ||
1839 | edge | ||
1840 | [ | ||
1841 | source 6 | ||
1842 | target 9 | ||
1843 | graphics | ||
1844 | [ | ||
1845 | fill "#000000" | ||
1846 | width 3 | ||
1847 | targetArrow "standard" | ||
1848 | ] | ||
1849 | LabelGraphics | ||
1850 | [ | ||
1851 | text "commSubsystem reference CommunicatingElement" | ||
1852 | fontSize 14 | ||
1853 | fontName "Consolas" | ||
1854 | configuration "AutoFlippingLabel" | ||
1855 | model "six_pos" | ||
1856 | position "thead" | ||
1857 | ] | ||
1858 | ] | ||
1859 | edge | ||
1860 | [ | ||
1861 | source 10 | ||
1862 | target 11 | ||
1863 | graphics | ||
1864 | [ | ||
1865 | fill "#000000" | ||
1866 | width 3 | ||
1867 | targetArrow "standard" | ||
1868 | ] | ||
1869 | LabelGraphics | ||
1870 | [ | ||
1871 | text "commSubsystem reference CommunicatingElement" | ||
1872 | fontSize 14 | ||
1873 | fontName "Consolas" | ||
1874 | configuration "AutoFlippingLabel" | ||
1875 | model "six_pos" | ||
1876 | position "thead" | ||
1877 | ] | ||
1878 | ] | ||
1879 | edge | ||
1880 | [ | ||
1881 | source 10 | ||
1882 | target 12 | ||
1883 | graphics | ||
1884 | [ | ||
1885 | fill "#000000" | ||
1886 | width 3 | ||
1887 | targetArrow "standard" | ||
1888 | ] | ||
1889 | LabelGraphics | ||
1890 | [ | ||
1891 | text "commSubsystem reference CommunicatingElement" | ||
1892 | fontSize 14 | ||
1893 | fontName "Consolas" | ||
1894 | configuration "AutoFlippingLabel" | ||
1895 | model "six_pos" | ||
1896 | position "thead" | ||
1897 | ] | ||
1898 | ] | ||
1899 | edge | ||
1900 | [ | ||
1901 | source 14 | ||
1902 | target 15 | ||
1903 | graphics | ||
1904 | [ | ||
1905 | fill "#000000" | ||
1906 | width 3 | ||
1907 | targetArrow "standard" | ||
1908 | ] | ||
1909 | LabelGraphics | ||
1910 | [ | ||
1911 | text "commSubsystem reference CommunicatingElement" | ||
1912 | fontSize 14 | ||
1913 | fontName "Consolas" | ||
1914 | configuration "AutoFlippingLabel" | ||
1915 | model "six_pos" | ||
1916 | position "thead" | ||
1917 | ] | ||
1918 | ] | ||
1919 | edge | ||
1920 | [ | ||
1921 | source 14 | ||
1922 | target 16 | ||
1923 | graphics | ||
1924 | [ | ||
1925 | fill "#000000" | ||
1926 | width 3 | ||
1927 | targetArrow "standard" | ||
1928 | ] | ||
1929 | LabelGraphics | ||
1930 | [ | ||
1931 | text "commSubsystem reference CommunicatingElement" | ||
1932 | fontSize 14 | ||
1933 | fontName "Consolas" | ||
1934 | configuration "AutoFlippingLabel" | ||
1935 | model "six_pos" | ||
1936 | position "thead" | ||
1937 | ] | ||
1938 | ] | ||
1939 | edge | ||
1940 | [ | ||
1941 | source 18 | ||
1942 | target 19 | ||
1943 | graphics | ||
1944 | [ | ||
1945 | fill "#000000" | ||
1946 | width 3 | ||
1947 | targetArrow "standard" | ||
1948 | ] | ||
1949 | LabelGraphics | ||
1950 | [ | ||
1951 | text "commSubsystem reference CommunicatingElement" | ||
1952 | fontSize 14 | ||
1953 | fontName "Consolas" | ||
1954 | configuration "AutoFlippingLabel" | ||
1955 | model "six_pos" | ||
1956 | position "thead" | ||
1957 | ] | ||
1958 | ] | ||
1959 | edge | ||
1960 | [ | ||
1961 | source 18 | ||
1962 | target 20 | ||
1963 | graphics | ||
1964 | [ | ||
1965 | fill "#000000" | ||
1966 | width 3 | ||
1967 | targetArrow "standard" | ||
1968 | ] | ||
1969 | LabelGraphics | ||
1970 | [ | ||
1971 | text "commSubsystem reference CommunicatingElement" | ||
1972 | fontSize 14 | ||
1973 | fontName "Consolas" | ||
1974 | configuration "AutoFlippingLabel" | ||
1975 | model "six_pos" | ||
1976 | position "thead" | ||
1977 | ] | ||
1978 | ] | ||
1979 | edge | ||
1980 | [ | ||
1981 | source 22 | ||
1982 | target 23 | ||
1983 | graphics | ||
1984 | [ | ||
1985 | fill "#000000" | ||
1986 | width 3 | ||
1987 | targetArrow "standard" | ||
1988 | ] | ||
1989 | LabelGraphics | ||
1990 | [ | ||
1991 | text "commSubsystem reference CommunicatingElement" | ||
1992 | fontSize 14 | ||
1993 | fontName "Consolas" | ||
1994 | configuration "AutoFlippingLabel" | ||
1995 | model "six_pos" | ||
1996 | position "thead" | ||
1997 | ] | ||
1998 | ] | ||
1999 | edge | ||
2000 | [ | ||
2001 | source 22 | ||
2002 | target 24 | ||
2003 | graphics | ||
2004 | [ | ||
2005 | fill "#000000" | ||
2006 | width 3 | ||
2007 | targetArrow "standard" | ||
2008 | ] | ||
2009 | LabelGraphics | ||
2010 | [ | ||
2011 | text "commSubsystem reference CommunicatingElement" | ||
2012 | fontSize 14 | ||
2013 | fontName "Consolas" | ||
2014 | configuration "AutoFlippingLabel" | ||
2015 | model "six_pos" | ||
2016 | position "thead" | ||
2017 | ] | ||
2018 | ] | ||
2019 | edge | ||
2020 | [ | ||
2021 | source 26 | ||
2022 | target 27 | ||
2023 | graphics | ||
2024 | [ | ||
2025 | fill "#000000" | ||
2026 | width 3 | ||
2027 | targetArrow "standard" | ||
2028 | ] | ||
2029 | LabelGraphics | ||
2030 | [ | ||
2031 | text "commSubsystem reference CommunicatingElement" | ||
2032 | fontSize 14 | ||
2033 | fontName "Consolas" | ||
2034 | configuration "AutoFlippingLabel" | ||
2035 | model "six_pos" | ||
2036 | position "thead" | ||
2037 | ] | ||
2038 | ] | ||
2039 | edge | ||
2040 | [ | ||
2041 | source 26 | ||
2042 | target 28 | ||
2043 | graphics | ||
2044 | [ | ||
2045 | fill "#000000" | ||
2046 | width 3 | ||
2047 | targetArrow "standard" | ||
2048 | ] | ||
2049 | LabelGraphics | ||
2050 | [ | ||
2051 | text "commSubsystem reference CommunicatingElement" | ||
2052 | fontSize 14 | ||
2053 | fontName "Consolas" | ||
2054 | configuration "AutoFlippingLabel" | ||
2055 | model "six_pos" | ||
2056 | position "thead" | ||
2057 | ] | ||
2058 | ] | ||
2059 | edge | ||
2060 | [ | ||
2061 | source 30 | ||
2062 | target 32 | ||
2063 | graphics | ||
2064 | [ | ||
2065 | fill "#000000" | ||
2066 | width 3 | ||
2067 | targetArrow "standard" | ||
2068 | ] | ||
2069 | LabelGraphics | ||
2070 | [ | ||
2071 | text "commSubsystem reference CommunicatingElement" | ||
2072 | fontSize 14 | ||
2073 | fontName "Consolas" | ||
2074 | configuration "AutoFlippingLabel" | ||
2075 | model "six_pos" | ||
2076 | position "thead" | ||
2077 | ] | ||
2078 | ] | ||
2079 | edge | ||
2080 | [ | ||
2081 | source 30 | ||
2082 | target 33 | ||
2083 | graphics | ||
2084 | [ | ||
2085 | fill "#000000" | ||
2086 | width 3 | ||
2087 | targetArrow "standard" | ||
2088 | ] | ||
2089 | LabelGraphics | ||
2090 | [ | ||
2091 | text "commSubsystem reference CommunicatingElement" | ||
2092 | fontSize 14 | ||
2093 | fontName "Consolas" | ||
2094 | configuration "AutoFlippingLabel" | ||
2095 | model "six_pos" | ||
2096 | position "thead" | ||
2097 | ] | ||
2098 | ] | ||
2099 | edge | ||
2100 | [ | ||
2101 | source 34 | ||
2102 | target 35 | ||
2103 | graphics | ||
2104 | [ | ||
2105 | fill "#000000" | ||
2106 | width 3 | ||
2107 | targetArrow "standard" | ||
2108 | ] | ||
2109 | LabelGraphics | ||
2110 | [ | ||
2111 | text "commSubsystem reference CommunicatingElement" | ||
2112 | fontSize 14 | ||
2113 | fontName "Consolas" | ||
2114 | configuration "AutoFlippingLabel" | ||
2115 | model "six_pos" | ||
2116 | position "thead" | ||
2117 | ] | ||
2118 | ] | ||
2119 | edge | ||
2120 | [ | ||
2121 | source 34 | ||
2122 | target 37 | ||
2123 | graphics | ||
2124 | [ | ||
2125 | fill "#000000" | ||
2126 | width 3 | ||
2127 | targetArrow "standard" | ||
2128 | ] | ||
2129 | LabelGraphics | ||
2130 | [ | ||
2131 | text "commSubsystem reference CommunicatingElement" | ||
2132 | fontSize 14 | ||
2133 | fontName "Consolas" | ||
2134 | configuration "AutoFlippingLabel" | ||
2135 | model "six_pos" | ||
2136 | position "thead" | ||
2137 | ] | ||
2138 | ] | ||
2139 | edge | ||
2140 | [ | ||
2141 | source 6 | ||
2142 | target 7 | ||
2143 | graphics | ||
2144 | [ | ||
2145 | fill "#000000" | ||
2146 | width 3 | ||
2147 | targetArrow "standard" | ||
2148 | ] | ||
2149 | LabelGraphics | ||
2150 | [ | ||
2151 | text "payload reference Spacecraft" | ||
2152 | fontSize 14 | ||
2153 | fontName "Consolas" | ||
2154 | configuration "AutoFlippingLabel" | ||
2155 | model "six_pos" | ||
2156 | position "thead" | ||
2157 | ] | ||
2158 | ] | ||
2159 | edge | ||
2160 | [ | ||
2161 | source 10 | ||
2162 | target 13 | ||
2163 | graphics | ||
2164 | [ | ||
2165 | fill "#000000" | ||
2166 | width 3 | ||
2167 | targetArrow "standard" | ||
2168 | ] | ||
2169 | LabelGraphics | ||
2170 | [ | ||
2171 | text "payload reference Spacecraft" | ||
2172 | fontSize 14 | ||
2173 | fontName "Consolas" | ||
2174 | configuration "AutoFlippingLabel" | ||
2175 | model "six_pos" | ||
2176 | position "thead" | ||
2177 | ] | ||
2178 | ] | ||
2179 | edge | ||
2180 | [ | ||
2181 | source 14 | ||
2182 | target 17 | ||
2183 | graphics | ||
2184 | [ | ||
2185 | fill "#000000" | ||
2186 | width 3 | ||
2187 | targetArrow "standard" | ||
2188 | ] | ||
2189 | LabelGraphics | ||
2190 | [ | ||
2191 | text "payload reference Spacecraft" | ||
2192 | fontSize 14 | ||
2193 | fontName "Consolas" | ||
2194 | configuration "AutoFlippingLabel" | ||
2195 | model "six_pos" | ||
2196 | position "thead" | ||
2197 | ] | ||
2198 | ] | ||
2199 | edge | ||
2200 | [ | ||
2201 | source 18 | ||
2202 | target 21 | ||
2203 | graphics | ||
2204 | [ | ||
2205 | fill "#000000" | ||
2206 | width 3 | ||
2207 | targetArrow "standard" | ||
2208 | ] | ||
2209 | LabelGraphics | ||
2210 | [ | ||
2211 | text "payload reference Spacecraft" | ||
2212 | fontSize 14 | ||
2213 | fontName "Consolas" | ||
2214 | configuration "AutoFlippingLabel" | ||
2215 | model "six_pos" | ||
2216 | position "thead" | ||
2217 | ] | ||
2218 | ] | ||
2219 | edge | ||
2220 | [ | ||
2221 | source 22 | ||
2222 | target 25 | ||
2223 | graphics | ||
2224 | [ | ||
2225 | fill "#000000" | ||
2226 | width 3 | ||
2227 | targetArrow "standard" | ||
2228 | ] | ||
2229 | LabelGraphics | ||
2230 | [ | ||
2231 | text "payload reference Spacecraft" | ||
2232 | fontSize 14 | ||
2233 | fontName "Consolas" | ||
2234 | configuration "AutoFlippingLabel" | ||
2235 | model "six_pos" | ||
2236 | position "thead" | ||
2237 | ] | ||
2238 | ] | ||
2239 | edge | ||
2240 | [ | ||
2241 | source 26 | ||
2242 | target 29 | ||
2243 | graphics | ||
2244 | [ | ||
2245 | fill "#000000" | ||
2246 | width 3 | ||
2247 | targetArrow "standard" | ||
2248 | ] | ||
2249 | LabelGraphics | ||
2250 | [ | ||
2251 | text "payload reference Spacecraft" | ||
2252 | fontSize 14 | ||
2253 | fontName "Consolas" | ||
2254 | configuration "AutoFlippingLabel" | ||
2255 | model "six_pos" | ||
2256 | position "thead" | ||
2257 | ] | ||
2258 | ] | ||
2259 | edge | ||
2260 | [ | ||
2261 | source 30 | ||
2262 | target 31 | ||
2263 | graphics | ||
2264 | [ | ||
2265 | fill "#000000" | ||
2266 | width 3 | ||
2267 | targetArrow "standard" | ||
2268 | ] | ||
2269 | LabelGraphics | ||
2270 | [ | ||
2271 | text "payload reference Spacecraft" | ||
2272 | fontSize 14 | ||
2273 | fontName "Consolas" | ||
2274 | configuration "AutoFlippingLabel" | ||
2275 | model "six_pos" | ||
2276 | position "thead" | ||
2277 | ] | ||
2278 | ] | ||
2279 | edge | ||
2280 | [ | ||
2281 | source 34 | ||
2282 | target 36 | ||
2283 | graphics | ||
2284 | [ | ||
2285 | fill "#000000" | ||
2286 | width 3 | ||
2287 | targetArrow "standard" | ||
2288 | ] | ||
2289 | LabelGraphics | ||
2290 | [ | ||
2291 | text "payload reference Spacecraft" | ||
2292 | fontSize 14 | ||
2293 | fontName "Consolas" | ||
2294 | configuration "AutoFlippingLabel" | ||
2295 | model "six_pos" | ||
2296 | position "thead" | ||
2297 | ] | ||
2298 | ] | ||
2299 | edge | ||
2300 | [ | ||
2301 | source 9 | ||
2302 | target 2 | ||
2303 | graphics | ||
2304 | [ | ||
2305 | fill "#000000" | ||
2306 | targetArrow "standard" | ||
2307 | ] | ||
2308 | LabelGraphics | ||
2309 | [ | ||
2310 | text "target reference CommSubsystem" | ||
2311 | fontSize 14 | ||
2312 | fontName "Consolas" | ||
2313 | configuration "AutoFlippingLabel" | ||
2314 | model "six_pos" | ||
2315 | position "thead" | ||
2316 | ] | ||
2317 | ] | ||
2318 | edge | ||
2319 | [ | ||
2320 | source 12 | ||
2321 | target 8 | ||
2322 | graphics | ||
2323 | [ | ||
2324 | fill "#000000" | ||
2325 | targetArrow "standard" | ||
2326 | ] | ||
2327 | LabelGraphics | ||
2328 | [ | ||
2329 | text "target reference CommSubsystem" | ||
2330 | fontSize 14 | ||
2331 | fontName "Consolas" | ||
2332 | configuration "AutoFlippingLabel" | ||
2333 | model "six_pos" | ||
2334 | position "thead" | ||
2335 | ] | ||
2336 | ] | ||
2337 | edge | ||
2338 | [ | ||
2339 | source 16 | ||
2340 | target 3 | ||
2341 | graphics | ||
2342 | [ | ||
2343 | fill "#000000" | ||
2344 | targetArrow "standard" | ||
2345 | ] | ||
2346 | LabelGraphics | ||
2347 | [ | ||
2348 | text "target reference CommSubsystem" | ||
2349 | fontSize 14 | ||
2350 | fontName "Consolas" | ||
2351 | configuration "AutoFlippingLabel" | ||
2352 | model "six_pos" | ||
2353 | position "thead" | ||
2354 | ] | ||
2355 | ] | ||
2356 | edge | ||
2357 | [ | ||
2358 | source 19 | ||
2359 | target 9 | ||
2360 | graphics | ||
2361 | [ | ||
2362 | fill "#000000" | ||
2363 | targetArrow "standard" | ||
2364 | ] | ||
2365 | LabelGraphics | ||
2366 | [ | ||
2367 | text "target reference CommSubsystem" | ||
2368 | fontSize 14 | ||
2369 | fontName "Consolas" | ||
2370 | configuration "AutoFlippingLabel" | ||
2371 | model "six_pos" | ||
2372 | position "thead" | ||
2373 | ] | ||
2374 | ] | ||
2375 | edge | ||
2376 | [ | ||
2377 | source 23 | ||
2378 | target 12 | ||
2379 | graphics | ||
2380 | [ | ||
2381 | fill "#000000" | ||
2382 | targetArrow "standard" | ||
2383 | ] | ||
2384 | LabelGraphics | ||
2385 | [ | ||
2386 | text "target reference CommSubsystem" | ||
2387 | fontSize 14 | ||
2388 | fontName "Consolas" | ||
2389 | configuration "AutoFlippingLabel" | ||
2390 | model "six_pos" | ||
2391 | position "thead" | ||
2392 | ] | ||
2393 | ] | ||
2394 | edge | ||
2395 | [ | ||
2396 | source 27 | ||
2397 | target 15 | ||
2398 | graphics | ||
2399 | [ | ||
2400 | fill "#000000" | ||
2401 | targetArrow "standard" | ||
2402 | ] | ||
2403 | LabelGraphics | ||
2404 | [ | ||
2405 | text "target reference CommSubsystem" | ||
2406 | fontSize 14 | ||
2407 | fontName "Consolas" | ||
2408 | configuration "AutoFlippingLabel" | ||
2409 | model "six_pos" | ||
2410 | position "thead" | ||
2411 | ] | ||
2412 | ] | ||
2413 | edge | ||
2414 | [ | ||
2415 | source 32 | ||
2416 | target 15 | ||
2417 | graphics | ||
2418 | [ | ||
2419 | fill "#000000" | ||
2420 | targetArrow "standard" | ||
2421 | ] | ||
2422 | LabelGraphics | ||
2423 | [ | ||
2424 | text "target reference CommSubsystem" | ||
2425 | fontSize 14 | ||
2426 | fontName "Consolas" | ||
2427 | configuration "AutoFlippingLabel" | ||
2428 | model "six_pos" | ||
2429 | position "thead" | ||
2430 | ] | ||
2431 | ] | ||
2432 | edge | ||
2433 | [ | ||
2434 | source 35 | ||
2435 | target 16 | ||
2436 | graphics | ||
2437 | [ | ||
2438 | fill "#000000" | ||
2439 | targetArrow "standard" | ||
2440 | ] | ||
2441 | LabelGraphics | ||
2442 | [ | ||
2443 | text "target reference CommSubsystem" | ||
2444 | fontSize 14 | ||
2445 | fontName "Consolas" | ||
2446 | configuration "AutoFlippingLabel" | ||
2447 | model "six_pos" | ||
2448 | position "thead" | ||
2449 | ] | ||
2450 | ] | ||
2451 | ] | ||
2452 | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.png deleted file mode 100644 index 7484e249..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi deleted file mode 100644 index ba3eec9b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore"> | ||
3 | <groundStationNetwork> | ||
4 | <commSubsystem xsi:type="satellite:KaCommSubsystem"/> | ||
5 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
6 | </groundStationNetwork> | ||
7 | <spacecraft xsi:type="satellite:SmallSat"> | ||
8 | <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/> | ||
9 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
10 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
11 | </spacecraft> | ||
12 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
13 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.4/@commSubsystem.0"/> | ||
14 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
15 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
16 | </spacecraft> | ||
17 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
18 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
19 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.3/@commSubsystem.1"/> | ||
20 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
21 | </spacecraft> | ||
22 | <spacecraft xsi:type="satellite:SmallSat"> | ||
23 | <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@groundStationNetwork/@commSubsystem.0"/> | ||
24 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
25 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
26 | </spacecraft> | ||
27 | <spacecraft xsi:type="satellite:SmallSat"> | ||
28 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
29 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
30 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
31 | </spacecraft> | ||
32 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
33 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
34 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.1/@commSubsystem.0"/> | ||
35 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
36 | </spacecraft> | ||
37 | <spacecraft xsi:type="satellite:CubeSat6U"> | ||
38 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
39 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.4/@commSubsystem.1"/> | ||
40 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
41 | </spacecraft> | ||
42 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
43 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.3/@commSubsystem.1"/> | ||
44 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
45 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
46 | </spacecraft> | ||
47 | </satellite:InterferometryMission> | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml deleted file mode 100644 index 00045cb3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml +++ /dev/null | |||
@@ -1,2451 +0,0 @@ | |||
1 | graph | ||
2 | [ | ||
3 | node | ||
4 | [ | ||
5 | id 0 | ||
6 | graphics | ||
7 | [ | ||
8 | w 315.70000000000005 | ||
9 | h 82 | ||
10 | type "rectangle" | ||
11 | fill "#FFFFFF" | ||
12 | fill2 "#FFFFFF" | ||
13 | outline "#000000" | ||
14 | ] | ||
15 | LabelGraphics | ||
16 | [ | ||
17 | text "o 1" | ||
18 | outline "#000000" | ||
19 | fill "#FFFFFF" | ||
20 | fontSize 16 | ||
21 | fontName "Monospace" | ||
22 | autoSizePolicy "node_width" | ||
23 | anchor "t" | ||
24 | borderDistance 0.0 | ||
25 | ] | ||
26 | LabelGraphics | ||
27 | [ | ||
28 | text " | ||
29 | ConstellationMission class DefinedPart | ||
30 | InterferometryMission class DefinedPart | ||
31 | ConstellationMission class | ||
32 | InterferometryMission class | ||
33 | " | ||
34 | fontSize 14 | ||
35 | fontName "Consolas" | ||
36 | alignment "left" | ||
37 | anchor "tl" | ||
38 | borderDistance 6 | ||
39 | ] | ||
40 | ] | ||
41 | |||
42 | node | ||
43 | [ | ||
44 | id 1 | ||
45 | graphics | ||
46 | [ | ||
47 | w 308.0 | ||
48 | h 82 | ||
49 | type "rectangle" | ||
50 | fill "#FFFFFF" | ||
51 | fill2 "#FFFFFF" | ||
52 | outline "#000000" | ||
53 | ] | ||
54 | LabelGraphics | ||
55 | [ | ||
56 | text "o 2" | ||
57 | outline "#000000" | ||
58 | fill "#FFFFFF" | ||
59 | fontSize 16 | ||
60 | fontName "Monospace" | ||
61 | autoSizePolicy "node_width" | ||
62 | anchor "t" | ||
63 | borderDistance 0.0 | ||
64 | ] | ||
65 | LabelGraphics | ||
66 | [ | ||
67 | text " | ||
68 | CommunicatingElement class DefinedPart | ||
69 | GroundStationNetwork class DefinedPart | ||
70 | CommunicatingElement class | ||
71 | GroundStationNetwork class | ||
72 | " | ||
73 | fontSize 14 | ||
74 | fontName "Consolas" | ||
75 | alignment "left" | ||
76 | anchor "tl" | ||
77 | borderDistance 6 | ||
78 | ] | ||
79 | ] | ||
80 | |||
81 | node | ||
82 | [ | ||
83 | id 2 | ||
84 | graphics | ||
85 | [ | ||
86 | w 261.8 | ||
87 | h 82 | ||
88 | type "rectangle" | ||
89 | fill "#FFFFFF" | ||
90 | fill2 "#FFFFFF" | ||
91 | outline "#000000" | ||
92 | ] | ||
93 | LabelGraphics | ||
94 | [ | ||
95 | text "o 3" | ||
96 | outline "#000000" | ||
97 | fill "#FFFFFF" | ||
98 | fontSize 16 | ||
99 | fontName "Monospace" | ||
100 | autoSizePolicy "node_width" | ||
101 | anchor "t" | ||
102 | borderDistance 0.0 | ||
103 | ] | ||
104 | LabelGraphics | ||
105 | [ | ||
106 | text " | ||
107 | CommSubsystem class DefinedPart | ||
108 | XCommSubsystem class DefinedPart | ||
109 | CommSubsystem class | ||
110 | XCommSubsystem class | ||
111 | " | ||
112 | fontSize 14 | ||
113 | fontName "Consolas" | ||
114 | alignment "left" | ||
115 | anchor "tl" | ||
116 | borderDistance 6 | ||
117 | ] | ||
118 | ] | ||
119 | |||
120 | node | ||
121 | [ | ||
122 | id 3 | ||
123 | graphics | ||
124 | [ | ||
125 | w 269.5 | ||
126 | h 82 | ||
127 | type "rectangle" | ||
128 | fill "#FFFFFF" | ||
129 | fill2 "#FFFFFF" | ||
130 | outline "#000000" | ||
131 | ] | ||
132 | LabelGraphics | ||
133 | [ | ||
134 | text "o 4" | ||
135 | outline "#000000" | ||
136 | fill "#FFFFFF" | ||
137 | fontSize 16 | ||
138 | fontName "Monospace" | ||
139 | autoSizePolicy "node_width" | ||
140 | anchor "t" | ||
141 | borderDistance 0.0 | ||
142 | ] | ||
143 | LabelGraphics | ||
144 | [ | ||
145 | text " | ||
146 | CommSubsystem class DefinedPart | ||
147 | KaCommSubsystem class DefinedPart | ||
148 | CommSubsystem class | ||
149 | KaCommSubsystem class | ||
150 | " | ||
151 | fontSize 14 | ||
152 | fontName "Consolas" | ||
153 | alignment "left" | ||
154 | anchor "tl" | ||
155 | borderDistance 6 | ||
156 | ] | ||
157 | ] | ||
158 | |||
159 | node | ||
160 | [ | ||
161 | id 4 | ||
162 | graphics | ||
163 | [ | ||
164 | w 41.800000000000004 | ||
165 | h 26 | ||
166 | type "rectangle" | ||
167 | fill "#FFFFFF" | ||
168 | fill2 "#FFFFFF" | ||
169 | outline "#000000" | ||
170 | ] | ||
171 | LabelGraphics | ||
172 | [ | ||
173 | text "true" | ||
174 | outline "#000000" | ||
175 | fill "#FFFFFF" | ||
176 | fontSize 16 | ||
177 | fontName "Monospace" | ||
178 | autoSizePolicy "node_width" | ||
179 | anchor "t" | ||
180 | borderDistance 0.0 | ||
181 | ] | ||
182 | LabelGraphics | ||
183 | [ | ||
184 | text " | ||
185 | " | ||
186 | fontSize 14 | ||
187 | fontName "Consolas" | ||
188 | alignment "left" | ||
189 | anchor "tl" | ||
190 | borderDistance 6 | ||
191 | ] | ||
192 | ] | ||
193 | |||
194 | node | ||
195 | [ | ||
196 | id 5 | ||
197 | graphics | ||
198 | [ | ||
199 | w 50.6 | ||
200 | h 26 | ||
201 | type "rectangle" | ||
202 | fill "#FFFFFF" | ||
203 | fill2 "#FFFFFF" | ||
204 | outline "#000000" | ||
205 | ] | ||
206 | LabelGraphics | ||
207 | [ | ||
208 | text "false" | ||
209 | outline "#000000" | ||
210 | fill "#FFFFFF" | ||
211 | fontSize 16 | ||
212 | fontName "Monospace" | ||
213 | autoSizePolicy "node_width" | ||
214 | anchor "t" | ||
215 | borderDistance 0.0 | ||
216 | ] | ||
217 | LabelGraphics | ||
218 | [ | ||
219 | text " | ||
220 | " | ||
221 | fontSize 14 | ||
222 | fontName "Consolas" | ||
223 | alignment "left" | ||
224 | anchor "tl" | ||
225 | borderDistance 6 | ||
226 | ] | ||
227 | ] | ||
228 | |||
229 | node | ||
230 | [ | ||
231 | id 6 | ||
232 | graphics | ||
233 | [ | ||
234 | w 323.40000000000003 | ||
235 | h 82 | ||
236 | type "rectangle" | ||
237 | fill "#FFFFFF" | ||
238 | fill2 "#FFFFFF" | ||
239 | outline "#000000" | ||
240 | ] | ||
241 | LabelGraphics | ||
242 | [ | ||
243 | text "null" | ||
244 | outline "#000000" | ||
245 | fill "#FFFFFF" | ||
246 | fontSize 16 | ||
247 | fontName "Monospace" | ||
248 | autoSizePolicy "node_width" | ||
249 | anchor "t" | ||
250 | borderDistance 0.0 | ||
251 | ] | ||
252 | LabelGraphics | ||
253 | [ | ||
254 | text " | ||
255 | CommunicatingElement class | ||
256 | Spacecraft class | ||
257 | SmallSat class | ||
258 | CommunicatingElement class UndefinedPart | ||
259 | " | ||
260 | fontSize 14 | ||
261 | fontName "Consolas" | ||
262 | alignment "left" | ||
263 | anchor "tl" | ||
264 | borderDistance 6 | ||
265 | ] | ||
266 | ] | ||
267 | |||
268 | node | ||
269 | [ | ||
270 | id 7 | ||
271 | graphics | ||
272 | [ | ||
273 | w 269.5 | ||
274 | h 68 | ||
275 | type "rectangle" | ||
276 | fill "#FFFFFF" | ||
277 | fill2 "#FFFFFF" | ||
278 | outline "#000000" | ||
279 | ] | ||
280 | LabelGraphics | ||
281 | [ | ||
282 | text "null" | ||
283 | outline "#000000" | ||
284 | fill "#FFFFFF" | ||
285 | fontSize 16 | ||
286 | fontName "Monospace" | ||
287 | autoSizePolicy "node_width" | ||
288 | anchor "t" | ||
289 | borderDistance 0.0 | ||
290 | ] | ||
291 | LabelGraphics | ||
292 | [ | ||
293 | text " | ||
294 | CommSubsystem class | ||
295 | UHFCommSubsystem class | ||
296 | CommSubsystem class UndefinedPart | ||
297 | " | ||
298 | fontSize 14 | ||
299 | fontName "Consolas" | ||
300 | alignment "left" | ||
301 | anchor "tl" | ||
302 | borderDistance 6 | ||
303 | ] | ||
304 | ] | ||
305 | |||
306 | node | ||
307 | [ | ||
308 | id 8 | ||
309 | graphics | ||
310 | [ | ||
311 | w 269.5 | ||
312 | h 68 | ||
313 | type "rectangle" | ||
314 | fill "#FFFFFF" | ||
315 | fill2 "#FFFFFF" | ||
316 | outline "#000000" | ||
317 | ] | ||
318 | LabelGraphics | ||
319 | [ | ||
320 | text "null" | ||
321 | outline "#000000" | ||
322 | fill "#FFFFFF" | ||
323 | fontSize 16 | ||
324 | fontName "Monospace" | ||
325 | autoSizePolicy "node_width" | ||
326 | anchor "t" | ||
327 | borderDistance 0.0 | ||
328 | ] | ||
329 | LabelGraphics | ||
330 | [ | ||
331 | text " | ||
332 | CommSubsystem class | ||
333 | UHFCommSubsystem class | ||
334 | CommSubsystem class UndefinedPart | ||
335 | " | ||
336 | fontSize 14 | ||
337 | fontName "Consolas" | ||
338 | alignment "left" | ||
339 | anchor "tl" | ||
340 | borderDistance 6 | ||
341 | ] | ||
342 | ] | ||
343 | |||
344 | node | ||
345 | [ | ||
346 | id 9 | ||
347 | graphics | ||
348 | [ | ||
349 | w 223.3 | ||
350 | h 54 | ||
351 | type "rectangle" | ||
352 | fill "#FFFFFF" | ||
353 | fill2 "#FFFFFF" | ||
354 | outline "#000000" | ||
355 | ] | ||
356 | LabelGraphics | ||
357 | [ | ||
358 | text "null" | ||
359 | outline "#000000" | ||
360 | fill "#FFFFFF" | ||
361 | fontSize 16 | ||
362 | fontName "Monospace" | ||
363 | autoSizePolicy "node_width" | ||
364 | anchor "t" | ||
365 | borderDistance 0.0 | ||
366 | ] | ||
367 | LabelGraphics | ||
368 | [ | ||
369 | text " | ||
370 | Payload class | ||
371 | InterferometryPayload class | ||
372 | " | ||
373 | fontSize 14 | ||
374 | fontName "Consolas" | ||
375 | alignment "left" | ||
376 | anchor "tl" | ||
377 | borderDistance 6 | ||
378 | ] | ||
379 | ] | ||
380 | |||
381 | node | ||
382 | [ | ||
383 | id 10 | ||
384 | graphics | ||
385 | [ | ||
386 | w 323.40000000000003 | ||
387 | h 82 | ||
388 | type "rectangle" | ||
389 | fill "#FFFFFF" | ||
390 | fill2 "#FFFFFF" | ||
391 | outline "#000000" | ||
392 | ] | ||
393 | LabelGraphics | ||
394 | [ | ||
395 | text "null" | ||
396 | outline "#000000" | ||
397 | fill "#FFFFFF" | ||
398 | fontSize 16 | ||
399 | fontName "Monospace" | ||
400 | autoSizePolicy "node_width" | ||
401 | anchor "t" | ||
402 | borderDistance 0.0 | ||
403 | ] | ||
404 | LabelGraphics | ||
405 | [ | ||
406 | text " | ||
407 | CommunicatingElement class | ||
408 | Spacecraft class | ||
409 | SmallSat class | ||
410 | CommunicatingElement class UndefinedPart | ||
411 | " | ||
412 | fontSize 14 | ||
413 | fontName "Consolas" | ||
414 | alignment "left" | ||
415 | anchor "tl" | ||
416 | borderDistance 6 | ||
417 | ] | ||
418 | ] | ||
419 | |||
420 | node | ||
421 | [ | ||
422 | id 11 | ||
423 | graphics | ||
424 | [ | ||
425 | w 277.20000000000005 | ||
426 | h 82 | ||
427 | type "rectangle" | ||
428 | fill "#FFFFFF" | ||
429 | fill2 "#FFFFFF" | ||
430 | outline "#000000" | ||
431 | ] | ||
432 | LabelGraphics | ||
433 | [ | ||
434 | text "null" | ||
435 | outline "#000000" | ||
436 | fill "#FFFFFF" | ||
437 | fontSize 16 | ||
438 | fontName "Monospace" | ||
439 | autoSizePolicy "node_width" | ||
440 | anchor "t" | ||
441 | borderDistance 0.0 | ||
442 | ] | ||
443 | LabelGraphics | ||
444 | [ | ||
445 | text " | ||
446 | CommSubsystem class | ||
447 | XCommSubsystem class | ||
448 | CommSubsystem class UndefinedPart | ||
449 | XCommSubsystem class UndefinedPart | ||
450 | " | ||
451 | fontSize 14 | ||
452 | fontName "Consolas" | ||
453 | alignment "left" | ||
454 | anchor "tl" | ||
455 | borderDistance 6 | ||
456 | ] | ||
457 | ] | ||
458 | |||
459 | node | ||
460 | [ | ||
461 | id 12 | ||
462 | graphics | ||
463 | [ | ||
464 | w 284.90000000000003 | ||
465 | h 82 | ||
466 | type "rectangle" | ||
467 | fill "#FFFFFF" | ||
468 | fill2 "#FFFFFF" | ||
469 | outline "#000000" | ||
470 | ] | ||
471 | LabelGraphics | ||
472 | [ | ||
473 | text "null" | ||
474 | outline "#000000" | ||
475 | fill "#FFFFFF" | ||
476 | fontSize 16 | ||
477 | fontName "Monospace" | ||
478 | autoSizePolicy "node_width" | ||
479 | anchor "t" | ||
480 | borderDistance 0.0 | ||
481 | ] | ||
482 | LabelGraphics | ||
483 | [ | ||
484 | text " | ||
485 | CommSubsystem class | ||
486 | KaCommSubsystem class | ||
487 | CommSubsystem class UndefinedPart | ||
488 | KaCommSubsystem class UndefinedPart | ||
489 | " | ||
490 | fontSize 14 | ||
491 | fontName "Consolas" | ||
492 | alignment "left" | ||
493 | anchor "tl" | ||
494 | borderDistance 6 | ||
495 | ] | ||
496 | ] | ||
497 | |||
498 | node | ||
499 | [ | ||
500 | id 13 | ||
501 | graphics | ||
502 | [ | ||
503 | w 223.3 | ||
504 | h 54 | ||
505 | type "rectangle" | ||
506 | fill "#FFFFFF" | ||
507 | fill2 "#FFFFFF" | ||
508 | outline "#000000" | ||
509 | ] | ||
510 | LabelGraphics | ||
511 | [ | ||
512 | text "null" | ||
513 | outline "#000000" | ||
514 | fill "#FFFFFF" | ||
515 | fontSize 16 | ||
516 | fontName "Monospace" | ||
517 | autoSizePolicy "node_width" | ||
518 | anchor "t" | ||
519 | borderDistance 0.0 | ||
520 | ] | ||
521 | LabelGraphics | ||
522 | [ | ||
523 | text " | ||
524 | Payload class | ||
525 | InterferometryPayload class | ||
526 | " | ||
527 | fontSize 14 | ||
528 | fontName "Consolas" | ||
529 | alignment "left" | ||
530 | anchor "tl" | ||
531 | borderDistance 6 | ||
532 | ] | ||
533 | ] | ||
534 | |||
535 | node | ||
536 | [ | ||
537 | id 14 | ||
538 | graphics | ||
539 | [ | ||
540 | w 323.40000000000003 | ||
541 | h 96 | ||
542 | type "rectangle" | ||
543 | fill "#FFFFFF" | ||
544 | fill2 "#FFFFFF" | ||
545 | outline "#000000" | ||
546 | ] | ||
547 | LabelGraphics | ||
548 | [ | ||
549 | text "null" | ||
550 | outline "#000000" | ||
551 | fill "#FFFFFF" | ||
552 | fontSize 16 | ||
553 | fontName "Monospace" | ||
554 | autoSizePolicy "node_width" | ||
555 | anchor "t" | ||
556 | borderDistance 0.0 | ||
557 | ] | ||
558 | LabelGraphics | ||
559 | [ | ||
560 | text " | ||
561 | CommunicatingElement class | ||
562 | Spacecraft class | ||
563 | CubeSat6U class | ||
564 | CubeSat class | ||
565 | CommunicatingElement class UndefinedPart | ||
566 | " | ||
567 | fontSize 14 | ||
568 | fontName "Consolas" | ||
569 | alignment "left" | ||
570 | anchor "tl" | ||
571 | borderDistance 6 | ||
572 | ] | ||
573 | ] | ||
574 | |||
575 | node | ||
576 | [ | ||
577 | id 15 | ||
578 | graphics | ||
579 | [ | ||
580 | w 277.20000000000005 | ||
581 | h 82 | ||
582 | type "rectangle" | ||
583 | fill "#FFFFFF" | ||
584 | fill2 "#FFFFFF" | ||
585 | outline "#000000" | ||
586 | ] | ||
587 | LabelGraphics | ||
588 | [ | ||
589 | text "null" | ||
590 | outline "#000000" | ||
591 | fill "#FFFFFF" | ||
592 | fontSize 16 | ||
593 | fontName "Monospace" | ||
594 | autoSizePolicy "node_width" | ||
595 | anchor "t" | ||
596 | borderDistance 0.0 | ||
597 | ] | ||
598 | LabelGraphics | ||
599 | [ | ||
600 | text " | ||
601 | CommSubsystem class | ||
602 | XCommSubsystem class | ||
603 | CommSubsystem class UndefinedPart | ||
604 | XCommSubsystem class UndefinedPart | ||
605 | " | ||
606 | fontSize 14 | ||
607 | fontName "Consolas" | ||
608 | alignment "left" | ||
609 | anchor "tl" | ||
610 | borderDistance 6 | ||
611 | ] | ||
612 | ] | ||
613 | |||
614 | node | ||
615 | [ | ||
616 | id 16 | ||
617 | graphics | ||
618 | [ | ||
619 | w 223.3 | ||
620 | h 54 | ||
621 | type "rectangle" | ||
622 | fill "#FFFFFF" | ||
623 | fill2 "#FFFFFF" | ||
624 | outline "#000000" | ||
625 | ] | ||
626 | LabelGraphics | ||
627 | [ | ||
628 | text "null" | ||
629 | outline "#000000" | ||
630 | fill "#FFFFFF" | ||
631 | fontSize 16 | ||
632 | fontName "Monospace" | ||
633 | autoSizePolicy "node_width" | ||
634 | anchor "t" | ||
635 | borderDistance 0.0 | ||
636 | ] | ||
637 | LabelGraphics | ||
638 | [ | ||
639 | text " | ||
640 | Payload class | ||
641 | InterferometryPayload class | ||
642 | " | ||
643 | fontSize 14 | ||
644 | fontName "Consolas" | ||
645 | alignment "left" | ||
646 | anchor "tl" | ||
647 | borderDistance 6 | ||
648 | ] | ||
649 | ] | ||
650 | |||
651 | node | ||
652 | [ | ||
653 | id 17 | ||
654 | graphics | ||
655 | [ | ||
656 | w 269.5 | ||
657 | h 68 | ||
658 | type "rectangle" | ||
659 | fill "#FFFFFF" | ||
660 | fill2 "#FFFFFF" | ||
661 | outline "#000000" | ||
662 | ] | ||
663 | LabelGraphics | ||
664 | [ | ||
665 | text "null" | ||
666 | outline "#000000" | ||
667 | fill "#FFFFFF" | ||
668 | fontSize 16 | ||
669 | fontName "Monospace" | ||
670 | autoSizePolicy "node_width" | ||
671 | anchor "t" | ||
672 | borderDistance 0.0 | ||
673 | ] | ||
674 | LabelGraphics | ||
675 | [ | ||
676 | text " | ||
677 | CommSubsystem class | ||
678 | UHFCommSubsystem class | ||
679 | CommSubsystem class UndefinedPart | ||
680 | " | ||
681 | fontSize 14 | ||
682 | fontName "Consolas" | ||
683 | alignment "left" | ||
684 | anchor "tl" | ||
685 | borderDistance 6 | ||
686 | ] | ||
687 | ] | ||
688 | |||
689 | node | ||
690 | [ | ||
691 | id 18 | ||
692 | graphics | ||
693 | [ | ||
694 | w 323.40000000000003 | ||
695 | h 96 | ||
696 | type "rectangle" | ||
697 | fill "#FFFFFF" | ||
698 | fill2 "#FFFFFF" | ||
699 | outline "#000000" | ||
700 | ] | ||
701 | LabelGraphics | ||
702 | [ | ||
703 | text "null" | ||
704 | outline "#000000" | ||
705 | fill "#FFFFFF" | ||
706 | fontSize 16 | ||
707 | fontName "Monospace" | ||
708 | autoSizePolicy "node_width" | ||
709 | anchor "t" | ||
710 | borderDistance 0.0 | ||
711 | ] | ||
712 | LabelGraphics | ||
713 | [ | ||
714 | text " | ||
715 | CommunicatingElement class | ||
716 | Spacecraft class | ||
717 | CubeSat3U class | ||
718 | CubeSat class | ||
719 | CommunicatingElement class UndefinedPart | ||
720 | " | ||
721 | fontSize 14 | ||
722 | fontName "Consolas" | ||
723 | alignment "left" | ||
724 | anchor "tl" | ||
725 | borderDistance 6 | ||
726 | ] | ||
727 | ] | ||
728 | |||
729 | node | ||
730 | [ | ||
731 | id 19 | ||
732 | graphics | ||
733 | [ | ||
734 | w 269.5 | ||
735 | h 68 | ||
736 | type "rectangle" | ||
737 | fill "#FFFFFF" | ||
738 | fill2 "#FFFFFF" | ||
739 | outline "#000000" | ||
740 | ] | ||
741 | LabelGraphics | ||
742 | [ | ||
743 | text "null" | ||
744 | outline "#000000" | ||
745 | fill "#FFFFFF" | ||
746 | fontSize 16 | ||
747 | fontName "Monospace" | ||
748 | autoSizePolicy "node_width" | ||
749 | anchor "t" | ||
750 | borderDistance 0.0 | ||
751 | ] | ||
752 | LabelGraphics | ||
753 | [ | ||
754 | text " | ||
755 | CommSubsystem class | ||
756 | UHFCommSubsystem class | ||
757 | CommSubsystem class UndefinedPart | ||
758 | " | ||
759 | fontSize 14 | ||
760 | fontName "Consolas" | ||
761 | alignment "left" | ||
762 | anchor "tl" | ||
763 | borderDistance 6 | ||
764 | ] | ||
765 | ] | ||
766 | |||
767 | node | ||
768 | [ | ||
769 | id 20 | ||
770 | graphics | ||
771 | [ | ||
772 | w 223.3 | ||
773 | h 54 | ||
774 | type "rectangle" | ||
775 | fill "#FFFFFF" | ||
776 | fill2 "#FFFFFF" | ||
777 | outline "#000000" | ||
778 | ] | ||
779 | LabelGraphics | ||
780 | [ | ||
781 | text "null" | ||
782 | outline "#000000" | ||
783 | fill "#FFFFFF" | ||
784 | fontSize 16 | ||
785 | fontName "Monospace" | ||
786 | autoSizePolicy "node_width" | ||
787 | anchor "t" | ||
788 | borderDistance 0.0 | ||
789 | ] | ||
790 | LabelGraphics | ||
791 | [ | ||
792 | text " | ||
793 | Payload class | ||
794 | InterferometryPayload class | ||
795 | " | ||
796 | fontSize 14 | ||
797 | fontName "Consolas" | ||
798 | alignment "left" | ||
799 | anchor "tl" | ||
800 | borderDistance 6 | ||
801 | ] | ||
802 | ] | ||
803 | |||
804 | node | ||
805 | [ | ||
806 | id 21 | ||
807 | graphics | ||
808 | [ | ||
809 | w 277.20000000000005 | ||
810 | h 82 | ||
811 | type "rectangle" | ||
812 | fill "#FFFFFF" | ||
813 | fill2 "#FFFFFF" | ||
814 | outline "#000000" | ||
815 | ] | ||
816 | LabelGraphics | ||
817 | [ | ||
818 | text "null" | ||
819 | outline "#000000" | ||
820 | fill "#FFFFFF" | ||
821 | fontSize 16 | ||
822 | fontName "Monospace" | ||
823 | autoSizePolicy "node_width" | ||
824 | anchor "t" | ||
825 | borderDistance 0.0 | ||
826 | ] | ||
827 | LabelGraphics | ||
828 | [ | ||
829 | text " | ||
830 | CommSubsystem class | ||
831 | XCommSubsystem class | ||
832 | CommSubsystem class UndefinedPart | ||
833 | XCommSubsystem class UndefinedPart | ||
834 | " | ||
835 | fontSize 14 | ||
836 | fontName "Consolas" | ||
837 | alignment "left" | ||
838 | anchor "tl" | ||
839 | borderDistance 6 | ||
840 | ] | ||
841 | ] | ||
842 | |||
843 | node | ||
844 | [ | ||
845 | id 22 | ||
846 | graphics | ||
847 | [ | ||
848 | w 323.40000000000003 | ||
849 | h 96 | ||
850 | type "rectangle" | ||
851 | fill "#FFFFFF" | ||
852 | fill2 "#FFFFFF" | ||
853 | outline "#000000" | ||
854 | ] | ||
855 | LabelGraphics | ||
856 | [ | ||
857 | text "null" | ||
858 | outline "#000000" | ||
859 | fill "#FFFFFF" | ||
860 | fontSize 16 | ||
861 | fontName "Monospace" | ||
862 | autoSizePolicy "node_width" | ||
863 | anchor "t" | ||
864 | borderDistance 0.0 | ||
865 | ] | ||
866 | LabelGraphics | ||
867 | [ | ||
868 | text " | ||
869 | CommunicatingElement class | ||
870 | Spacecraft class | ||
871 | CubeSat3U class | ||
872 | CubeSat class | ||
873 | CommunicatingElement class UndefinedPart | ||
874 | " | ||
875 | fontSize 14 | ||
876 | fontName "Consolas" | ||
877 | alignment "left" | ||
878 | anchor "tl" | ||
879 | borderDistance 6 | ||
880 | ] | ||
881 | ] | ||
882 | |||
883 | node | ||
884 | [ | ||
885 | id 23 | ||
886 | graphics | ||
887 | [ | ||
888 | w 223.3 | ||
889 | h 54 | ||
890 | type "rectangle" | ||
891 | fill "#FFFFFF" | ||
892 | fill2 "#FFFFFF" | ||
893 | outline "#000000" | ||
894 | ] | ||
895 | LabelGraphics | ||
896 | [ | ||
897 | text "null" | ||
898 | outline "#000000" | ||
899 | fill "#FFFFFF" | ||
900 | fontSize 16 | ||
901 | fontName "Monospace" | ||
902 | autoSizePolicy "node_width" | ||
903 | anchor "t" | ||
904 | borderDistance 0.0 | ||
905 | ] | ||
906 | LabelGraphics | ||
907 | [ | ||
908 | text " | ||
909 | Payload class | ||
910 | InterferometryPayload class | ||
911 | " | ||
912 | fontSize 14 | ||
913 | fontName "Consolas" | ||
914 | alignment "left" | ||
915 | anchor "tl" | ||
916 | borderDistance 6 | ||
917 | ] | ||
918 | ] | ||
919 | |||
920 | node | ||
921 | [ | ||
922 | id 24 | ||
923 | graphics | ||
924 | [ | ||
925 | w 269.5 | ||
926 | h 68 | ||
927 | type "rectangle" | ||
928 | fill "#FFFFFF" | ||
929 | fill2 "#FFFFFF" | ||
930 | outline "#000000" | ||
931 | ] | ||
932 | LabelGraphics | ||
933 | [ | ||
934 | text "null" | ||
935 | outline "#000000" | ||
936 | fill "#FFFFFF" | ||
937 | fontSize 16 | ||
938 | fontName "Monospace" | ||
939 | autoSizePolicy "node_width" | ||
940 | anchor "t" | ||
941 | borderDistance 0.0 | ||
942 | ] | ||
943 | LabelGraphics | ||
944 | [ | ||
945 | text " | ||
946 | CommSubsystem class | ||
947 | UHFCommSubsystem class | ||
948 | CommSubsystem class UndefinedPart | ||
949 | " | ||
950 | fontSize 14 | ||
951 | fontName "Consolas" | ||
952 | alignment "left" | ||
953 | anchor "tl" | ||
954 | borderDistance 6 | ||
955 | ] | ||
956 | ] | ||
957 | |||
958 | node | ||
959 | [ | ||
960 | id 25 | ||
961 | graphics | ||
962 | [ | ||
963 | w 277.20000000000005 | ||
964 | h 82 | ||
965 | type "rectangle" | ||
966 | fill "#FFFFFF" | ||
967 | fill2 "#FFFFFF" | ||
968 | outline "#000000" | ||
969 | ] | ||
970 | LabelGraphics | ||
971 | [ | ||
972 | text "null" | ||
973 | outline "#000000" | ||
974 | fill "#FFFFFF" | ||
975 | fontSize 16 | ||
976 | fontName "Monospace" | ||
977 | autoSizePolicy "node_width" | ||
978 | anchor "t" | ||
979 | borderDistance 0.0 | ||
980 | ] | ||
981 | LabelGraphics | ||
982 | [ | ||
983 | text " | ||
984 | CommSubsystem class | ||
985 | XCommSubsystem class | ||
986 | CommSubsystem class UndefinedPart | ||
987 | XCommSubsystem class UndefinedPart | ||
988 | " | ||
989 | fontSize 14 | ||
990 | fontName "Consolas" | ||
991 | alignment "left" | ||
992 | anchor "tl" | ||
993 | borderDistance 6 | ||
994 | ] | ||
995 | ] | ||
996 | |||
997 | node | ||
998 | [ | ||
999 | id 26 | ||
1000 | graphics | ||
1001 | [ | ||
1002 | w 323.40000000000003 | ||
1003 | h 96 | ||
1004 | type "rectangle" | ||
1005 | fill "#FFFFFF" | ||
1006 | fill2 "#FFFFFF" | ||
1007 | outline "#000000" | ||
1008 | ] | ||
1009 | LabelGraphics | ||
1010 | [ | ||
1011 | text "null" | ||
1012 | outline "#000000" | ||
1013 | fill "#FFFFFF" | ||
1014 | fontSize 16 | ||
1015 | fontName "Monospace" | ||
1016 | autoSizePolicy "node_width" | ||
1017 | anchor "t" | ||
1018 | borderDistance 0.0 | ||
1019 | ] | ||
1020 | LabelGraphics | ||
1021 | [ | ||
1022 | text " | ||
1023 | CommunicatingElement class | ||
1024 | Spacecraft class | ||
1025 | CubeSat6U class | ||
1026 | CubeSat class | ||
1027 | CommunicatingElement class UndefinedPart | ||
1028 | " | ||
1029 | fontSize 14 | ||
1030 | fontName "Consolas" | ||
1031 | alignment "left" | ||
1032 | anchor "tl" | ||
1033 | borderDistance 6 | ||
1034 | ] | ||
1035 | ] | ||
1036 | |||
1037 | node | ||
1038 | [ | ||
1039 | id 27 | ||
1040 | graphics | ||
1041 | [ | ||
1042 | w 223.3 | ||
1043 | h 54 | ||
1044 | type "rectangle" | ||
1045 | fill "#FFFFFF" | ||
1046 | fill2 "#FFFFFF" | ||
1047 | outline "#000000" | ||
1048 | ] | ||
1049 | LabelGraphics | ||
1050 | [ | ||
1051 | text "null" | ||
1052 | outline "#000000" | ||
1053 | fill "#FFFFFF" | ||
1054 | fontSize 16 | ||
1055 | fontName "Monospace" | ||
1056 | autoSizePolicy "node_width" | ||
1057 | anchor "t" | ||
1058 | borderDistance 0.0 | ||
1059 | ] | ||
1060 | LabelGraphics | ||
1061 | [ | ||
1062 | text " | ||
1063 | Payload class | ||
1064 | InterferometryPayload class | ||
1065 | " | ||
1066 | fontSize 14 | ||
1067 | fontName "Consolas" | ||
1068 | alignment "left" | ||
1069 | anchor "tl" | ||
1070 | borderDistance 6 | ||
1071 | ] | ||
1072 | ] | ||
1073 | |||
1074 | node | ||
1075 | [ | ||
1076 | id 28 | ||
1077 | graphics | ||
1078 | [ | ||
1079 | w 277.20000000000005 | ||
1080 | h 82 | ||
1081 | type "rectangle" | ||
1082 | fill "#FFFFFF" | ||
1083 | fill2 "#FFFFFF" | ||
1084 | outline "#000000" | ||
1085 | ] | ||
1086 | LabelGraphics | ||
1087 | [ | ||
1088 | text "null" | ||
1089 | outline "#000000" | ||
1090 | fill "#FFFFFF" | ||
1091 | fontSize 16 | ||
1092 | fontName "Monospace" | ||
1093 | autoSizePolicy "node_width" | ||
1094 | anchor "t" | ||
1095 | borderDistance 0.0 | ||
1096 | ] | ||
1097 | LabelGraphics | ||
1098 | [ | ||
1099 | text " | ||
1100 | CommSubsystem class | ||
1101 | XCommSubsystem class | ||
1102 | CommSubsystem class UndefinedPart | ||
1103 | XCommSubsystem class UndefinedPart | ||
1104 | " | ||
1105 | fontSize 14 | ||
1106 | fontName "Consolas" | ||
1107 | alignment "left" | ||
1108 | anchor "tl" | ||
1109 | borderDistance 6 | ||
1110 | ] | ||
1111 | ] | ||
1112 | |||
1113 | node | ||
1114 | [ | ||
1115 | id 29 | ||
1116 | graphics | ||
1117 | [ | ||
1118 | w 269.5 | ||
1119 | h 68 | ||
1120 | type "rectangle" | ||
1121 | fill "#FFFFFF" | ||
1122 | fill2 "#FFFFFF" | ||
1123 | outline "#000000" | ||
1124 | ] | ||
1125 | LabelGraphics | ||
1126 | [ | ||
1127 | text "null" | ||
1128 | outline "#000000" | ||
1129 | fill "#FFFFFF" | ||
1130 | fontSize 16 | ||
1131 | fontName "Monospace" | ||
1132 | autoSizePolicy "node_width" | ||
1133 | anchor "t" | ||
1134 | borderDistance 0.0 | ||
1135 | ] | ||
1136 | LabelGraphics | ||
1137 | [ | ||
1138 | text " | ||
1139 | CommSubsystem class | ||
1140 | UHFCommSubsystem class | ||
1141 | CommSubsystem class UndefinedPart | ||
1142 | " | ||
1143 | fontSize 14 | ||
1144 | fontName "Consolas" | ||
1145 | alignment "left" | ||
1146 | anchor "tl" | ||
1147 | borderDistance 6 | ||
1148 | ] | ||
1149 | ] | ||
1150 | |||
1151 | node | ||
1152 | [ | ||
1153 | id 30 | ||
1154 | graphics | ||
1155 | [ | ||
1156 | w 323.40000000000003 | ||
1157 | h 82 | ||
1158 | type "rectangle" | ||
1159 | fill "#FFFFFF" | ||
1160 | fill2 "#FFFFFF" | ||
1161 | outline "#000000" | ||
1162 | ] | ||
1163 | LabelGraphics | ||
1164 | [ | ||
1165 | text "null" | ||
1166 | outline "#000000" | ||
1167 | fill "#FFFFFF" | ||
1168 | fontSize 16 | ||
1169 | fontName "Monospace" | ||
1170 | autoSizePolicy "node_width" | ||
1171 | anchor "t" | ||
1172 | borderDistance 0.0 | ||
1173 | ] | ||
1174 | LabelGraphics | ||
1175 | [ | ||
1176 | text " | ||
1177 | CommunicatingElement class | ||
1178 | Spacecraft class | ||
1179 | SmallSat class | ||
1180 | CommunicatingElement class UndefinedPart | ||
1181 | " | ||
1182 | fontSize 14 | ||
1183 | fontName "Consolas" | ||
1184 | alignment "left" | ||
1185 | anchor "tl" | ||
1186 | borderDistance 6 | ||
1187 | ] | ||
1188 | ] | ||
1189 | |||
1190 | node | ||
1191 | [ | ||
1192 | id 31 | ||
1193 | graphics | ||
1194 | [ | ||
1195 | w 284.90000000000003 | ||
1196 | h 82 | ||
1197 | type "rectangle" | ||
1198 | fill "#FFFFFF" | ||
1199 | fill2 "#FFFFFF" | ||
1200 | outline "#000000" | ||
1201 | ] | ||
1202 | LabelGraphics | ||
1203 | [ | ||
1204 | text "null" | ||
1205 | outline "#000000" | ||
1206 | fill "#FFFFFF" | ||
1207 | fontSize 16 | ||
1208 | fontName "Monospace" | ||
1209 | autoSizePolicy "node_width" | ||
1210 | anchor "t" | ||
1211 | borderDistance 0.0 | ||
1212 | ] | ||
1213 | LabelGraphics | ||
1214 | [ | ||
1215 | text " | ||
1216 | CommSubsystem class | ||
1217 | KaCommSubsystem class | ||
1218 | CommSubsystem class UndefinedPart | ||
1219 | KaCommSubsystem class UndefinedPart | ||
1220 | " | ||
1221 | fontSize 14 | ||
1222 | fontName "Consolas" | ||
1223 | alignment "left" | ||
1224 | anchor "tl" | ||
1225 | borderDistance 6 | ||
1226 | ] | ||
1227 | ] | ||
1228 | |||
1229 | node | ||
1230 | [ | ||
1231 | id 32 | ||
1232 | graphics | ||
1233 | [ | ||
1234 | w 223.3 | ||
1235 | h 54 | ||
1236 | type "rectangle" | ||
1237 | fill "#FFFFFF" | ||
1238 | fill2 "#FFFFFF" | ||
1239 | outline "#000000" | ||
1240 | ] | ||
1241 | LabelGraphics | ||
1242 | [ | ||
1243 | text "null" | ||
1244 | outline "#000000" | ||
1245 | fill "#FFFFFF" | ||
1246 | fontSize 16 | ||
1247 | fontName "Monospace" | ||
1248 | autoSizePolicy "node_width" | ||
1249 | anchor "t" | ||
1250 | borderDistance 0.0 | ||
1251 | ] | ||
1252 | LabelGraphics | ||
1253 | [ | ||
1254 | text " | ||
1255 | Payload class | ||
1256 | InterferometryPayload class | ||
1257 | " | ||
1258 | fontSize 14 | ||
1259 | fontName "Consolas" | ||
1260 | alignment "left" | ||
1261 | anchor "tl" | ||
1262 | borderDistance 6 | ||
1263 | ] | ||
1264 | ] | ||
1265 | |||
1266 | node | ||
1267 | [ | ||
1268 | id 33 | ||
1269 | graphics | ||
1270 | [ | ||
1271 | w 284.90000000000003 | ||
1272 | h 82 | ||
1273 | type "rectangle" | ||
1274 | fill "#FFFFFF" | ||
1275 | fill2 "#FFFFFF" | ||
1276 | outline "#000000" | ||
1277 | ] | ||
1278 | LabelGraphics | ||
1279 | [ | ||
1280 | text "null" | ||
1281 | outline "#000000" | ||
1282 | fill "#FFFFFF" | ||
1283 | fontSize 16 | ||
1284 | fontName "Monospace" | ||
1285 | autoSizePolicy "node_width" | ||
1286 | anchor "t" | ||
1287 | borderDistance 0.0 | ||
1288 | ] | ||
1289 | LabelGraphics | ||
1290 | [ | ||
1291 | text " | ||
1292 | CommSubsystem class | ||
1293 | KaCommSubsystem class | ||
1294 | CommSubsystem class UndefinedPart | ||
1295 | KaCommSubsystem class UndefinedPart | ||
1296 | " | ||
1297 | fontSize 14 | ||
1298 | fontName "Consolas" | ||
1299 | alignment "left" | ||
1300 | anchor "tl" | ||
1301 | borderDistance 6 | ||
1302 | ] | ||
1303 | ] | ||
1304 | |||
1305 | node | ||
1306 | [ | ||
1307 | id 34 | ||
1308 | graphics | ||
1309 | [ | ||
1310 | w 323.40000000000003 | ||
1311 | h 82 | ||
1312 | type "rectangle" | ||
1313 | fill "#FFFFFF" | ||
1314 | fill2 "#FFFFFF" | ||
1315 | outline "#000000" | ||
1316 | ] | ||
1317 | LabelGraphics | ||
1318 | [ | ||
1319 | text "null" | ||
1320 | outline "#000000" | ||
1321 | fill "#FFFFFF" | ||
1322 | fontSize 16 | ||
1323 | fontName "Monospace" | ||
1324 | autoSizePolicy "node_width" | ||
1325 | anchor "t" | ||
1326 | borderDistance 0.0 | ||
1327 | ] | ||
1328 | LabelGraphics | ||
1329 | [ | ||
1330 | text " | ||
1331 | CommunicatingElement class | ||
1332 | Spacecraft class | ||
1333 | SmallSat class | ||
1334 | CommunicatingElement class UndefinedPart | ||
1335 | " | ||
1336 | fontSize 14 | ||
1337 | fontName "Consolas" | ||
1338 | alignment "left" | ||
1339 | anchor "tl" | ||
1340 | borderDistance 6 | ||
1341 | ] | ||
1342 | ] | ||
1343 | |||
1344 | node | ||
1345 | [ | ||
1346 | id 35 | ||
1347 | graphics | ||
1348 | [ | ||
1349 | w 284.90000000000003 | ||
1350 | h 82 | ||
1351 | type "rectangle" | ||
1352 | fill "#FFFFFF" | ||
1353 | fill2 "#FFFFFF" | ||
1354 | outline "#000000" | ||
1355 | ] | ||
1356 | LabelGraphics | ||
1357 | [ | ||
1358 | text "null" | ||
1359 | outline "#000000" | ||
1360 | fill "#FFFFFF" | ||
1361 | fontSize 16 | ||
1362 | fontName "Monospace" | ||
1363 | autoSizePolicy "node_width" | ||
1364 | anchor "t" | ||
1365 | borderDistance 0.0 | ||
1366 | ] | ||
1367 | LabelGraphics | ||
1368 | [ | ||
1369 | text " | ||
1370 | CommSubsystem class | ||
1371 | KaCommSubsystem class | ||
1372 | CommSubsystem class UndefinedPart | ||
1373 | KaCommSubsystem class UndefinedPart | ||
1374 | " | ||
1375 | fontSize 14 | ||
1376 | fontName "Consolas" | ||
1377 | alignment "left" | ||
1378 | anchor "tl" | ||
1379 | borderDistance 6 | ||
1380 | ] | ||
1381 | ] | ||
1382 | |||
1383 | node | ||
1384 | [ | ||
1385 | id 36 | ||
1386 | graphics | ||
1387 | [ | ||
1388 | w 223.3 | ||
1389 | h 54 | ||
1390 | type "rectangle" | ||
1391 | fill "#FFFFFF" | ||
1392 | fill2 "#FFFFFF" | ||
1393 | outline "#000000" | ||
1394 | ] | ||
1395 | LabelGraphics | ||
1396 | [ | ||
1397 | text "null" | ||
1398 | outline "#000000" | ||
1399 | fill "#FFFFFF" | ||
1400 | fontSize 16 | ||
1401 | fontName "Monospace" | ||
1402 | autoSizePolicy "node_width" | ||
1403 | anchor "t" | ||
1404 | borderDistance 0.0 | ||
1405 | ] | ||
1406 | LabelGraphics | ||
1407 | [ | ||
1408 | text " | ||
1409 | Payload class | ||
1410 | InterferometryPayload class | ||
1411 | " | ||
1412 | fontSize 14 | ||
1413 | fontName "Consolas" | ||
1414 | alignment "left" | ||
1415 | anchor "tl" | ||
1416 | borderDistance 6 | ||
1417 | ] | ||
1418 | ] | ||
1419 | |||
1420 | node | ||
1421 | [ | ||
1422 | id 37 | ||
1423 | graphics | ||
1424 | [ | ||
1425 | w 277.20000000000005 | ||
1426 | h 82 | ||
1427 | type "rectangle" | ||
1428 | fill "#FFFFFF" | ||
1429 | fill2 "#FFFFFF" | ||
1430 | outline "#000000" | ||
1431 | ] | ||
1432 | LabelGraphics | ||
1433 | [ | ||
1434 | text "null" | ||
1435 | outline "#000000" | ||
1436 | fill "#FFFFFF" | ||
1437 | fontSize 16 | ||
1438 | fontName "Monospace" | ||
1439 | autoSizePolicy "node_width" | ||
1440 | anchor "t" | ||
1441 | borderDistance 0.0 | ||
1442 | ] | ||
1443 | LabelGraphics | ||
1444 | [ | ||
1445 | text " | ||
1446 | CommSubsystem class | ||
1447 | XCommSubsystem class | ||
1448 | CommSubsystem class UndefinedPart | ||
1449 | XCommSubsystem class UndefinedPart | ||
1450 | " | ||
1451 | fontSize 14 | ||
1452 | fontName "Consolas" | ||
1453 | alignment "left" | ||
1454 | anchor "tl" | ||
1455 | borderDistance 6 | ||
1456 | ] | ||
1457 | ] | ||
1458 | |||
1459 | node | ||
1460 | [ | ||
1461 | id 38 | ||
1462 | graphics | ||
1463 | [ | ||
1464 | w 112.2 | ||
1465 | h 26 | ||
1466 | type "rectangle" | ||
1467 | fill "#FFFFFF" | ||
1468 | fill2 "#FFFFFF" | ||
1469 | outline "#000000" | ||
1470 | ] | ||
1471 | LabelGraphics | ||
1472 | [ | ||
1473 | text "New Integers" | ||
1474 | outline "#000000" | ||
1475 | fill "#FFFFFF" | ||
1476 | fontSize 16 | ||
1477 | fontName "Monospace" | ||
1478 | autoSizePolicy "node_width" | ||
1479 | anchor "t" | ||
1480 | borderDistance 0.0 | ||
1481 | ] | ||
1482 | LabelGraphics | ||
1483 | [ | ||
1484 | text " | ||
1485 | " | ||
1486 | fontSize 14 | ||
1487 | fontName "Consolas" | ||
1488 | alignment "left" | ||
1489 | anchor "tl" | ||
1490 | borderDistance 6 | ||
1491 | ] | ||
1492 | ] | ||
1493 | |||
1494 | node | ||
1495 | [ | ||
1496 | id 39 | ||
1497 | graphics | ||
1498 | [ | ||
1499 | w 85.80000000000001 | ||
1500 | h 26 | ||
1501 | type "rectangle" | ||
1502 | fill "#FFFFFF" | ||
1503 | fill2 "#FFFFFF" | ||
1504 | outline "#000000" | ||
1505 | ] | ||
1506 | LabelGraphics | ||
1507 | [ | ||
1508 | text "New Reals" | ||
1509 | outline "#000000" | ||
1510 | fill "#FFFFFF" | ||
1511 | fontSize 16 | ||
1512 | fontName "Monospace" | ||
1513 | autoSizePolicy "node_width" | ||
1514 | anchor "t" | ||
1515 | borderDistance 0.0 | ||
1516 | ] | ||
1517 | LabelGraphics | ||
1518 | [ | ||
1519 | text " | ||
1520 | " | ||
1521 | fontSize 14 | ||
1522 | fontName "Consolas" | ||
1523 | alignment "left" | ||
1524 | anchor "tl" | ||
1525 | borderDistance 6 | ||
1526 | ] | ||
1527 | ] | ||
1528 | |||
1529 | node | ||
1530 | [ | ||
1531 | id 40 | ||
1532 | graphics | ||
1533 | [ | ||
1534 | w 103.4 | ||
1535 | h 26 | ||
1536 | type "rectangle" | ||
1537 | fill "#FFFFFF" | ||
1538 | fill2 "#FFFFFF" | ||
1539 | outline "#000000" | ||
1540 | ] | ||
1541 | LabelGraphics | ||
1542 | [ | ||
1543 | text "New Strings" | ||
1544 | outline "#000000" | ||
1545 | fill "#FFFFFF" | ||
1546 | fontSize 16 | ||
1547 | fontName "Monospace" | ||
1548 | autoSizePolicy "node_width" | ||
1549 | anchor "t" | ||
1550 | borderDistance 0.0 | ||
1551 | ] | ||
1552 | LabelGraphics | ||
1553 | [ | ||
1554 | text " | ||
1555 | " | ||
1556 | fontSize 14 | ||
1557 | fontName "Consolas" | ||
1558 | alignment "left" | ||
1559 | anchor "tl" | ||
1560 | borderDistance 6 | ||
1561 | ] | ||
1562 | ] | ||
1563 | |||
1564 | node | ||
1565 | [ | ||
1566 | id 41 | ||
1567 | graphics | ||
1568 | [ | ||
1569 | w 103.4 | ||
1570 | h 26 | ||
1571 | type "rectangle" | ||
1572 | fill "#FFFFFF" | ||
1573 | fill2 "#FFFFFF" | ||
1574 | outline "#000000" | ||
1575 | ] | ||
1576 | LabelGraphics | ||
1577 | [ | ||
1578 | text "New Objects" | ||
1579 | outline "#000000" | ||
1580 | fill "#FFFFFF" | ||
1581 | fontSize 16 | ||
1582 | fontName "Monospace" | ||
1583 | autoSizePolicy "node_width" | ||
1584 | anchor "t" | ||
1585 | borderDistance 0.0 | ||
1586 | ] | ||
1587 | LabelGraphics | ||
1588 | [ | ||
1589 | text " | ||
1590 | " | ||
1591 | fontSize 14 | ||
1592 | fontName "Consolas" | ||
1593 | alignment "left" | ||
1594 | anchor "tl" | ||
1595 | borderDistance 6 | ||
1596 | ] | ||
1597 | ] | ||
1598 | edge | ||
1599 | [ | ||
1600 | source 0 | ||
1601 | target 1 | ||
1602 | graphics | ||
1603 | [ | ||
1604 | fill "#000000" | ||
1605 | width 3 | ||
1606 | targetArrow "standard" | ||
1607 | ] | ||
1608 | LabelGraphics | ||
1609 | [ | ||
1610 | text "groundStationNetwork reference ConstellationMission" | ||
1611 | fontSize 14 | ||
1612 | fontName "Consolas" | ||
1613 | configuration "AutoFlippingLabel" | ||
1614 | model "six_pos" | ||
1615 | position "thead" | ||
1616 | ] | ||
1617 | ] | ||
1618 | edge | ||
1619 | [ | ||
1620 | source 0 | ||
1621 | target 6 | ||
1622 | graphics | ||
1623 | [ | ||
1624 | fill "#000000" | ||
1625 | width 3 | ||
1626 | targetArrow "standard" | ||
1627 | ] | ||
1628 | LabelGraphics | ||
1629 | [ | ||
1630 | text "spacecraft reference ConstellationMission" | ||
1631 | fontSize 14 | ||
1632 | fontName "Consolas" | ||
1633 | configuration "AutoFlippingLabel" | ||
1634 | model "six_pos" | ||
1635 | position "thead" | ||
1636 | ] | ||
1637 | ] | ||
1638 | edge | ||
1639 | [ | ||
1640 | source 0 | ||
1641 | target 10 | ||
1642 | graphics | ||
1643 | [ | ||
1644 | fill "#000000" | ||
1645 | width 3 | ||
1646 | targetArrow "standard" | ||
1647 | ] | ||
1648 | LabelGraphics | ||
1649 | [ | ||
1650 | text "spacecraft reference ConstellationMission" | ||
1651 | fontSize 14 | ||
1652 | fontName "Consolas" | ||
1653 | configuration "AutoFlippingLabel" | ||
1654 | model "six_pos" | ||
1655 | position "thead" | ||
1656 | ] | ||
1657 | ] | ||
1658 | edge | ||
1659 | [ | ||
1660 | source 0 | ||
1661 | target 14 | ||
1662 | graphics | ||
1663 | [ | ||
1664 | fill "#000000" | ||
1665 | width 3 | ||
1666 | targetArrow "standard" | ||
1667 | ] | ||
1668 | LabelGraphics | ||
1669 | [ | ||
1670 | text "spacecraft reference ConstellationMission" | ||
1671 | fontSize 14 | ||
1672 | fontName "Consolas" | ||
1673 | configuration "AutoFlippingLabel" | ||
1674 | model "six_pos" | ||
1675 | position "thead" | ||
1676 | ] | ||
1677 | ] | ||
1678 | edge | ||
1679 | [ | ||
1680 | source 0 | ||
1681 | target 18 | ||
1682 | graphics | ||
1683 | [ | ||
1684 | fill "#000000" | ||
1685 | width 3 | ||
1686 | targetArrow "standard" | ||
1687 | ] | ||
1688 | LabelGraphics | ||
1689 | [ | ||
1690 | text "spacecraft reference ConstellationMission" | ||
1691 | fontSize 14 | ||
1692 | fontName "Consolas" | ||
1693 | configuration "AutoFlippingLabel" | ||
1694 | model "six_pos" | ||
1695 | position "thead" | ||
1696 | ] | ||
1697 | ] | ||
1698 | edge | ||
1699 | [ | ||
1700 | source 0 | ||
1701 | target 22 | ||
1702 | graphics | ||
1703 | [ | ||
1704 | fill "#000000" | ||
1705 | width 3 | ||
1706 | targetArrow "standard" | ||
1707 | ] | ||
1708 | LabelGraphics | ||
1709 | [ | ||
1710 | text "spacecraft reference ConstellationMission" | ||
1711 | fontSize 14 | ||
1712 | fontName "Consolas" | ||
1713 | configuration "AutoFlippingLabel" | ||
1714 | model "six_pos" | ||
1715 | position "thead" | ||
1716 | ] | ||
1717 | ] | ||
1718 | edge | ||
1719 | [ | ||
1720 | source 0 | ||
1721 | target 26 | ||
1722 | graphics | ||
1723 | [ | ||
1724 | fill "#000000" | ||
1725 | width 3 | ||
1726 | targetArrow "standard" | ||
1727 | ] | ||
1728 | LabelGraphics | ||
1729 | [ | ||
1730 | text "spacecraft reference ConstellationMission" | ||
1731 | fontSize 14 | ||
1732 | fontName "Consolas" | ||
1733 | configuration "AutoFlippingLabel" | ||
1734 | model "six_pos" | ||
1735 | position "thead" | ||
1736 | ] | ||
1737 | ] | ||
1738 | edge | ||
1739 | [ | ||
1740 | source 0 | ||
1741 | target 30 | ||
1742 | graphics | ||
1743 | [ | ||
1744 | fill "#000000" | ||
1745 | width 3 | ||
1746 | targetArrow "standard" | ||
1747 | ] | ||
1748 | LabelGraphics | ||
1749 | [ | ||
1750 | text "spacecraft reference ConstellationMission" | ||
1751 | fontSize 14 | ||
1752 | fontName "Consolas" | ||
1753 | configuration "AutoFlippingLabel" | ||
1754 | model "six_pos" | ||
1755 | position "thead" | ||
1756 | ] | ||
1757 | ] | ||
1758 | edge | ||
1759 | [ | ||
1760 | source 0 | ||
1761 | target 34 | ||
1762 | graphics | ||
1763 | [ | ||
1764 | fill "#000000" | ||
1765 | width 3 | ||
1766 | targetArrow "standard" | ||
1767 | ] | ||
1768 | LabelGraphics | ||
1769 | [ | ||
1770 | text "spacecraft reference ConstellationMission" | ||
1771 | fontSize 14 | ||
1772 | fontName "Consolas" | ||
1773 | configuration "AutoFlippingLabel" | ||
1774 | model "six_pos" | ||
1775 | position "thead" | ||
1776 | ] | ||
1777 | ] | ||
1778 | edge | ||
1779 | [ | ||
1780 | source 1 | ||
1781 | target 2 | ||
1782 | graphics | ||
1783 | [ | ||
1784 | fill "#000000" | ||
1785 | width 3 | ||
1786 | targetArrow "standard" | ||
1787 | ] | ||
1788 | LabelGraphics | ||
1789 | [ | ||
1790 | text "commSubsystem reference CommunicatingElement" | ||
1791 | fontSize 14 | ||
1792 | fontName "Consolas" | ||
1793 | configuration "AutoFlippingLabel" | ||
1794 | model "six_pos" | ||
1795 | position "thead" | ||
1796 | ] | ||
1797 | ] | ||
1798 | edge | ||
1799 | [ | ||
1800 | source 1 | ||
1801 | target 3 | ||
1802 | graphics | ||
1803 | [ | ||
1804 | fill "#000000" | ||
1805 | width 3 | ||
1806 | targetArrow "standard" | ||
1807 | ] | ||
1808 | LabelGraphics | ||
1809 | [ | ||
1810 | text "commSubsystem reference CommunicatingElement" | ||
1811 | fontSize 14 | ||
1812 | fontName "Consolas" | ||
1813 | configuration "AutoFlippingLabel" | ||
1814 | model "six_pos" | ||
1815 | position "thead" | ||
1816 | ] | ||
1817 | ] | ||
1818 | edge | ||
1819 | [ | ||
1820 | source 6 | ||
1821 | target 7 | ||
1822 | graphics | ||
1823 | [ | ||
1824 | fill "#000000" | ||
1825 | width 3 | ||
1826 | targetArrow "standard" | ||
1827 | ] | ||
1828 | LabelGraphics | ||
1829 | [ | ||
1830 | text "commSubsystem reference CommunicatingElement" | ||
1831 | fontSize 14 | ||
1832 | fontName "Consolas" | ||
1833 | configuration "AutoFlippingLabel" | ||
1834 | model "six_pos" | ||
1835 | position "thead" | ||
1836 | ] | ||
1837 | ] | ||
1838 | edge | ||
1839 | [ | ||
1840 | source 6 | ||
1841 | target 8 | ||
1842 | graphics | ||
1843 | [ | ||
1844 | fill "#000000" | ||
1845 | width 3 | ||
1846 | targetArrow "standard" | ||
1847 | ] | ||
1848 | LabelGraphics | ||
1849 | [ | ||
1850 | text "commSubsystem reference CommunicatingElement" | ||
1851 | fontSize 14 | ||
1852 | fontName "Consolas" | ||
1853 | configuration "AutoFlippingLabel" | ||
1854 | model "six_pos" | ||
1855 | position "thead" | ||
1856 | ] | ||
1857 | ] | ||
1858 | edge | ||
1859 | [ | ||
1860 | source 10 | ||
1861 | target 11 | ||
1862 | graphics | ||
1863 | [ | ||
1864 | fill "#000000" | ||
1865 | width 3 | ||
1866 | targetArrow "standard" | ||
1867 | ] | ||
1868 | LabelGraphics | ||
1869 | [ | ||
1870 | text "commSubsystem reference CommunicatingElement" | ||
1871 | fontSize 14 | ||
1872 | fontName "Consolas" | ||
1873 | configuration "AutoFlippingLabel" | ||
1874 | model "six_pos" | ||
1875 | position "thead" | ||
1876 | ] | ||
1877 | ] | ||
1878 | edge | ||
1879 | [ | ||
1880 | source 10 | ||
1881 | target 12 | ||
1882 | graphics | ||
1883 | [ | ||
1884 | fill "#000000" | ||
1885 | width 3 | ||
1886 | targetArrow "standard" | ||
1887 | ] | ||
1888 | LabelGraphics | ||
1889 | [ | ||
1890 | text "commSubsystem reference CommunicatingElement" | ||
1891 | fontSize 14 | ||
1892 | fontName "Consolas" | ||
1893 | configuration "AutoFlippingLabel" | ||
1894 | model "six_pos" | ||
1895 | position "thead" | ||
1896 | ] | ||
1897 | ] | ||
1898 | edge | ||
1899 | [ | ||
1900 | source 14 | ||
1901 | target 15 | ||
1902 | graphics | ||
1903 | [ | ||
1904 | fill "#000000" | ||
1905 | width 3 | ||
1906 | targetArrow "standard" | ||
1907 | ] | ||
1908 | LabelGraphics | ||
1909 | [ | ||
1910 | text "commSubsystem reference CommunicatingElement" | ||
1911 | fontSize 14 | ||
1912 | fontName "Consolas" | ||
1913 | configuration "AutoFlippingLabel" | ||
1914 | model "six_pos" | ||
1915 | position "thead" | ||
1916 | ] | ||
1917 | ] | ||
1918 | edge | ||
1919 | [ | ||
1920 | source 14 | ||
1921 | target 17 | ||
1922 | graphics | ||
1923 | [ | ||
1924 | fill "#000000" | ||
1925 | width 3 | ||
1926 | targetArrow "standard" | ||
1927 | ] | ||
1928 | LabelGraphics | ||
1929 | [ | ||
1930 | text "commSubsystem reference CommunicatingElement" | ||
1931 | fontSize 14 | ||
1932 | fontName "Consolas" | ||
1933 | configuration "AutoFlippingLabel" | ||
1934 | model "six_pos" | ||
1935 | position "thead" | ||
1936 | ] | ||
1937 | ] | ||
1938 | edge | ||
1939 | [ | ||
1940 | source 18 | ||
1941 | target 19 | ||
1942 | graphics | ||
1943 | [ | ||
1944 | fill "#000000" | ||
1945 | width 3 | ||
1946 | targetArrow "standard" | ||
1947 | ] | ||
1948 | LabelGraphics | ||
1949 | [ | ||
1950 | text "commSubsystem reference CommunicatingElement" | ||
1951 | fontSize 14 | ||
1952 | fontName "Consolas" | ||
1953 | configuration "AutoFlippingLabel" | ||
1954 | model "six_pos" | ||
1955 | position "thead" | ||
1956 | ] | ||
1957 | ] | ||
1958 | edge | ||
1959 | [ | ||
1960 | source 18 | ||
1961 | target 21 | ||
1962 | graphics | ||
1963 | [ | ||
1964 | fill "#000000" | ||
1965 | width 3 | ||
1966 | targetArrow "standard" | ||
1967 | ] | ||
1968 | LabelGraphics | ||
1969 | [ | ||
1970 | text "commSubsystem reference CommunicatingElement" | ||
1971 | fontSize 14 | ||
1972 | fontName "Consolas" | ||
1973 | configuration "AutoFlippingLabel" | ||
1974 | model "six_pos" | ||
1975 | position "thead" | ||
1976 | ] | ||
1977 | ] | ||
1978 | edge | ||
1979 | [ | ||
1980 | source 22 | ||
1981 | target 24 | ||
1982 | graphics | ||
1983 | [ | ||
1984 | fill "#000000" | ||
1985 | width 3 | ||
1986 | targetArrow "standard" | ||
1987 | ] | ||
1988 | LabelGraphics | ||
1989 | [ | ||
1990 | text "commSubsystem reference CommunicatingElement" | ||
1991 | fontSize 14 | ||
1992 | fontName "Consolas" | ||
1993 | configuration "AutoFlippingLabel" | ||
1994 | model "six_pos" | ||
1995 | position "thead" | ||
1996 | ] | ||
1997 | ] | ||
1998 | edge | ||
1999 | [ | ||
2000 | source 22 | ||
2001 | target 25 | ||
2002 | graphics | ||
2003 | [ | ||
2004 | fill "#000000" | ||
2005 | width 3 | ||
2006 | targetArrow "standard" | ||
2007 | ] | ||
2008 | LabelGraphics | ||
2009 | [ | ||
2010 | text "commSubsystem reference CommunicatingElement" | ||
2011 | fontSize 14 | ||
2012 | fontName "Consolas" | ||
2013 | configuration "AutoFlippingLabel" | ||
2014 | model "six_pos" | ||
2015 | position "thead" | ||
2016 | ] | ||
2017 | ] | ||
2018 | edge | ||
2019 | [ | ||
2020 | source 26 | ||
2021 | target 28 | ||
2022 | graphics | ||
2023 | [ | ||
2024 | fill "#000000" | ||
2025 | width 3 | ||
2026 | targetArrow "standard" | ||
2027 | ] | ||
2028 | LabelGraphics | ||
2029 | [ | ||
2030 | text "commSubsystem reference CommunicatingElement" | ||
2031 | fontSize 14 | ||
2032 | fontName "Consolas" | ||
2033 | configuration "AutoFlippingLabel" | ||
2034 | model "six_pos" | ||
2035 | position "thead" | ||
2036 | ] | ||
2037 | ] | ||
2038 | edge | ||
2039 | [ | ||
2040 | source 26 | ||
2041 | target 29 | ||
2042 | graphics | ||
2043 | [ | ||
2044 | fill "#000000" | ||
2045 | width 3 | ||
2046 | targetArrow "standard" | ||
2047 | ] | ||
2048 | LabelGraphics | ||
2049 | [ | ||
2050 | text "commSubsystem reference CommunicatingElement" | ||
2051 | fontSize 14 | ||
2052 | fontName "Consolas" | ||
2053 | configuration "AutoFlippingLabel" | ||
2054 | model "six_pos" | ||
2055 | position "thead" | ||
2056 | ] | ||
2057 | ] | ||
2058 | edge | ||
2059 | [ | ||
2060 | source 30 | ||
2061 | target 31 | ||
2062 | graphics | ||
2063 | [ | ||
2064 | fill "#000000" | ||
2065 | width 3 | ||
2066 | targetArrow "standard" | ||
2067 | ] | ||
2068 | LabelGraphics | ||
2069 | [ | ||
2070 | text "commSubsystem reference CommunicatingElement" | ||
2071 | fontSize 14 | ||
2072 | fontName "Consolas" | ||
2073 | configuration "AutoFlippingLabel" | ||
2074 | model "six_pos" | ||
2075 | position "thead" | ||
2076 | ] | ||
2077 | ] | ||
2078 | edge | ||
2079 | [ | ||
2080 | source 30 | ||
2081 | target 33 | ||
2082 | graphics | ||
2083 | [ | ||
2084 | fill "#000000" | ||
2085 | width 3 | ||
2086 | targetArrow "standard" | ||
2087 | ] | ||
2088 | LabelGraphics | ||
2089 | [ | ||
2090 | text "commSubsystem reference CommunicatingElement" | ||
2091 | fontSize 14 | ||
2092 | fontName "Consolas" | ||
2093 | configuration "AutoFlippingLabel" | ||
2094 | model "six_pos" | ||
2095 | position "thead" | ||
2096 | ] | ||
2097 | ] | ||
2098 | edge | ||
2099 | [ | ||
2100 | source 34 | ||
2101 | target 35 | ||
2102 | graphics | ||
2103 | [ | ||
2104 | fill "#000000" | ||
2105 | width 3 | ||
2106 | targetArrow "standard" | ||
2107 | ] | ||
2108 | LabelGraphics | ||
2109 | [ | ||
2110 | text "commSubsystem reference CommunicatingElement" | ||
2111 | fontSize 14 | ||
2112 | fontName "Consolas" | ||
2113 | configuration "AutoFlippingLabel" | ||
2114 | model "six_pos" | ||
2115 | position "thead" | ||
2116 | ] | ||
2117 | ] | ||
2118 | edge | ||
2119 | [ | ||
2120 | source 34 | ||
2121 | target 37 | ||
2122 | graphics | ||
2123 | [ | ||
2124 | fill "#000000" | ||
2125 | width 3 | ||
2126 | targetArrow "standard" | ||
2127 | ] | ||
2128 | LabelGraphics | ||
2129 | [ | ||
2130 | text "commSubsystem reference CommunicatingElement" | ||
2131 | fontSize 14 | ||
2132 | fontName "Consolas" | ||
2133 | configuration "AutoFlippingLabel" | ||
2134 | model "six_pos" | ||
2135 | position "thead" | ||
2136 | ] | ||
2137 | ] | ||
2138 | edge | ||
2139 | [ | ||
2140 | source 6 | ||
2141 | target 9 | ||
2142 | graphics | ||
2143 | [ | ||
2144 | fill "#000000" | ||
2145 | width 3 | ||
2146 | targetArrow "standard" | ||
2147 | ] | ||
2148 | LabelGraphics | ||
2149 | [ | ||
2150 | text "payload reference Spacecraft" | ||
2151 | fontSize 14 | ||
2152 | fontName "Consolas" | ||
2153 | configuration "AutoFlippingLabel" | ||
2154 | model "six_pos" | ||
2155 | position "thead" | ||
2156 | ] | ||
2157 | ] | ||
2158 | edge | ||
2159 | [ | ||
2160 | source 10 | ||
2161 | target 13 | ||
2162 | graphics | ||
2163 | [ | ||
2164 | fill "#000000" | ||
2165 | width 3 | ||
2166 | targetArrow "standard" | ||
2167 | ] | ||
2168 | LabelGraphics | ||
2169 | [ | ||
2170 | text "payload reference Spacecraft" | ||
2171 | fontSize 14 | ||
2172 | fontName "Consolas" | ||
2173 | configuration "AutoFlippingLabel" | ||
2174 | model "six_pos" | ||
2175 | position "thead" | ||
2176 | ] | ||
2177 | ] | ||
2178 | edge | ||
2179 | [ | ||
2180 | source 14 | ||
2181 | target 16 | ||
2182 | graphics | ||
2183 | [ | ||
2184 | fill "#000000" | ||
2185 | width 3 | ||
2186 | targetArrow "standard" | ||
2187 | ] | ||
2188 | LabelGraphics | ||
2189 | [ | ||
2190 | text "payload reference Spacecraft" | ||
2191 | fontSize 14 | ||
2192 | fontName "Consolas" | ||
2193 | configuration "AutoFlippingLabel" | ||
2194 | model "six_pos" | ||
2195 | position "thead" | ||
2196 | ] | ||
2197 | ] | ||
2198 | edge | ||
2199 | [ | ||
2200 | source 18 | ||
2201 | target 20 | ||
2202 | graphics | ||
2203 | [ | ||
2204 | fill "#000000" | ||
2205 | width 3 | ||
2206 | targetArrow "standard" | ||
2207 | ] | ||
2208 | LabelGraphics | ||
2209 | [ | ||
2210 | text "payload reference Spacecraft" | ||
2211 | fontSize 14 | ||
2212 | fontName "Consolas" | ||
2213 | configuration "AutoFlippingLabel" | ||
2214 | model "six_pos" | ||
2215 | position "thead" | ||
2216 | ] | ||
2217 | ] | ||
2218 | edge | ||
2219 | [ | ||
2220 | source 22 | ||
2221 | target 23 | ||
2222 | graphics | ||
2223 | [ | ||
2224 | fill "#000000" | ||
2225 | width 3 | ||
2226 | targetArrow "standard" | ||
2227 | ] | ||
2228 | LabelGraphics | ||
2229 | [ | ||
2230 | text "payload reference Spacecraft" | ||
2231 | fontSize 14 | ||
2232 | fontName "Consolas" | ||
2233 | configuration "AutoFlippingLabel" | ||
2234 | model "six_pos" | ||
2235 | position "thead" | ||
2236 | ] | ||
2237 | ] | ||
2238 | edge | ||
2239 | [ | ||
2240 | source 26 | ||
2241 | target 27 | ||
2242 | graphics | ||
2243 | [ | ||
2244 | fill "#000000" | ||
2245 | width 3 | ||
2246 | targetArrow "standard" | ||
2247 | ] | ||
2248 | LabelGraphics | ||
2249 | [ | ||
2250 | text "payload reference Spacecraft" | ||
2251 | fontSize 14 | ||
2252 | fontName "Consolas" | ||
2253 | configuration "AutoFlippingLabel" | ||
2254 | model "six_pos" | ||
2255 | position "thead" | ||
2256 | ] | ||
2257 | ] | ||
2258 | edge | ||
2259 | [ | ||
2260 | source 30 | ||
2261 | target 32 | ||
2262 | graphics | ||
2263 | [ | ||
2264 | fill "#000000" | ||
2265 | width 3 | ||
2266 | targetArrow "standard" | ||
2267 | ] | ||
2268 | LabelGraphics | ||
2269 | [ | ||
2270 | text "payload reference Spacecraft" | ||
2271 | fontSize 14 | ||
2272 | fontName "Consolas" | ||
2273 | configuration "AutoFlippingLabel" | ||
2274 | model "six_pos" | ||
2275 | position "thead" | ||
2276 | ] | ||
2277 | ] | ||
2278 | edge | ||
2279 | [ | ||
2280 | source 34 | ||
2281 | target 36 | ||
2282 | graphics | ||
2283 | [ | ||
2284 | fill "#000000" | ||
2285 | width 3 | ||
2286 | targetArrow "standard" | ||
2287 | ] | ||
2288 | LabelGraphics | ||
2289 | [ | ||
2290 | text "payload reference Spacecraft" | ||
2291 | fontSize 14 | ||
2292 | fontName "Consolas" | ||
2293 | configuration "AutoFlippingLabel" | ||
2294 | model "six_pos" | ||
2295 | position "thead" | ||
2296 | ] | ||
2297 | ] | ||
2298 | edge | ||
2299 | [ | ||
2300 | source 11 | ||
2301 | target 2 | ||
2302 | graphics | ||
2303 | [ | ||
2304 | fill "#000000" | ||
2305 | targetArrow "standard" | ||
2306 | ] | ||
2307 | LabelGraphics | ||
2308 | [ | ||
2309 | text "target reference CommSubsystem" | ||
2310 | fontSize 14 | ||
2311 | fontName "Consolas" | ||
2312 | configuration "AutoFlippingLabel" | ||
2313 | model "six_pos" | ||
2314 | position "thead" | ||
2315 | ] | ||
2316 | ] | ||
2317 | edge | ||
2318 | [ | ||
2319 | source 15 | ||
2320 | target 2 | ||
2321 | graphics | ||
2322 | [ | ||
2323 | fill "#000000" | ||
2324 | targetArrow "standard" | ||
2325 | ] | ||
2326 | LabelGraphics | ||
2327 | [ | ||
2328 | text "target reference CommSubsystem" | ||
2329 | fontSize 14 | ||
2330 | fontName "Consolas" | ||
2331 | configuration "AutoFlippingLabel" | ||
2332 | model "six_pos" | ||
2333 | position "thead" | ||
2334 | ] | ||
2335 | ] | ||
2336 | edge | ||
2337 | [ | ||
2338 | source 8 | ||
2339 | target 17 | ||
2340 | graphics | ||
2341 | [ | ||
2342 | fill "#000000" | ||
2343 | targetArrow "standard" | ||
2344 | ] | ||
2345 | LabelGraphics | ||
2346 | [ | ||
2347 | text "target reference CommSubsystem" | ||
2348 | fontSize 14 | ||
2349 | fontName "Consolas" | ||
2350 | configuration "AutoFlippingLabel" | ||
2351 | model "six_pos" | ||
2352 | position "thead" | ||
2353 | ] | ||
2354 | ] | ||
2355 | edge | ||
2356 | [ | ||
2357 | source 19 | ||
2358 | target 8 | ||
2359 | graphics | ||
2360 | [ | ||
2361 | fill "#000000" | ||
2362 | targetArrow "standard" | ||
2363 | ] | ||
2364 | LabelGraphics | ||
2365 | [ | ||
2366 | text "target reference CommSubsystem" | ||
2367 | fontSize 14 | ||
2368 | fontName "Consolas" | ||
2369 | configuration "AutoFlippingLabel" | ||
2370 | model "six_pos" | ||
2371 | position "thead" | ||
2372 | ] | ||
2373 | ] | ||
2374 | edge | ||
2375 | [ | ||
2376 | source 24 | ||
2377 | target 8 | ||
2378 | graphics | ||
2379 | [ | ||
2380 | fill "#000000" | ||
2381 | targetArrow "standard" | ||
2382 | ] | ||
2383 | LabelGraphics | ||
2384 | [ | ||
2385 | text "target reference CommSubsystem" | ||
2386 | fontSize 14 | ||
2387 | fontName "Consolas" | ||
2388 | configuration "AutoFlippingLabel" | ||
2389 | model "six_pos" | ||
2390 | position "thead" | ||
2391 | ] | ||
2392 | ] | ||
2393 | edge | ||
2394 | [ | ||
2395 | source 28 | ||
2396 | target 2 | ||
2397 | graphics | ||
2398 | [ | ||
2399 | fill "#000000" | ||
2400 | targetArrow "standard" | ||
2401 | ] | ||
2402 | LabelGraphics | ||
2403 | [ | ||
2404 | text "target reference CommSubsystem" | ||
2405 | fontSize 14 | ||
2406 | fontName "Consolas" | ||
2407 | configuration "AutoFlippingLabel" | ||
2408 | model "six_pos" | ||
2409 | position "thead" | ||
2410 | ] | ||
2411 | ] | ||
2412 | edge | ||
2413 | [ | ||
2414 | source 31 | ||
2415 | target 12 | ||
2416 | graphics | ||
2417 | [ | ||
2418 | fill "#000000" | ||
2419 | targetArrow "standard" | ||
2420 | ] | ||
2421 | LabelGraphics | ||
2422 | [ | ||
2423 | text "target reference CommSubsystem" | ||
2424 | fontSize 14 | ||
2425 | fontName "Consolas" | ||
2426 | configuration "AutoFlippingLabel" | ||
2427 | model "six_pos" | ||
2428 | position "thead" | ||
2429 | ] | ||
2430 | ] | ||
2431 | edge | ||
2432 | [ | ||
2433 | source 35 | ||
2434 | target 3 | ||
2435 | graphics | ||
2436 | [ | ||
2437 | fill "#000000" | ||
2438 | targetArrow "standard" | ||
2439 | ] | ||
2440 | LabelGraphics | ||
2441 | [ | ||
2442 | text "target reference CommSubsystem" | ||
2443 | fontSize 14 | ||
2444 | fontName "Consolas" | ||
2445 | configuration "AutoFlippingLabel" | ||
2446 | model "six_pos" | ||
2447 | position "thead" | ||
2448 | ] | ||
2449 | ] | ||
2450 | ] | ||
2451 | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.png deleted file mode 100644 index 5a090707..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi deleted file mode 100644 index fe90db85..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore"> | ||
3 | <groundStationNetwork> | ||
4 | <commSubsystem xsi:type="satellite:KaCommSubsystem"/> | ||
5 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
6 | </groundStationNetwork> | ||
7 | <spacecraft xsi:type="satellite:CubeSat6U"> | ||
8 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
9 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
10 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
11 | </spacecraft> | ||
12 | <spacecraft xsi:type="satellite:SmallSat"> | ||
13 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
14 | <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@groundStationNetwork/@commSubsystem.0"/> | ||
15 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
16 | </spacecraft> | ||
17 | <spacecraft xsi:type="satellite:CubeSat6U"> | ||
18 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
19 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
20 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
21 | </spacecraft> | ||
22 | <spacecraft xsi:type="satellite:SmallSat"> | ||
23 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.2/@commSubsystem.1"/> | ||
24 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
25 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
26 | </spacecraft> | ||
27 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
28 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
29 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/> | ||
30 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
31 | </spacecraft> | ||
32 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
33 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/> | ||
34 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
35 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
36 | </spacecraft> | ||
37 | <spacecraft xsi:type="satellite:SmallSat"> | ||
38 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
39 | <commSubsystem xsi:type="satellite:KaCommSubsystem"/> | ||
40 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
41 | </spacecraft> | ||
42 | <spacecraft xsi:type="satellite:SmallSat"> | ||
43 | <commSubsystem xsi:type="satellite:KaCommSubsystem"/> | ||
44 | <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@spacecraft.6/@commSubsystem.1"/> | ||
45 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
46 | </spacecraft> | ||
47 | </satellite:InterferometryMission> | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml deleted file mode 100644 index 8e761fef..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml +++ /dev/null | |||
@@ -1,2451 +0,0 @@ | |||
1 | graph | ||
2 | [ | ||
3 | node | ||
4 | [ | ||
5 | id 0 | ||
6 | graphics | ||
7 | [ | ||
8 | w 315.70000000000005 | ||
9 | h 82 | ||
10 | type "rectangle" | ||
11 | fill "#FFFFFF" | ||
12 | fill2 "#FFFFFF" | ||
13 | outline "#000000" | ||
14 | ] | ||
15 | LabelGraphics | ||
16 | [ | ||
17 | text "o 1" | ||
18 | outline "#000000" | ||
19 | fill "#FFFFFF" | ||
20 | fontSize 16 | ||
21 | fontName "Monospace" | ||
22 | autoSizePolicy "node_width" | ||
23 | anchor "t" | ||
24 | borderDistance 0.0 | ||
25 | ] | ||
26 | LabelGraphics | ||
27 | [ | ||
28 | text " | ||
29 | ConstellationMission class DefinedPart | ||
30 | InterferometryMission class DefinedPart | ||
31 | ConstellationMission class | ||
32 | InterferometryMission class | ||
33 | " | ||
34 | fontSize 14 | ||
35 | fontName "Consolas" | ||
36 | alignment "left" | ||
37 | anchor "tl" | ||
38 | borderDistance 6 | ||
39 | ] | ||
40 | ] | ||
41 | |||
42 | node | ||
43 | [ | ||
44 | id 1 | ||
45 | graphics | ||
46 | [ | ||
47 | w 308.0 | ||
48 | h 82 | ||
49 | type "rectangle" | ||
50 | fill "#FFFFFF" | ||
51 | fill2 "#FFFFFF" | ||
52 | outline "#000000" | ||
53 | ] | ||
54 | LabelGraphics | ||
55 | [ | ||
56 | text "o 2" | ||
57 | outline "#000000" | ||
58 | fill "#FFFFFF" | ||
59 | fontSize 16 | ||
60 | fontName "Monospace" | ||
61 | autoSizePolicy "node_width" | ||
62 | anchor "t" | ||
63 | borderDistance 0.0 | ||
64 | ] | ||
65 | LabelGraphics | ||
66 | [ | ||
67 | text " | ||
68 | CommunicatingElement class DefinedPart | ||
69 | GroundStationNetwork class DefinedPart | ||
70 | CommunicatingElement class | ||
71 | GroundStationNetwork class | ||
72 | " | ||
73 | fontSize 14 | ||
74 | fontName "Consolas" | ||
75 | alignment "left" | ||
76 | anchor "tl" | ||
77 | borderDistance 6 | ||
78 | ] | ||
79 | ] | ||
80 | |||
81 | node | ||
82 | [ | ||
83 | id 2 | ||
84 | graphics | ||
85 | [ | ||
86 | w 261.8 | ||
87 | h 82 | ||
88 | type "rectangle" | ||
89 | fill "#FFFFFF" | ||
90 | fill2 "#FFFFFF" | ||
91 | outline "#000000" | ||
92 | ] | ||
93 | LabelGraphics | ||
94 | [ | ||
95 | text "o 3" | ||
96 | outline "#000000" | ||
97 | fill "#FFFFFF" | ||
98 | fontSize 16 | ||
99 | fontName "Monospace" | ||
100 | autoSizePolicy "node_width" | ||
101 | anchor "t" | ||
102 | borderDistance 0.0 | ||
103 | ] | ||
104 | LabelGraphics | ||
105 | [ | ||
106 | text " | ||
107 | CommSubsystem class DefinedPart | ||
108 | XCommSubsystem class DefinedPart | ||
109 | CommSubsystem class | ||
110 | XCommSubsystem class | ||
111 | " | ||
112 | fontSize 14 | ||
113 | fontName "Consolas" | ||
114 | alignment "left" | ||
115 | anchor "tl" | ||
116 | borderDistance 6 | ||
117 | ] | ||
118 | ] | ||
119 | |||
120 | node | ||
121 | [ | ||
122 | id 3 | ||
123 | graphics | ||
124 | [ | ||
125 | w 269.5 | ||
126 | h 82 | ||
127 | type "rectangle" | ||
128 | fill "#FFFFFF" | ||
129 | fill2 "#FFFFFF" | ||
130 | outline "#000000" | ||
131 | ] | ||
132 | LabelGraphics | ||
133 | [ | ||
134 | text "o 4" | ||
135 | outline "#000000" | ||
136 | fill "#FFFFFF" | ||
137 | fontSize 16 | ||
138 | fontName "Monospace" | ||
139 | autoSizePolicy "node_width" | ||
140 | anchor "t" | ||
141 | borderDistance 0.0 | ||
142 | ] | ||
143 | LabelGraphics | ||
144 | [ | ||
145 | text " | ||
146 | CommSubsystem class DefinedPart | ||
147 | KaCommSubsystem class DefinedPart | ||
148 | CommSubsystem class | ||
149 | KaCommSubsystem class | ||
150 | " | ||
151 | fontSize 14 | ||
152 | fontName "Consolas" | ||
153 | alignment "left" | ||
154 | anchor "tl" | ||
155 | borderDistance 6 | ||
156 | ] | ||
157 | ] | ||
158 | |||
159 | node | ||
160 | [ | ||
161 | id 4 | ||
162 | graphics | ||
163 | [ | ||
164 | w 41.800000000000004 | ||
165 | h 26 | ||
166 | type "rectangle" | ||
167 | fill "#FFFFFF" | ||
168 | fill2 "#FFFFFF" | ||
169 | outline "#000000" | ||
170 | ] | ||
171 | LabelGraphics | ||
172 | [ | ||
173 | text "true" | ||
174 | outline "#000000" | ||
175 | fill "#FFFFFF" | ||
176 | fontSize 16 | ||
177 | fontName "Monospace" | ||
178 | autoSizePolicy "node_width" | ||
179 | anchor "t" | ||
180 | borderDistance 0.0 | ||
181 | ] | ||
182 | LabelGraphics | ||
183 | [ | ||
184 | text " | ||
185 | " | ||
186 | fontSize 14 | ||
187 | fontName "Consolas" | ||
188 | alignment "left" | ||
189 | anchor "tl" | ||
190 | borderDistance 6 | ||
191 | ] | ||
192 | ] | ||
193 | |||
194 | node | ||
195 | [ | ||
196 | id 5 | ||
197 | graphics | ||
198 | [ | ||
199 | w 50.6 | ||
200 | h 26 | ||
201 | type "rectangle" | ||
202 | fill "#FFFFFF" | ||
203 | fill2 "#FFFFFF" | ||
204 | outline "#000000" | ||
205 | ] | ||
206 | LabelGraphics | ||
207 | [ | ||
208 | text "false" | ||
209 | outline "#000000" | ||
210 | fill "#FFFFFF" | ||
211 | fontSize 16 | ||
212 | fontName "Monospace" | ||
213 | autoSizePolicy "node_width" | ||
214 | anchor "t" | ||
215 | borderDistance 0.0 | ||
216 | ] | ||
217 | LabelGraphics | ||
218 | [ | ||
219 | text " | ||
220 | " | ||
221 | fontSize 14 | ||
222 | fontName "Consolas" | ||
223 | alignment "left" | ||
224 | anchor "tl" | ||
225 | borderDistance 6 | ||
226 | ] | ||
227 | ] | ||
228 | |||
229 | node | ||
230 | [ | ||
231 | id 6 | ||
232 | graphics | ||
233 | [ | ||
234 | w 323.40000000000003 | ||
235 | h 96 | ||
236 | type "rectangle" | ||
237 | fill "#FFFFFF" | ||
238 | fill2 "#FFFFFF" | ||
239 | outline "#000000" | ||
240 | ] | ||
241 | LabelGraphics | ||
242 | [ | ||
243 | text "null" | ||
244 | outline "#000000" | ||
245 | fill "#FFFFFF" | ||
246 | fontSize 16 | ||
247 | fontName "Monospace" | ||
248 | autoSizePolicy "node_width" | ||
249 | anchor "t" | ||
250 | borderDistance 0.0 | ||
251 | ] | ||
252 | LabelGraphics | ||
253 | [ | ||
254 | text " | ||
255 | CommunicatingElement class | ||
256 | Spacecraft class | ||
257 | CubeSat3U class | ||
258 | CubeSat class | ||
259 | CommunicatingElement class UndefinedPart | ||
260 | " | ||
261 | fontSize 14 | ||
262 | fontName "Consolas" | ||
263 | alignment "left" | ||
264 | anchor "tl" | ||
265 | borderDistance 6 | ||
266 | ] | ||
267 | ] | ||
268 | |||
269 | node | ||
270 | [ | ||
271 | id 7 | ||
272 | graphics | ||
273 | [ | ||
274 | w 277.20000000000005 | ||
275 | h 82 | ||
276 | type "rectangle" | ||
277 | fill "#FFFFFF" | ||
278 | fill2 "#FFFFFF" | ||
279 | outline "#000000" | ||
280 | ] | ||
281 | LabelGraphics | ||
282 | [ | ||
283 | text "null" | ||
284 | outline "#000000" | ||
285 | fill "#FFFFFF" | ||
286 | fontSize 16 | ||
287 | fontName "Monospace" | ||
288 | autoSizePolicy "node_width" | ||
289 | anchor "t" | ||
290 | borderDistance 0.0 | ||
291 | ] | ||
292 | LabelGraphics | ||
293 | [ | ||
294 | text " | ||
295 | CommSubsystem class | ||
296 | XCommSubsystem class | ||
297 | CommSubsystem class UndefinedPart | ||
298 | XCommSubsystem class UndefinedPart | ||
299 | " | ||
300 | fontSize 14 | ||
301 | fontName "Consolas" | ||
302 | alignment "left" | ||
303 | anchor "tl" | ||
304 | borderDistance 6 | ||
305 | ] | ||
306 | ] | ||
307 | |||
308 | node | ||
309 | [ | ||
310 | id 8 | ||
311 | graphics | ||
312 | [ | ||
313 | w 277.20000000000005 | ||
314 | h 82 | ||
315 | type "rectangle" | ||
316 | fill "#FFFFFF" | ||
317 | fill2 "#FFFFFF" | ||
318 | outline "#000000" | ||
319 | ] | ||
320 | LabelGraphics | ||
321 | [ | ||
322 | text "null" | ||
323 | outline "#000000" | ||
324 | fill "#FFFFFF" | ||
325 | fontSize 16 | ||
326 | fontName "Monospace" | ||
327 | autoSizePolicy "node_width" | ||
328 | anchor "t" | ||
329 | borderDistance 0.0 | ||
330 | ] | ||
331 | LabelGraphics | ||
332 | [ | ||
333 | text " | ||
334 | CommSubsystem class | ||
335 | XCommSubsystem class | ||
336 | CommSubsystem class UndefinedPart | ||
337 | XCommSubsystem class UndefinedPart | ||
338 | " | ||
339 | fontSize 14 | ||
340 | fontName "Consolas" | ||
341 | alignment "left" | ||
342 | anchor "tl" | ||
343 | borderDistance 6 | ||
344 | ] | ||
345 | ] | ||
346 | |||
347 | node | ||
348 | [ | ||
349 | id 9 | ||
350 | graphics | ||
351 | [ | ||
352 | w 223.3 | ||
353 | h 54 | ||
354 | type "rectangle" | ||
355 | fill "#FFFFFF" | ||
356 | fill2 "#FFFFFF" | ||
357 | outline "#000000" | ||
358 | ] | ||
359 | LabelGraphics | ||
360 | [ | ||
361 | text "null" | ||
362 | outline "#000000" | ||
363 | fill "#FFFFFF" | ||
364 | fontSize 16 | ||
365 | fontName "Monospace" | ||
366 | autoSizePolicy "node_width" | ||
367 | anchor "t" | ||
368 | borderDistance 0.0 | ||
369 | ] | ||
370 | LabelGraphics | ||
371 | [ | ||
372 | text " | ||
373 | Payload class | ||
374 | InterferometryPayload class | ||
375 | " | ||
376 | fontSize 14 | ||
377 | fontName "Consolas" | ||
378 | alignment "left" | ||
379 | anchor "tl" | ||
380 | borderDistance 6 | ||
381 | ] | ||
382 | ] | ||
383 | |||
384 | node | ||
385 | [ | ||
386 | id 10 | ||
387 | graphics | ||
388 | [ | ||
389 | w 323.40000000000003 | ||
390 | h 96 | ||
391 | type "rectangle" | ||
392 | fill "#FFFFFF" | ||
393 | fill2 "#FFFFFF" | ||
394 | outline "#000000" | ||
395 | ] | ||
396 | LabelGraphics | ||
397 | [ | ||
398 | text "null" | ||
399 | outline "#000000" | ||
400 | fill "#FFFFFF" | ||
401 | fontSize 16 | ||
402 | fontName "Monospace" | ||
403 | autoSizePolicy "node_width" | ||
404 | anchor "t" | ||
405 | borderDistance 0.0 | ||
406 | ] | ||
407 | LabelGraphics | ||
408 | [ | ||
409 | text " | ||
410 | CommunicatingElement class | ||
411 | Spacecraft class | ||
412 | CubeSat6U class | ||
413 | CubeSat class | ||
414 | CommunicatingElement class UndefinedPart | ||
415 | " | ||
416 | fontSize 14 | ||
417 | fontName "Consolas" | ||
418 | alignment "left" | ||
419 | anchor "tl" | ||
420 | borderDistance 6 | ||
421 | ] | ||
422 | ] | ||
423 | |||
424 | node | ||
425 | [ | ||
426 | id 11 | ||
427 | graphics | ||
428 | [ | ||
429 | w 269.5 | ||
430 | h 68 | ||
431 | type "rectangle" | ||
432 | fill "#FFFFFF" | ||
433 | fill2 "#FFFFFF" | ||
434 | outline "#000000" | ||
435 | ] | ||
436 | LabelGraphics | ||
437 | [ | ||
438 | text "null" | ||
439 | outline "#000000" | ||
440 | fill "#FFFFFF" | ||
441 | fontSize 16 | ||
442 | fontName "Monospace" | ||
443 | autoSizePolicy "node_width" | ||
444 | anchor "t" | ||
445 | borderDistance 0.0 | ||
446 | ] | ||
447 | LabelGraphics | ||
448 | [ | ||
449 | text " | ||
450 | CommSubsystem class | ||
451 | UHFCommSubsystem class | ||
452 | CommSubsystem class UndefinedPart | ||
453 | " | ||
454 | fontSize 14 | ||
455 | fontName "Consolas" | ||
456 | alignment "left" | ||
457 | anchor "tl" | ||
458 | borderDistance 6 | ||
459 | ] | ||
460 | ] | ||
461 | |||
462 | node | ||
463 | [ | ||
464 | id 12 | ||
465 | graphics | ||
466 | [ | ||
467 | w 223.3 | ||
468 | h 54 | ||
469 | type "rectangle" | ||
470 | fill "#FFFFFF" | ||
471 | fill2 "#FFFFFF" | ||
472 | outline "#000000" | ||
473 | ] | ||
474 | LabelGraphics | ||
475 | [ | ||
476 | text "null" | ||
477 | outline "#000000" | ||
478 | fill "#FFFFFF" | ||
479 | fontSize 16 | ||
480 | fontName "Monospace" | ||
481 | autoSizePolicy "node_width" | ||
482 | anchor "t" | ||
483 | borderDistance 0.0 | ||
484 | ] | ||
485 | LabelGraphics | ||
486 | [ | ||
487 | text " | ||
488 | Payload class | ||
489 | InterferometryPayload class | ||
490 | " | ||
491 | fontSize 14 | ||
492 | fontName "Consolas" | ||
493 | alignment "left" | ||
494 | anchor "tl" | ||
495 | borderDistance 6 | ||
496 | ] | ||
497 | ] | ||
498 | |||
499 | node | ||
500 | [ | ||
501 | id 13 | ||
502 | graphics | ||
503 | [ | ||
504 | w 277.20000000000005 | ||
505 | h 82 | ||
506 | type "rectangle" | ||
507 | fill "#FFFFFF" | ||
508 | fill2 "#FFFFFF" | ||
509 | outline "#000000" | ||
510 | ] | ||
511 | LabelGraphics | ||
512 | [ | ||
513 | text "null" | ||
514 | outline "#000000" | ||
515 | fill "#FFFFFF" | ||
516 | fontSize 16 | ||
517 | fontName "Monospace" | ||
518 | autoSizePolicy "node_width" | ||
519 | anchor "t" | ||
520 | borderDistance 0.0 | ||
521 | ] | ||
522 | LabelGraphics | ||
523 | [ | ||
524 | text " | ||
525 | CommSubsystem class | ||
526 | XCommSubsystem class | ||
527 | CommSubsystem class UndefinedPart | ||
528 | XCommSubsystem class UndefinedPart | ||
529 | " | ||
530 | fontSize 14 | ||
531 | fontName "Consolas" | ||
532 | alignment "left" | ||
533 | anchor "tl" | ||
534 | borderDistance 6 | ||
535 | ] | ||
536 | ] | ||
537 | |||
538 | node | ||
539 | [ | ||
540 | id 14 | ||
541 | graphics | ||
542 | [ | ||
543 | w 323.40000000000003 | ||
544 | h 96 | ||
545 | type "rectangle" | ||
546 | fill "#FFFFFF" | ||
547 | fill2 "#FFFFFF" | ||
548 | outline "#000000" | ||
549 | ] | ||
550 | LabelGraphics | ||
551 | [ | ||
552 | text "null" | ||
553 | outline "#000000" | ||
554 | fill "#FFFFFF" | ||
555 | fontSize 16 | ||
556 | fontName "Monospace" | ||
557 | autoSizePolicy "node_width" | ||
558 | anchor "t" | ||
559 | borderDistance 0.0 | ||
560 | ] | ||
561 | LabelGraphics | ||
562 | [ | ||
563 | text " | ||
564 | CommunicatingElement class | ||
565 | Spacecraft class | ||
566 | CubeSat3U class | ||
567 | CubeSat class | ||
568 | CommunicatingElement class UndefinedPart | ||
569 | " | ||
570 | fontSize 14 | ||
571 | fontName "Consolas" | ||
572 | alignment "left" | ||
573 | anchor "tl" | ||
574 | borderDistance 6 | ||
575 | ] | ||
576 | ] | ||
577 | |||
578 | node | ||
579 | [ | ||
580 | id 15 | ||
581 | graphics | ||
582 | [ | ||
583 | w 269.5 | ||
584 | h 68 | ||
585 | type "rectangle" | ||
586 | fill "#FFFFFF" | ||
587 | fill2 "#FFFFFF" | ||
588 | outline "#000000" | ||
589 | ] | ||
590 | LabelGraphics | ||
591 | [ | ||
592 | text "null" | ||
593 | outline "#000000" | ||
594 | fill "#FFFFFF" | ||
595 | fontSize 16 | ||
596 | fontName "Monospace" | ||
597 | autoSizePolicy "node_width" | ||
598 | anchor "t" | ||
599 | borderDistance 0.0 | ||
600 | ] | ||
601 | LabelGraphics | ||
602 | [ | ||
603 | text " | ||
604 | CommSubsystem class | ||
605 | UHFCommSubsystem class | ||
606 | CommSubsystem class UndefinedPart | ||
607 | " | ||
608 | fontSize 14 | ||
609 | fontName "Consolas" | ||
610 | alignment "left" | ||
611 | anchor "tl" | ||
612 | borderDistance 6 | ||
613 | ] | ||
614 | ] | ||
615 | |||
616 | node | ||
617 | [ | ||
618 | id 16 | ||
619 | graphics | ||
620 | [ | ||
621 | w 277.20000000000005 | ||
622 | h 82 | ||
623 | type "rectangle" | ||
624 | fill "#FFFFFF" | ||
625 | fill2 "#FFFFFF" | ||
626 | outline "#000000" | ||
627 | ] | ||
628 | LabelGraphics | ||
629 | [ | ||
630 | text "null" | ||
631 | outline "#000000" | ||
632 | fill "#FFFFFF" | ||
633 | fontSize 16 | ||
634 | fontName "Monospace" | ||
635 | autoSizePolicy "node_width" | ||
636 | anchor "t" | ||
637 | borderDistance 0.0 | ||
638 | ] | ||
639 | LabelGraphics | ||
640 | [ | ||
641 | text " | ||
642 | CommSubsystem class | ||
643 | XCommSubsystem class | ||
644 | CommSubsystem class UndefinedPart | ||
645 | XCommSubsystem class UndefinedPart | ||
646 | " | ||
647 | fontSize 14 | ||
648 | fontName "Consolas" | ||
649 | alignment "left" | ||
650 | anchor "tl" | ||
651 | borderDistance 6 | ||
652 | ] | ||
653 | ] | ||
654 | |||
655 | node | ||
656 | [ | ||
657 | id 17 | ||
658 | graphics | ||
659 | [ | ||
660 | w 223.3 | ||
661 | h 54 | ||
662 | type "rectangle" | ||
663 | fill "#FFFFFF" | ||
664 | fill2 "#FFFFFF" | ||
665 | outline "#000000" | ||
666 | ] | ||
667 | LabelGraphics | ||
668 | [ | ||
669 | text "null" | ||
670 | outline "#000000" | ||
671 | fill "#FFFFFF" | ||
672 | fontSize 16 | ||
673 | fontName "Monospace" | ||
674 | autoSizePolicy "node_width" | ||
675 | anchor "t" | ||
676 | borderDistance 0.0 | ||
677 | ] | ||
678 | LabelGraphics | ||
679 | [ | ||
680 | text " | ||
681 | Payload class | ||
682 | InterferometryPayload class | ||
683 | " | ||
684 | fontSize 14 | ||
685 | fontName "Consolas" | ||
686 | alignment "left" | ||
687 | anchor "tl" | ||
688 | borderDistance 6 | ||
689 | ] | ||
690 | ] | ||
691 | |||
692 | node | ||
693 | [ | ||
694 | id 18 | ||
695 | graphics | ||
696 | [ | ||
697 | w 323.40000000000003 | ||
698 | h 82 | ||
699 | type "rectangle" | ||
700 | fill "#FFFFFF" | ||
701 | fill2 "#FFFFFF" | ||
702 | outline "#000000" | ||
703 | ] | ||
704 | LabelGraphics | ||
705 | [ | ||
706 | text "null" | ||
707 | outline "#000000" | ||
708 | fill "#FFFFFF" | ||
709 | fontSize 16 | ||
710 | fontName "Monospace" | ||
711 | autoSizePolicy "node_width" | ||
712 | anchor "t" | ||
713 | borderDistance 0.0 | ||
714 | ] | ||
715 | LabelGraphics | ||
716 | [ | ||
717 | text " | ||
718 | CommunicatingElement class | ||
719 | Spacecraft class | ||
720 | SmallSat class | ||
721 | CommunicatingElement class UndefinedPart | ||
722 | " | ||
723 | fontSize 14 | ||
724 | fontName "Consolas" | ||
725 | alignment "left" | ||
726 | anchor "tl" | ||
727 | borderDistance 6 | ||
728 | ] | ||
729 | ] | ||
730 | |||
731 | node | ||
732 | [ | ||
733 | id 19 | ||
734 | graphics | ||
735 | [ | ||
736 | w 277.20000000000005 | ||
737 | h 82 | ||
738 | type "rectangle" | ||
739 | fill "#FFFFFF" | ||
740 | fill2 "#FFFFFF" | ||
741 | outline "#000000" | ||
742 | ] | ||
743 | LabelGraphics | ||
744 | [ | ||
745 | text "null" | ||
746 | outline "#000000" | ||
747 | fill "#FFFFFF" | ||
748 | fontSize 16 | ||
749 | fontName "Monospace" | ||
750 | autoSizePolicy "node_width" | ||
751 | anchor "t" | ||
752 | borderDistance 0.0 | ||
753 | ] | ||
754 | LabelGraphics | ||
755 | [ | ||
756 | text " | ||
757 | CommSubsystem class | ||
758 | XCommSubsystem class | ||
759 | CommSubsystem class UndefinedPart | ||
760 | XCommSubsystem class UndefinedPart | ||
761 | " | ||
762 | fontSize 14 | ||
763 | fontName "Consolas" | ||
764 | alignment "left" | ||
765 | anchor "tl" | ||
766 | borderDistance 6 | ||
767 | ] | ||
768 | ] | ||
769 | |||
770 | node | ||
771 | [ | ||
772 | id 20 | ||
773 | graphics | ||
774 | [ | ||
775 | w 223.3 | ||
776 | h 54 | ||
777 | type "rectangle" | ||
778 | fill "#FFFFFF" | ||
779 | fill2 "#FFFFFF" | ||
780 | outline "#000000" | ||
781 | ] | ||
782 | LabelGraphics | ||
783 | [ | ||
784 | text "null" | ||
785 | outline "#000000" | ||
786 | fill "#FFFFFF" | ||
787 | fontSize 16 | ||
788 | fontName "Monospace" | ||
789 | autoSizePolicy "node_width" | ||
790 | anchor "t" | ||
791 | borderDistance 0.0 | ||
792 | ] | ||
793 | LabelGraphics | ||
794 | [ | ||
795 | text " | ||
796 | Payload class | ||
797 | InterferometryPayload class | ||
798 | " | ||
799 | fontSize 14 | ||
800 | fontName "Consolas" | ||
801 | alignment "left" | ||
802 | anchor "tl" | ||
803 | borderDistance 6 | ||
804 | ] | ||
805 | ] | ||
806 | |||
807 | node | ||
808 | [ | ||
809 | id 21 | ||
810 | graphics | ||
811 | [ | ||
812 | w 269.5 | ||
813 | h 68 | ||
814 | type "rectangle" | ||
815 | fill "#FFFFFF" | ||
816 | fill2 "#FFFFFF" | ||
817 | outline "#000000" | ||
818 | ] | ||
819 | LabelGraphics | ||
820 | [ | ||
821 | text "null" | ||
822 | outline "#000000" | ||
823 | fill "#FFFFFF" | ||
824 | fontSize 16 | ||
825 | fontName "Monospace" | ||
826 | autoSizePolicy "node_width" | ||
827 | anchor "t" | ||
828 | borderDistance 0.0 | ||
829 | ] | ||
830 | LabelGraphics | ||
831 | [ | ||
832 | text " | ||
833 | CommSubsystem class | ||
834 | UHFCommSubsystem class | ||
835 | CommSubsystem class UndefinedPart | ||
836 | " | ||
837 | fontSize 14 | ||
838 | fontName "Consolas" | ||
839 | alignment "left" | ||
840 | anchor "tl" | ||
841 | borderDistance 6 | ||
842 | ] | ||
843 | ] | ||
844 | |||
845 | node | ||
846 | [ | ||
847 | id 22 | ||
848 | graphics | ||
849 | [ | ||
850 | w 323.40000000000003 | ||
851 | h 96 | ||
852 | type "rectangle" | ||
853 | fill "#FFFFFF" | ||
854 | fill2 "#FFFFFF" | ||
855 | outline "#000000" | ||
856 | ] | ||
857 | LabelGraphics | ||
858 | [ | ||
859 | text "null" | ||
860 | outline "#000000" | ||
861 | fill "#FFFFFF" | ||
862 | fontSize 16 | ||
863 | fontName "Monospace" | ||
864 | autoSizePolicy "node_width" | ||
865 | anchor "t" | ||
866 | borderDistance 0.0 | ||
867 | ] | ||
868 | LabelGraphics | ||
869 | [ | ||
870 | text " | ||
871 | CommunicatingElement class | ||
872 | Spacecraft class | ||
873 | CubeSat3U class | ||
874 | CubeSat class | ||
875 | CommunicatingElement class UndefinedPart | ||
876 | " | ||
877 | fontSize 14 | ||
878 | fontName "Consolas" | ||
879 | alignment "left" | ||
880 | anchor "tl" | ||
881 | borderDistance 6 | ||
882 | ] | ||
883 | ] | ||
884 | |||
885 | node | ||
886 | [ | ||
887 | id 23 | ||
888 | graphics | ||
889 | [ | ||
890 | w 223.3 | ||
891 | h 54 | ||
892 | type "rectangle" | ||
893 | fill "#FFFFFF" | ||
894 | fill2 "#FFFFFF" | ||
895 | outline "#000000" | ||
896 | ] | ||
897 | LabelGraphics | ||
898 | [ | ||
899 | text "null" | ||
900 | outline "#000000" | ||
901 | fill "#FFFFFF" | ||
902 | fontSize 16 | ||
903 | fontName "Monospace" | ||
904 | autoSizePolicy "node_width" | ||
905 | anchor "t" | ||
906 | borderDistance 0.0 | ||
907 | ] | ||
908 | LabelGraphics | ||
909 | [ | ||
910 | text " | ||
911 | Payload class | ||
912 | InterferometryPayload class | ||
913 | " | ||
914 | fontSize 14 | ||
915 | fontName "Consolas" | ||
916 | alignment "left" | ||
917 | anchor "tl" | ||
918 | borderDistance 6 | ||
919 | ] | ||
920 | ] | ||
921 | |||
922 | node | ||
923 | [ | ||
924 | id 24 | ||
925 | graphics | ||
926 | [ | ||
927 | w 277.20000000000005 | ||
928 | h 82 | ||
929 | type "rectangle" | ||
930 | fill "#FFFFFF" | ||
931 | fill2 "#FFFFFF" | ||
932 | outline "#000000" | ||
933 | ] | ||
934 | LabelGraphics | ||
935 | [ | ||
936 | text "null" | ||
937 | outline "#000000" | ||
938 | fill "#FFFFFF" | ||
939 | fontSize 16 | ||
940 | fontName "Monospace" | ||
941 | autoSizePolicy "node_width" | ||
942 | anchor "t" | ||
943 | borderDistance 0.0 | ||
944 | ] | ||
945 | LabelGraphics | ||
946 | [ | ||
947 | text " | ||
948 | CommSubsystem class | ||
949 | XCommSubsystem class | ||
950 | CommSubsystem class UndefinedPart | ||
951 | XCommSubsystem class UndefinedPart | ||
952 | " | ||
953 | fontSize 14 | ||
954 | fontName "Consolas" | ||
955 | alignment "left" | ||
956 | anchor "tl" | ||
957 | borderDistance 6 | ||
958 | ] | ||
959 | ] | ||
960 | |||
961 | node | ||
962 | [ | ||
963 | id 25 | ||
964 | graphics | ||
965 | [ | ||
966 | w 269.5 | ||
967 | h 68 | ||
968 | type "rectangle" | ||
969 | fill "#FFFFFF" | ||
970 | fill2 "#FFFFFF" | ||
971 | outline "#000000" | ||
972 | ] | ||
973 | LabelGraphics | ||
974 | [ | ||
975 | text "null" | ||
976 | outline "#000000" | ||
977 | fill "#FFFFFF" | ||
978 | fontSize 16 | ||
979 | fontName "Monospace" | ||
980 | autoSizePolicy "node_width" | ||
981 | anchor "t" | ||
982 | borderDistance 0.0 | ||
983 | ] | ||
984 | LabelGraphics | ||
985 | [ | ||
986 | text " | ||
987 | CommSubsystem class | ||
988 | UHFCommSubsystem class | ||
989 | CommSubsystem class UndefinedPart | ||
990 | " | ||
991 | fontSize 14 | ||
992 | fontName "Consolas" | ||
993 | alignment "left" | ||
994 | anchor "tl" | ||
995 | borderDistance 6 | ||
996 | ] | ||
997 | ] | ||
998 | |||
999 | node | ||
1000 | [ | ||
1001 | id 26 | ||
1002 | graphics | ||
1003 | [ | ||
1004 | w 323.40000000000003 | ||
1005 | h 82 | ||
1006 | type "rectangle" | ||
1007 | fill "#FFFFFF" | ||
1008 | fill2 "#FFFFFF" | ||
1009 | outline "#000000" | ||
1010 | ] | ||
1011 | LabelGraphics | ||
1012 | [ | ||
1013 | text "null" | ||
1014 | outline "#000000" | ||
1015 | fill "#FFFFFF" | ||
1016 | fontSize 16 | ||
1017 | fontName "Monospace" | ||
1018 | autoSizePolicy "node_width" | ||
1019 | anchor "t" | ||
1020 | borderDistance 0.0 | ||
1021 | ] | ||
1022 | LabelGraphics | ||
1023 | [ | ||
1024 | text " | ||
1025 | CommunicatingElement class | ||
1026 | Spacecraft class | ||
1027 | SmallSat class | ||
1028 | CommunicatingElement class UndefinedPart | ||
1029 | " | ||
1030 | fontSize 14 | ||
1031 | fontName "Consolas" | ||
1032 | alignment "left" | ||
1033 | anchor "tl" | ||
1034 | borderDistance 6 | ||
1035 | ] | ||
1036 | ] | ||
1037 | |||
1038 | node | ||
1039 | [ | ||
1040 | id 27 | ||
1041 | graphics | ||
1042 | [ | ||
1043 | w 223.3 | ||
1044 | h 54 | ||
1045 | type "rectangle" | ||
1046 | fill "#FFFFFF" | ||
1047 | fill2 "#FFFFFF" | ||
1048 | outline "#000000" | ||
1049 | ] | ||
1050 | LabelGraphics | ||
1051 | [ | ||
1052 | text "null" | ||
1053 | outline "#000000" | ||
1054 | fill "#FFFFFF" | ||
1055 | fontSize 16 | ||
1056 | fontName "Monospace" | ||
1057 | autoSizePolicy "node_width" | ||
1058 | anchor "t" | ||
1059 | borderDistance 0.0 | ||
1060 | ] | ||
1061 | LabelGraphics | ||
1062 | [ | ||
1063 | text " | ||
1064 | Payload class | ||
1065 | InterferometryPayload class | ||
1066 | " | ||
1067 | fontSize 14 | ||
1068 | fontName "Consolas" | ||
1069 | alignment "left" | ||
1070 | anchor "tl" | ||
1071 | borderDistance 6 | ||
1072 | ] | ||
1073 | ] | ||
1074 | |||
1075 | node | ||
1076 | [ | ||
1077 | id 28 | ||
1078 | graphics | ||
1079 | [ | ||
1080 | w 269.5 | ||
1081 | h 68 | ||
1082 | type "rectangle" | ||
1083 | fill "#FFFFFF" | ||
1084 | fill2 "#FFFFFF" | ||
1085 | outline "#000000" | ||
1086 | ] | ||
1087 | LabelGraphics | ||
1088 | [ | ||
1089 | text "null" | ||
1090 | outline "#000000" | ||
1091 | fill "#FFFFFF" | ||
1092 | fontSize 16 | ||
1093 | fontName "Monospace" | ||
1094 | autoSizePolicy "node_width" | ||
1095 | anchor "t" | ||
1096 | borderDistance 0.0 | ||
1097 | ] | ||
1098 | LabelGraphics | ||
1099 | [ | ||
1100 | text " | ||
1101 | CommSubsystem class | ||
1102 | UHFCommSubsystem class | ||
1103 | CommSubsystem class UndefinedPart | ||
1104 | " | ||
1105 | fontSize 14 | ||
1106 | fontName "Consolas" | ||
1107 | alignment "left" | ||
1108 | anchor "tl" | ||
1109 | borderDistance 6 | ||
1110 | ] | ||
1111 | ] | ||
1112 | |||
1113 | node | ||
1114 | [ | ||
1115 | id 29 | ||
1116 | graphics | ||
1117 | [ | ||
1118 | w 269.5 | ||
1119 | h 68 | ||
1120 | type "rectangle" | ||
1121 | fill "#FFFFFF" | ||
1122 | fill2 "#FFFFFF" | ||
1123 | outline "#000000" | ||
1124 | ] | ||
1125 | LabelGraphics | ||
1126 | [ | ||
1127 | text "null" | ||
1128 | outline "#000000" | ||
1129 | fill "#FFFFFF" | ||
1130 | fontSize 16 | ||
1131 | fontName "Monospace" | ||
1132 | autoSizePolicy "node_width" | ||
1133 | anchor "t" | ||
1134 | borderDistance 0.0 | ||
1135 | ] | ||
1136 | LabelGraphics | ||
1137 | [ | ||
1138 | text " | ||
1139 | CommSubsystem class | ||
1140 | UHFCommSubsystem class | ||
1141 | CommSubsystem class UndefinedPart | ||
1142 | " | ||
1143 | fontSize 14 | ||
1144 | fontName "Consolas" | ||
1145 | alignment "left" | ||
1146 | anchor "tl" | ||
1147 | borderDistance 6 | ||
1148 | ] | ||
1149 | ] | ||
1150 | |||
1151 | node | ||
1152 | [ | ||
1153 | id 30 | ||
1154 | graphics | ||
1155 | [ | ||
1156 | w 323.40000000000003 | ||
1157 | h 96 | ||
1158 | type "rectangle" | ||
1159 | fill "#FFFFFF" | ||
1160 | fill2 "#FFFFFF" | ||
1161 | outline "#000000" | ||
1162 | ] | ||
1163 | LabelGraphics | ||
1164 | [ | ||
1165 | text "null" | ||
1166 | outline "#000000" | ||
1167 | fill "#FFFFFF" | ||
1168 | fontSize 16 | ||
1169 | fontName "Monospace" | ||
1170 | autoSizePolicy "node_width" | ||
1171 | anchor "t" | ||
1172 | borderDistance 0.0 | ||
1173 | ] | ||
1174 | LabelGraphics | ||
1175 | [ | ||
1176 | text " | ||
1177 | CommunicatingElement class | ||
1178 | Spacecraft class | ||
1179 | CubeSat6U class | ||
1180 | CubeSat class | ||
1181 | CommunicatingElement class UndefinedPart | ||
1182 | " | ||
1183 | fontSize 14 | ||
1184 | fontName "Consolas" | ||
1185 | alignment "left" | ||
1186 | anchor "tl" | ||
1187 | borderDistance 6 | ||
1188 | ] | ||
1189 | ] | ||
1190 | |||
1191 | node | ||
1192 | [ | ||
1193 | id 31 | ||
1194 | graphics | ||
1195 | [ | ||
1196 | w 277.20000000000005 | ||
1197 | h 82 | ||
1198 | type "rectangle" | ||
1199 | fill "#FFFFFF" | ||
1200 | fill2 "#FFFFFF" | ||
1201 | outline "#000000" | ||
1202 | ] | ||
1203 | LabelGraphics | ||
1204 | [ | ||
1205 | text "null" | ||
1206 | outline "#000000" | ||
1207 | fill "#FFFFFF" | ||
1208 | fontSize 16 | ||
1209 | fontName "Monospace" | ||
1210 | autoSizePolicy "node_width" | ||
1211 | anchor "t" | ||
1212 | borderDistance 0.0 | ||
1213 | ] | ||
1214 | LabelGraphics | ||
1215 | [ | ||
1216 | text " | ||
1217 | CommSubsystem class | ||
1218 | XCommSubsystem class | ||
1219 | CommSubsystem class UndefinedPart | ||
1220 | XCommSubsystem class UndefinedPart | ||
1221 | " | ||
1222 | fontSize 14 | ||
1223 | fontName "Consolas" | ||
1224 | alignment "left" | ||
1225 | anchor "tl" | ||
1226 | borderDistance 6 | ||
1227 | ] | ||
1228 | ] | ||
1229 | |||
1230 | node | ||
1231 | [ | ||
1232 | id 32 | ||
1233 | graphics | ||
1234 | [ | ||
1235 | w 223.3 | ||
1236 | h 54 | ||
1237 | type "rectangle" | ||
1238 | fill "#FFFFFF" | ||
1239 | fill2 "#FFFFFF" | ||
1240 | outline "#000000" | ||
1241 | ] | ||
1242 | LabelGraphics | ||
1243 | [ | ||
1244 | text "null" | ||
1245 | outline "#000000" | ||
1246 | fill "#FFFFFF" | ||
1247 | fontSize 16 | ||
1248 | fontName "Monospace" | ||
1249 | autoSizePolicy "node_width" | ||
1250 | anchor "t" | ||
1251 | borderDistance 0.0 | ||
1252 | ] | ||
1253 | LabelGraphics | ||
1254 | [ | ||
1255 | text " | ||
1256 | Payload class | ||
1257 | InterferometryPayload class | ||
1258 | " | ||
1259 | fontSize 14 | ||
1260 | fontName "Consolas" | ||
1261 | alignment "left" | ||
1262 | anchor "tl" | ||
1263 | borderDistance 6 | ||
1264 | ] | ||
1265 | ] | ||
1266 | |||
1267 | node | ||
1268 | [ | ||
1269 | id 33 | ||
1270 | graphics | ||
1271 | [ | ||
1272 | w 269.5 | ||
1273 | h 68 | ||
1274 | type "rectangle" | ||
1275 | fill "#FFFFFF" | ||
1276 | fill2 "#FFFFFF" | ||
1277 | outline "#000000" | ||
1278 | ] | ||
1279 | LabelGraphics | ||
1280 | [ | ||
1281 | text "null" | ||
1282 | outline "#000000" | ||
1283 | fill "#FFFFFF" | ||
1284 | fontSize 16 | ||
1285 | fontName "Monospace" | ||
1286 | autoSizePolicy "node_width" | ||
1287 | anchor "t" | ||
1288 | borderDistance 0.0 | ||
1289 | ] | ||
1290 | LabelGraphics | ||
1291 | [ | ||
1292 | text " | ||
1293 | CommSubsystem class | ||
1294 | UHFCommSubsystem class | ||
1295 | CommSubsystem class UndefinedPart | ||
1296 | " | ||
1297 | fontSize 14 | ||
1298 | fontName "Consolas" | ||
1299 | alignment "left" | ||
1300 | anchor "tl" | ||
1301 | borderDistance 6 | ||
1302 | ] | ||
1303 | ] | ||
1304 | |||
1305 | node | ||
1306 | [ | ||
1307 | id 34 | ||
1308 | graphics | ||
1309 | [ | ||
1310 | w 323.40000000000003 | ||
1311 | h 96 | ||
1312 | type "rectangle" | ||
1313 | fill "#FFFFFF" | ||
1314 | fill2 "#FFFFFF" | ||
1315 | outline "#000000" | ||
1316 | ] | ||
1317 | LabelGraphics | ||
1318 | [ | ||
1319 | text "null" | ||
1320 | outline "#000000" | ||
1321 | fill "#FFFFFF" | ||
1322 | fontSize 16 | ||
1323 | fontName "Monospace" | ||
1324 | autoSizePolicy "node_width" | ||
1325 | anchor "t" | ||
1326 | borderDistance 0.0 | ||
1327 | ] | ||
1328 | LabelGraphics | ||
1329 | [ | ||
1330 | text " | ||
1331 | CommunicatingElement class | ||
1332 | Spacecraft class | ||
1333 | CubeSat6U class | ||
1334 | CubeSat class | ||
1335 | CommunicatingElement class UndefinedPart | ||
1336 | " | ||
1337 | fontSize 14 | ||
1338 | fontName "Consolas" | ||
1339 | alignment "left" | ||
1340 | anchor "tl" | ||
1341 | borderDistance 6 | ||
1342 | ] | ||
1343 | ] | ||
1344 | |||
1345 | node | ||
1346 | [ | ||
1347 | id 35 | ||
1348 | graphics | ||
1349 | [ | ||
1350 | w 269.5 | ||
1351 | h 68 | ||
1352 | type "rectangle" | ||
1353 | fill "#FFFFFF" | ||
1354 | fill2 "#FFFFFF" | ||
1355 | outline "#000000" | ||
1356 | ] | ||
1357 | LabelGraphics | ||
1358 | [ | ||
1359 | text "null" | ||
1360 | outline "#000000" | ||
1361 | fill "#FFFFFF" | ||
1362 | fontSize 16 | ||
1363 | fontName "Monospace" | ||
1364 | autoSizePolicy "node_width" | ||
1365 | anchor "t" | ||
1366 | borderDistance 0.0 | ||
1367 | ] | ||
1368 | LabelGraphics | ||
1369 | [ | ||
1370 | text " | ||
1371 | CommSubsystem class | ||
1372 | UHFCommSubsystem class | ||
1373 | CommSubsystem class UndefinedPart | ||
1374 | " | ||
1375 | fontSize 14 | ||
1376 | fontName "Consolas" | ||
1377 | alignment "left" | ||
1378 | anchor "tl" | ||
1379 | borderDistance 6 | ||
1380 | ] | ||
1381 | ] | ||
1382 | |||
1383 | node | ||
1384 | [ | ||
1385 | id 36 | ||
1386 | graphics | ||
1387 | [ | ||
1388 | w 277.20000000000005 | ||
1389 | h 82 | ||
1390 | type "rectangle" | ||
1391 | fill "#FFFFFF" | ||
1392 | fill2 "#FFFFFF" | ||
1393 | outline "#000000" | ||
1394 | ] | ||
1395 | LabelGraphics | ||
1396 | [ | ||
1397 | text "null" | ||
1398 | outline "#000000" | ||
1399 | fill "#FFFFFF" | ||
1400 | fontSize 16 | ||
1401 | fontName "Monospace" | ||
1402 | autoSizePolicy "node_width" | ||
1403 | anchor "t" | ||
1404 | borderDistance 0.0 | ||
1405 | ] | ||
1406 | LabelGraphics | ||
1407 | [ | ||
1408 | text " | ||
1409 | CommSubsystem class | ||
1410 | XCommSubsystem class | ||
1411 | CommSubsystem class UndefinedPart | ||
1412 | XCommSubsystem class UndefinedPart | ||
1413 | " | ||
1414 | fontSize 14 | ||
1415 | fontName "Consolas" | ||
1416 | alignment "left" | ||
1417 | anchor "tl" | ||
1418 | borderDistance 6 | ||
1419 | ] | ||
1420 | ] | ||
1421 | |||
1422 | node | ||
1423 | [ | ||
1424 | id 37 | ||
1425 | graphics | ||
1426 | [ | ||
1427 | w 223.3 | ||
1428 | h 54 | ||
1429 | type "rectangle" | ||
1430 | fill "#FFFFFF" | ||
1431 | fill2 "#FFFFFF" | ||
1432 | outline "#000000" | ||
1433 | ] | ||
1434 | LabelGraphics | ||
1435 | [ | ||
1436 | text "null" | ||
1437 | outline "#000000" | ||
1438 | fill "#FFFFFF" | ||
1439 | fontSize 16 | ||
1440 | fontName "Monospace" | ||
1441 | autoSizePolicy "node_width" | ||
1442 | anchor "t" | ||
1443 | borderDistance 0.0 | ||
1444 | ] | ||
1445 | LabelGraphics | ||
1446 | [ | ||
1447 | text " | ||
1448 | Payload class | ||
1449 | InterferometryPayload class | ||
1450 | " | ||
1451 | fontSize 14 | ||
1452 | fontName "Consolas" | ||
1453 | alignment "left" | ||
1454 | anchor "tl" | ||
1455 | borderDistance 6 | ||
1456 | ] | ||
1457 | ] | ||
1458 | |||
1459 | node | ||
1460 | [ | ||
1461 | id 38 | ||
1462 | graphics | ||
1463 | [ | ||
1464 | w 112.2 | ||
1465 | h 26 | ||
1466 | type "rectangle" | ||
1467 | fill "#FFFFFF" | ||
1468 | fill2 "#FFFFFF" | ||
1469 | outline "#000000" | ||
1470 | ] | ||
1471 | LabelGraphics | ||
1472 | [ | ||
1473 | text "New Integers" | ||
1474 | outline "#000000" | ||
1475 | fill "#FFFFFF" | ||
1476 | fontSize 16 | ||
1477 | fontName "Monospace" | ||
1478 | autoSizePolicy "node_width" | ||
1479 | anchor "t" | ||
1480 | borderDistance 0.0 | ||
1481 | ] | ||
1482 | LabelGraphics | ||
1483 | [ | ||
1484 | text " | ||
1485 | " | ||
1486 | fontSize 14 | ||
1487 | fontName "Consolas" | ||
1488 | alignment "left" | ||
1489 | anchor "tl" | ||
1490 | borderDistance 6 | ||
1491 | ] | ||
1492 | ] | ||
1493 | |||
1494 | node | ||
1495 | [ | ||
1496 | id 39 | ||
1497 | graphics | ||
1498 | [ | ||
1499 | w 85.80000000000001 | ||
1500 | h 26 | ||
1501 | type "rectangle" | ||
1502 | fill "#FFFFFF" | ||
1503 | fill2 "#FFFFFF" | ||
1504 | outline "#000000" | ||
1505 | ] | ||
1506 | LabelGraphics | ||
1507 | [ | ||
1508 | text "New Reals" | ||
1509 | outline "#000000" | ||
1510 | fill "#FFFFFF" | ||
1511 | fontSize 16 | ||
1512 | fontName "Monospace" | ||
1513 | autoSizePolicy "node_width" | ||
1514 | anchor "t" | ||
1515 | borderDistance 0.0 | ||
1516 | ] | ||
1517 | LabelGraphics | ||
1518 | [ | ||
1519 | text " | ||
1520 | " | ||
1521 | fontSize 14 | ||
1522 | fontName "Consolas" | ||
1523 | alignment "left" | ||
1524 | anchor "tl" | ||
1525 | borderDistance 6 | ||
1526 | ] | ||
1527 | ] | ||
1528 | |||
1529 | node | ||
1530 | [ | ||
1531 | id 40 | ||
1532 | graphics | ||
1533 | [ | ||
1534 | w 103.4 | ||
1535 | h 26 | ||
1536 | type "rectangle" | ||
1537 | fill "#FFFFFF" | ||
1538 | fill2 "#FFFFFF" | ||
1539 | outline "#000000" | ||
1540 | ] | ||
1541 | LabelGraphics | ||
1542 | [ | ||
1543 | text "New Strings" | ||
1544 | outline "#000000" | ||
1545 | fill "#FFFFFF" | ||
1546 | fontSize 16 | ||
1547 | fontName "Monospace" | ||
1548 | autoSizePolicy "node_width" | ||
1549 | anchor "t" | ||
1550 | borderDistance 0.0 | ||
1551 | ] | ||
1552 | LabelGraphics | ||
1553 | [ | ||
1554 | text " | ||
1555 | " | ||
1556 | fontSize 14 | ||
1557 | fontName "Consolas" | ||
1558 | alignment "left" | ||
1559 | anchor "tl" | ||
1560 | borderDistance 6 | ||
1561 | ] | ||
1562 | ] | ||
1563 | |||
1564 | node | ||
1565 | [ | ||
1566 | id 41 | ||
1567 | graphics | ||
1568 | [ | ||
1569 | w 103.4 | ||
1570 | h 26 | ||
1571 | type "rectangle" | ||
1572 | fill "#FFFFFF" | ||
1573 | fill2 "#FFFFFF" | ||
1574 | outline "#000000" | ||
1575 | ] | ||
1576 | LabelGraphics | ||
1577 | [ | ||
1578 | text "New Objects" | ||
1579 | outline "#000000" | ||
1580 | fill "#FFFFFF" | ||
1581 | fontSize 16 | ||
1582 | fontName "Monospace" | ||
1583 | autoSizePolicy "node_width" | ||
1584 | anchor "t" | ||
1585 | borderDistance 0.0 | ||
1586 | ] | ||
1587 | LabelGraphics | ||
1588 | [ | ||
1589 | text " | ||
1590 | " | ||
1591 | fontSize 14 | ||
1592 | fontName "Consolas" | ||
1593 | alignment "left" | ||
1594 | anchor "tl" | ||
1595 | borderDistance 6 | ||
1596 | ] | ||
1597 | ] | ||
1598 | edge | ||
1599 | [ | ||
1600 | source 0 | ||
1601 | target 1 | ||
1602 | graphics | ||
1603 | [ | ||
1604 | fill "#000000" | ||
1605 | width 3 | ||
1606 | targetArrow "standard" | ||
1607 | ] | ||
1608 | LabelGraphics | ||
1609 | [ | ||
1610 | text "groundStationNetwork reference ConstellationMission" | ||
1611 | fontSize 14 | ||
1612 | fontName "Consolas" | ||
1613 | configuration "AutoFlippingLabel" | ||
1614 | model "six_pos" | ||
1615 | position "thead" | ||
1616 | ] | ||
1617 | ] | ||
1618 | edge | ||
1619 | [ | ||
1620 | source 0 | ||
1621 | target 6 | ||
1622 | graphics | ||
1623 | [ | ||
1624 | fill "#000000" | ||
1625 | width 3 | ||
1626 | targetArrow "standard" | ||
1627 | ] | ||
1628 | LabelGraphics | ||
1629 | [ | ||
1630 | text "spacecraft reference ConstellationMission" | ||
1631 | fontSize 14 | ||
1632 | fontName "Consolas" | ||
1633 | configuration "AutoFlippingLabel" | ||
1634 | model "six_pos" | ||
1635 | position "thead" | ||
1636 | ] | ||
1637 | ] | ||
1638 | edge | ||
1639 | [ | ||
1640 | source 0 | ||
1641 | target 10 | ||
1642 | graphics | ||
1643 | [ | ||
1644 | fill "#000000" | ||
1645 | width 3 | ||
1646 | targetArrow "standard" | ||
1647 | ] | ||
1648 | LabelGraphics | ||
1649 | [ | ||
1650 | text "spacecraft reference ConstellationMission" | ||
1651 | fontSize 14 | ||
1652 | fontName "Consolas" | ||
1653 | configuration "AutoFlippingLabel" | ||
1654 | model "six_pos" | ||
1655 | position "thead" | ||
1656 | ] | ||
1657 | ] | ||
1658 | edge | ||
1659 | [ | ||
1660 | source 0 | ||
1661 | target 14 | ||
1662 | graphics | ||
1663 | [ | ||
1664 | fill "#000000" | ||
1665 | width 3 | ||
1666 | targetArrow "standard" | ||
1667 | ] | ||
1668 | LabelGraphics | ||
1669 | [ | ||
1670 | text "spacecraft reference ConstellationMission" | ||
1671 | fontSize 14 | ||
1672 | fontName "Consolas" | ||
1673 | configuration "AutoFlippingLabel" | ||
1674 | model "six_pos" | ||
1675 | position "thead" | ||
1676 | ] | ||
1677 | ] | ||
1678 | edge | ||
1679 | [ | ||
1680 | source 0 | ||
1681 | target 18 | ||
1682 | graphics | ||
1683 | [ | ||
1684 | fill "#000000" | ||
1685 | width 3 | ||
1686 | targetArrow "standard" | ||
1687 | ] | ||
1688 | LabelGraphics | ||
1689 | [ | ||
1690 | text "spacecraft reference ConstellationMission" | ||
1691 | fontSize 14 | ||
1692 | fontName "Consolas" | ||
1693 | configuration "AutoFlippingLabel" | ||
1694 | model "six_pos" | ||
1695 | position "thead" | ||
1696 | ] | ||
1697 | ] | ||
1698 | edge | ||
1699 | [ | ||
1700 | source 0 | ||
1701 | target 22 | ||
1702 | graphics | ||
1703 | [ | ||
1704 | fill "#000000" | ||
1705 | width 3 | ||
1706 | targetArrow "standard" | ||
1707 | ] | ||
1708 | LabelGraphics | ||
1709 | [ | ||
1710 | text "spacecraft reference ConstellationMission" | ||
1711 | fontSize 14 | ||
1712 | fontName "Consolas" | ||
1713 | configuration "AutoFlippingLabel" | ||
1714 | model "six_pos" | ||
1715 | position "thead" | ||
1716 | ] | ||
1717 | ] | ||
1718 | edge | ||
1719 | [ | ||
1720 | source 0 | ||
1721 | target 26 | ||
1722 | graphics | ||
1723 | [ | ||
1724 | fill "#000000" | ||
1725 | width 3 | ||
1726 | targetArrow "standard" | ||
1727 | ] | ||
1728 | LabelGraphics | ||
1729 | [ | ||
1730 | text "spacecraft reference ConstellationMission" | ||
1731 | fontSize 14 | ||
1732 | fontName "Consolas" | ||
1733 | configuration "AutoFlippingLabel" | ||
1734 | model "six_pos" | ||
1735 | position "thead" | ||
1736 | ] | ||
1737 | ] | ||
1738 | edge | ||
1739 | [ | ||
1740 | source 0 | ||
1741 | target 30 | ||
1742 | graphics | ||
1743 | [ | ||
1744 | fill "#000000" | ||
1745 | width 3 | ||
1746 | targetArrow "standard" | ||
1747 | ] | ||
1748 | LabelGraphics | ||
1749 | [ | ||
1750 | text "spacecraft reference ConstellationMission" | ||
1751 | fontSize 14 | ||
1752 | fontName "Consolas" | ||
1753 | configuration "AutoFlippingLabel" | ||
1754 | model "six_pos" | ||
1755 | position "thead" | ||
1756 | ] | ||
1757 | ] | ||
1758 | edge | ||
1759 | [ | ||
1760 | source 0 | ||
1761 | target 34 | ||
1762 | graphics | ||
1763 | [ | ||
1764 | fill "#000000" | ||
1765 | width 3 | ||
1766 | targetArrow "standard" | ||
1767 | ] | ||
1768 | LabelGraphics | ||
1769 | [ | ||
1770 | text "spacecraft reference ConstellationMission" | ||
1771 | fontSize 14 | ||
1772 | fontName "Consolas" | ||
1773 | configuration "AutoFlippingLabel" | ||
1774 | model "six_pos" | ||
1775 | position "thead" | ||
1776 | ] | ||
1777 | ] | ||
1778 | edge | ||
1779 | [ | ||
1780 | source 1 | ||
1781 | target 2 | ||
1782 | graphics | ||
1783 | [ | ||
1784 | fill "#000000" | ||
1785 | width 3 | ||
1786 | targetArrow "standard" | ||
1787 | ] | ||
1788 | LabelGraphics | ||
1789 | [ | ||
1790 | text "commSubsystem reference CommunicatingElement" | ||
1791 | fontSize 14 | ||
1792 | fontName "Consolas" | ||
1793 | configuration "AutoFlippingLabel" | ||
1794 | model "six_pos" | ||
1795 | position "thead" | ||
1796 | ] | ||
1797 | ] | ||
1798 | edge | ||
1799 | [ | ||
1800 | source 1 | ||
1801 | target 3 | ||
1802 | graphics | ||
1803 | [ | ||
1804 | fill "#000000" | ||
1805 | width 3 | ||
1806 | targetArrow "standard" | ||
1807 | ] | ||
1808 | LabelGraphics | ||
1809 | [ | ||
1810 | text "commSubsystem reference CommunicatingElement" | ||
1811 | fontSize 14 | ||
1812 | fontName "Consolas" | ||
1813 | configuration "AutoFlippingLabel" | ||
1814 | model "six_pos" | ||
1815 | position "thead" | ||
1816 | ] | ||
1817 | ] | ||
1818 | edge | ||
1819 | [ | ||
1820 | source 6 | ||
1821 | target 7 | ||
1822 | graphics | ||
1823 | [ | ||
1824 | fill "#000000" | ||
1825 | width 3 | ||
1826 | targetArrow "standard" | ||
1827 | ] | ||
1828 | LabelGraphics | ||
1829 | [ | ||
1830 | text "commSubsystem reference CommunicatingElement" | ||
1831 | fontSize 14 | ||
1832 | fontName "Consolas" | ||
1833 | configuration "AutoFlippingLabel" | ||
1834 | model "six_pos" | ||
1835 | position "thead" | ||
1836 | ] | ||
1837 | ] | ||
1838 | edge | ||
1839 | [ | ||
1840 | source 6 | ||
1841 | target 8 | ||
1842 | graphics | ||
1843 | [ | ||
1844 | fill "#000000" | ||
1845 | width 3 | ||
1846 | targetArrow "standard" | ||
1847 | ] | ||
1848 | LabelGraphics | ||
1849 | [ | ||
1850 | text "commSubsystem reference CommunicatingElement" | ||
1851 | fontSize 14 | ||
1852 | fontName "Consolas" | ||
1853 | configuration "AutoFlippingLabel" | ||
1854 | model "six_pos" | ||
1855 | position "thead" | ||
1856 | ] | ||
1857 | ] | ||
1858 | edge | ||
1859 | [ | ||
1860 | source 10 | ||
1861 | target 11 | ||
1862 | graphics | ||
1863 | [ | ||
1864 | fill "#000000" | ||
1865 | width 3 | ||
1866 | targetArrow "standard" | ||
1867 | ] | ||
1868 | LabelGraphics | ||
1869 | [ | ||
1870 | text "commSubsystem reference CommunicatingElement" | ||
1871 | fontSize 14 | ||
1872 | fontName "Consolas" | ||
1873 | configuration "AutoFlippingLabel" | ||
1874 | model "six_pos" | ||
1875 | position "thead" | ||
1876 | ] | ||
1877 | ] | ||
1878 | edge | ||
1879 | [ | ||
1880 | source 10 | ||
1881 | target 13 | ||
1882 | graphics | ||
1883 | [ | ||
1884 | fill "#000000" | ||
1885 | width 3 | ||
1886 | targetArrow "standard" | ||
1887 | ] | ||
1888 | LabelGraphics | ||
1889 | [ | ||
1890 | text "commSubsystem reference CommunicatingElement" | ||
1891 | fontSize 14 | ||
1892 | fontName "Consolas" | ||
1893 | configuration "AutoFlippingLabel" | ||
1894 | model "six_pos" | ||
1895 | position "thead" | ||
1896 | ] | ||
1897 | ] | ||
1898 | edge | ||
1899 | [ | ||
1900 | source 14 | ||
1901 | target 15 | ||
1902 | graphics | ||
1903 | [ | ||
1904 | fill "#000000" | ||
1905 | width 3 | ||
1906 | targetArrow "standard" | ||
1907 | ] | ||
1908 | LabelGraphics | ||
1909 | [ | ||
1910 | text "commSubsystem reference CommunicatingElement" | ||
1911 | fontSize 14 | ||
1912 | fontName "Consolas" | ||
1913 | configuration "AutoFlippingLabel" | ||
1914 | model "six_pos" | ||
1915 | position "thead" | ||
1916 | ] | ||
1917 | ] | ||
1918 | edge | ||
1919 | [ | ||
1920 | source 14 | ||
1921 | target 16 | ||
1922 | graphics | ||
1923 | [ | ||
1924 | fill "#000000" | ||
1925 | width 3 | ||
1926 | targetArrow "standard" | ||
1927 | ] | ||
1928 | LabelGraphics | ||
1929 | [ | ||
1930 | text "commSubsystem reference CommunicatingElement" | ||
1931 | fontSize 14 | ||
1932 | fontName "Consolas" | ||
1933 | configuration "AutoFlippingLabel" | ||
1934 | model "six_pos" | ||
1935 | position "thead" | ||
1936 | ] | ||
1937 | ] | ||
1938 | edge | ||
1939 | [ | ||
1940 | source 18 | ||
1941 | target 19 | ||
1942 | graphics | ||
1943 | [ | ||
1944 | fill "#000000" | ||
1945 | width 3 | ||
1946 | targetArrow "standard" | ||
1947 | ] | ||
1948 | LabelGraphics | ||
1949 | [ | ||
1950 | text "commSubsystem reference CommunicatingElement" | ||
1951 | fontSize 14 | ||
1952 | fontName "Consolas" | ||
1953 | configuration "AutoFlippingLabel" | ||
1954 | model "six_pos" | ||
1955 | position "thead" | ||
1956 | ] | ||
1957 | ] | ||
1958 | edge | ||
1959 | [ | ||
1960 | source 18 | ||
1961 | target 21 | ||
1962 | graphics | ||
1963 | [ | ||
1964 | fill "#000000" | ||
1965 | width 3 | ||
1966 | targetArrow "standard" | ||
1967 | ] | ||
1968 | LabelGraphics | ||
1969 | [ | ||
1970 | text "commSubsystem reference CommunicatingElement" | ||
1971 | fontSize 14 | ||
1972 | fontName "Consolas" | ||
1973 | configuration "AutoFlippingLabel" | ||
1974 | model "six_pos" | ||
1975 | position "thead" | ||
1976 | ] | ||
1977 | ] | ||
1978 | edge | ||
1979 | [ | ||
1980 | source 22 | ||
1981 | target 24 | ||
1982 | graphics | ||
1983 | [ | ||
1984 | fill "#000000" | ||
1985 | width 3 | ||
1986 | targetArrow "standard" | ||
1987 | ] | ||
1988 | LabelGraphics | ||
1989 | [ | ||
1990 | text "commSubsystem reference CommunicatingElement" | ||
1991 | fontSize 14 | ||
1992 | fontName "Consolas" | ||
1993 | configuration "AutoFlippingLabel" | ||
1994 | model "six_pos" | ||
1995 | position "thead" | ||
1996 | ] | ||
1997 | ] | ||
1998 | edge | ||
1999 | [ | ||
2000 | source 22 | ||
2001 | target 25 | ||
2002 | graphics | ||
2003 | [ | ||
2004 | fill "#000000" | ||
2005 | width 3 | ||
2006 | targetArrow "standard" | ||
2007 | ] | ||
2008 | LabelGraphics | ||
2009 | [ | ||
2010 | text "commSubsystem reference CommunicatingElement" | ||
2011 | fontSize 14 | ||
2012 | fontName "Consolas" | ||
2013 | configuration "AutoFlippingLabel" | ||
2014 | model "six_pos" | ||
2015 | position "thead" | ||
2016 | ] | ||
2017 | ] | ||
2018 | edge | ||
2019 | [ | ||
2020 | source 26 | ||
2021 | target 28 | ||
2022 | graphics | ||
2023 | [ | ||
2024 | fill "#000000" | ||
2025 | width 3 | ||
2026 | targetArrow "standard" | ||
2027 | ] | ||
2028 | LabelGraphics | ||
2029 | [ | ||
2030 | text "commSubsystem reference CommunicatingElement" | ||
2031 | fontSize 14 | ||
2032 | fontName "Consolas" | ||
2033 | configuration "AutoFlippingLabel" | ||
2034 | model "six_pos" | ||
2035 | position "thead" | ||
2036 | ] | ||
2037 | ] | ||
2038 | edge | ||
2039 | [ | ||
2040 | source 26 | ||
2041 | target 29 | ||
2042 | graphics | ||
2043 | [ | ||
2044 | fill "#000000" | ||
2045 | width 3 | ||
2046 | targetArrow "standard" | ||
2047 | ] | ||
2048 | LabelGraphics | ||
2049 | [ | ||
2050 | text "commSubsystem reference CommunicatingElement" | ||
2051 | fontSize 14 | ||
2052 | fontName "Consolas" | ||
2053 | configuration "AutoFlippingLabel" | ||
2054 | model "six_pos" | ||
2055 | position "thead" | ||
2056 | ] | ||
2057 | ] | ||
2058 | edge | ||
2059 | [ | ||
2060 | source 30 | ||
2061 | target 31 | ||
2062 | graphics | ||
2063 | [ | ||
2064 | fill "#000000" | ||
2065 | width 3 | ||
2066 | targetArrow "standard" | ||
2067 | ] | ||
2068 | LabelGraphics | ||
2069 | [ | ||
2070 | text "commSubsystem reference CommunicatingElement" | ||
2071 | fontSize 14 | ||
2072 | fontName "Consolas" | ||
2073 | configuration "AutoFlippingLabel" | ||
2074 | model "six_pos" | ||
2075 | position "thead" | ||
2076 | ] | ||
2077 | ] | ||
2078 | edge | ||
2079 | [ | ||
2080 | source 30 | ||
2081 | target 33 | ||
2082 | graphics | ||
2083 | [ | ||
2084 | fill "#000000" | ||
2085 | width 3 | ||
2086 | targetArrow "standard" | ||
2087 | ] | ||
2088 | LabelGraphics | ||
2089 | [ | ||
2090 | text "commSubsystem reference CommunicatingElement" | ||
2091 | fontSize 14 | ||
2092 | fontName "Consolas" | ||
2093 | configuration "AutoFlippingLabel" | ||
2094 | model "six_pos" | ||
2095 | position "thead" | ||
2096 | ] | ||
2097 | ] | ||
2098 | edge | ||
2099 | [ | ||
2100 | source 34 | ||
2101 | target 35 | ||
2102 | graphics | ||
2103 | [ | ||
2104 | fill "#000000" | ||
2105 | width 3 | ||
2106 | targetArrow "standard" | ||
2107 | ] | ||
2108 | LabelGraphics | ||
2109 | [ | ||
2110 | text "commSubsystem reference CommunicatingElement" | ||
2111 | fontSize 14 | ||
2112 | fontName "Consolas" | ||
2113 | configuration "AutoFlippingLabel" | ||
2114 | model "six_pos" | ||
2115 | position "thead" | ||
2116 | ] | ||
2117 | ] | ||
2118 | edge | ||
2119 | [ | ||
2120 | source 34 | ||
2121 | target 36 | ||
2122 | graphics | ||
2123 | [ | ||
2124 | fill "#000000" | ||
2125 | width 3 | ||
2126 | targetArrow "standard" | ||
2127 | ] | ||
2128 | LabelGraphics | ||
2129 | [ | ||
2130 | text "commSubsystem reference CommunicatingElement" | ||
2131 | fontSize 14 | ||
2132 | fontName "Consolas" | ||
2133 | configuration "AutoFlippingLabel" | ||
2134 | model "six_pos" | ||
2135 | position "thead" | ||
2136 | ] | ||
2137 | ] | ||
2138 | edge | ||
2139 | [ | ||
2140 | source 6 | ||
2141 | target 9 | ||
2142 | graphics | ||
2143 | [ | ||
2144 | fill "#000000" | ||
2145 | width 3 | ||
2146 | targetArrow "standard" | ||
2147 | ] | ||
2148 | LabelGraphics | ||
2149 | [ | ||
2150 | text "payload reference Spacecraft" | ||
2151 | fontSize 14 | ||
2152 | fontName "Consolas" | ||
2153 | configuration "AutoFlippingLabel" | ||
2154 | model "six_pos" | ||
2155 | position "thead" | ||
2156 | ] | ||
2157 | ] | ||
2158 | edge | ||
2159 | [ | ||
2160 | source 10 | ||
2161 | target 12 | ||
2162 | graphics | ||
2163 | [ | ||
2164 | fill "#000000" | ||
2165 | width 3 | ||
2166 | targetArrow "standard" | ||
2167 | ] | ||
2168 | LabelGraphics | ||
2169 | [ | ||
2170 | text "payload reference Spacecraft" | ||
2171 | fontSize 14 | ||
2172 | fontName "Consolas" | ||
2173 | configuration "AutoFlippingLabel" | ||
2174 | model "six_pos" | ||
2175 | position "thead" | ||
2176 | ] | ||
2177 | ] | ||
2178 | edge | ||
2179 | [ | ||
2180 | source 14 | ||
2181 | target 17 | ||
2182 | graphics | ||
2183 | [ | ||
2184 | fill "#000000" | ||
2185 | width 3 | ||
2186 | targetArrow "standard" | ||
2187 | ] | ||
2188 | LabelGraphics | ||
2189 | [ | ||
2190 | text "payload reference Spacecraft" | ||
2191 | fontSize 14 | ||
2192 | fontName "Consolas" | ||
2193 | configuration "AutoFlippingLabel" | ||
2194 | model "six_pos" | ||
2195 | position "thead" | ||
2196 | ] | ||
2197 | ] | ||
2198 | edge | ||
2199 | [ | ||
2200 | source 18 | ||
2201 | target 20 | ||
2202 | graphics | ||
2203 | [ | ||
2204 | fill "#000000" | ||
2205 | width 3 | ||
2206 | targetArrow "standard" | ||
2207 | ] | ||
2208 | LabelGraphics | ||
2209 | [ | ||
2210 | text "payload reference Spacecraft" | ||
2211 | fontSize 14 | ||
2212 | fontName "Consolas" | ||
2213 | configuration "AutoFlippingLabel" | ||
2214 | model "six_pos" | ||
2215 | position "thead" | ||
2216 | ] | ||
2217 | ] | ||
2218 | edge | ||
2219 | [ | ||
2220 | source 22 | ||
2221 | target 23 | ||
2222 | graphics | ||
2223 | [ | ||
2224 | fill "#000000" | ||
2225 | width 3 | ||
2226 | targetArrow "standard" | ||
2227 | ] | ||
2228 | LabelGraphics | ||
2229 | [ | ||
2230 | text "payload reference Spacecraft" | ||
2231 | fontSize 14 | ||
2232 | fontName "Consolas" | ||
2233 | configuration "AutoFlippingLabel" | ||
2234 | model "six_pos" | ||
2235 | position "thead" | ||
2236 | ] | ||
2237 | ] | ||
2238 | edge | ||
2239 | [ | ||
2240 | source 26 | ||
2241 | target 27 | ||
2242 | graphics | ||
2243 | [ | ||
2244 | fill "#000000" | ||
2245 | width 3 | ||
2246 | targetArrow "standard" | ||
2247 | ] | ||
2248 | LabelGraphics | ||
2249 | [ | ||
2250 | text "payload reference Spacecraft" | ||
2251 | fontSize 14 | ||
2252 | fontName "Consolas" | ||
2253 | configuration "AutoFlippingLabel" | ||
2254 | model "six_pos" | ||
2255 | position "thead" | ||
2256 | ] | ||
2257 | ] | ||
2258 | edge | ||
2259 | [ | ||
2260 | source 30 | ||
2261 | target 32 | ||
2262 | graphics | ||
2263 | [ | ||
2264 | fill "#000000" | ||
2265 | width 3 | ||
2266 | targetArrow "standard" | ||
2267 | ] | ||
2268 | LabelGraphics | ||
2269 | [ | ||
2270 | text "payload reference Spacecraft" | ||
2271 | fontSize 14 | ||
2272 | fontName "Consolas" | ||
2273 | configuration "AutoFlippingLabel" | ||
2274 | model "six_pos" | ||
2275 | position "thead" | ||
2276 | ] | ||
2277 | ] | ||
2278 | edge | ||
2279 | [ | ||
2280 | source 34 | ||
2281 | target 37 | ||
2282 | graphics | ||
2283 | [ | ||
2284 | fill "#000000" | ||
2285 | width 3 | ||
2286 | targetArrow "standard" | ||
2287 | ] | ||
2288 | LabelGraphics | ||
2289 | [ | ||
2290 | text "payload reference Spacecraft" | ||
2291 | fontSize 14 | ||
2292 | fontName "Consolas" | ||
2293 | configuration "AutoFlippingLabel" | ||
2294 | model "six_pos" | ||
2295 | position "thead" | ||
2296 | ] | ||
2297 | ] | ||
2298 | edge | ||
2299 | [ | ||
2300 | source 7 | ||
2301 | target 2 | ||
2302 | graphics | ||
2303 | [ | ||
2304 | fill "#000000" | ||
2305 | targetArrow "standard" | ||
2306 | ] | ||
2307 | LabelGraphics | ||
2308 | [ | ||
2309 | text "target reference CommSubsystem" | ||
2310 | fontSize 14 | ||
2311 | fontName "Consolas" | ||
2312 | configuration "AutoFlippingLabel" | ||
2313 | model "six_pos" | ||
2314 | position "thead" | ||
2315 | ] | ||
2316 | ] | ||
2317 | edge | ||
2318 | [ | ||
2319 | source 13 | ||
2320 | target 2 | ||
2321 | graphics | ||
2322 | [ | ||
2323 | fill "#000000" | ||
2324 | targetArrow "standard" | ||
2325 | ] | ||
2326 | LabelGraphics | ||
2327 | [ | ||
2328 | text "target reference CommSubsystem" | ||
2329 | fontSize 14 | ||
2330 | fontName "Consolas" | ||
2331 | configuration "AutoFlippingLabel" | ||
2332 | model "six_pos" | ||
2333 | position "thead" | ||
2334 | ] | ||
2335 | ] | ||
2336 | edge | ||
2337 | [ | ||
2338 | source 15 | ||
2339 | target 11 | ||
2340 | graphics | ||
2341 | [ | ||
2342 | fill "#000000" | ||
2343 | targetArrow "standard" | ||
2344 | ] | ||
2345 | LabelGraphics | ||
2346 | [ | ||
2347 | text "target reference CommSubsystem" | ||
2348 | fontSize 14 | ||
2349 | fontName "Consolas" | ||
2350 | configuration "AutoFlippingLabel" | ||
2351 | model "six_pos" | ||
2352 | position "thead" | ||
2353 | ] | ||
2354 | ] | ||
2355 | edge | ||
2356 | [ | ||
2357 | source 21 | ||
2358 | target 11 | ||
2359 | graphics | ||
2360 | [ | ||
2361 | fill "#000000" | ||
2362 | targetArrow "standard" | ||
2363 | ] | ||
2364 | LabelGraphics | ||
2365 | [ | ||
2366 | text "target reference CommSubsystem" | ||
2367 | fontSize 14 | ||
2368 | fontName "Consolas" | ||
2369 | configuration "AutoFlippingLabel" | ||
2370 | model "six_pos" | ||
2371 | position "thead" | ||
2372 | ] | ||
2373 | ] | ||
2374 | edge | ||
2375 | [ | ||
2376 | source 24 | ||
2377 | target 2 | ||
2378 | graphics | ||
2379 | [ | ||
2380 | fill "#000000" | ||
2381 | targetArrow "standard" | ||
2382 | ] | ||
2383 | LabelGraphics | ||
2384 | [ | ||
2385 | text "target reference CommSubsystem" | ||
2386 | fontSize 14 | ||
2387 | fontName "Consolas" | ||
2388 | configuration "AutoFlippingLabel" | ||
2389 | model "six_pos" | ||
2390 | position "thead" | ||
2391 | ] | ||
2392 | ] | ||
2393 | edge | ||
2394 | [ | ||
2395 | source 29 | ||
2396 | target 15 | ||
2397 | graphics | ||
2398 | [ | ||
2399 | fill "#000000" | ||
2400 | targetArrow "standard" | ||
2401 | ] | ||
2402 | LabelGraphics | ||
2403 | [ | ||
2404 | text "target reference CommSubsystem" | ||
2405 | fontSize 14 | ||
2406 | fontName "Consolas" | ||
2407 | configuration "AutoFlippingLabel" | ||
2408 | model "six_pos" | ||
2409 | position "thead" | ||
2410 | ] | ||
2411 | ] | ||
2412 | edge | ||
2413 | [ | ||
2414 | source 31 | ||
2415 | target 2 | ||
2416 | graphics | ||
2417 | [ | ||
2418 | fill "#000000" | ||
2419 | targetArrow "standard" | ||
2420 | ] | ||
2421 | LabelGraphics | ||
2422 | [ | ||
2423 | text "target reference CommSubsystem" | ||
2424 | fontSize 14 | ||
2425 | fontName "Consolas" | ||
2426 | configuration "AutoFlippingLabel" | ||
2427 | model "six_pos" | ||
2428 | position "thead" | ||
2429 | ] | ||
2430 | ] | ||
2431 | edge | ||
2432 | [ | ||
2433 | source 35 | ||
2434 | target 28 | ||
2435 | graphics | ||
2436 | [ | ||
2437 | fill "#000000" | ||
2438 | targetArrow "standard" | ||
2439 | ] | ||
2440 | LabelGraphics | ||
2441 | [ | ||
2442 | text "target reference CommSubsystem" | ||
2443 | fontSize 14 | ||
2444 | fontName "Consolas" | ||
2445 | configuration "AutoFlippingLabel" | ||
2446 | model "six_pos" | ||
2447 | position "thead" | ||
2448 | ] | ||
2449 | ] | ||
2450 | ] | ||
2451 | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.png deleted file mode 100644 index 783b9fb9..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi deleted file mode 100644 index cccb6a10..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore"> | ||
3 | <groundStationNetwork> | ||
4 | <commSubsystem xsi:type="satellite:KaCommSubsystem"/> | ||
5 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
6 | </groundStationNetwork> | ||
7 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
8 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
9 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.1/@commSubsystem.1"/> | ||
10 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
11 | </spacecraft> | ||
12 | <spacecraft xsi:type="satellite:CubeSat6U"> | ||
13 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
14 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
15 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
16 | </spacecraft> | ||
17 | <spacecraft xsi:type="satellite:CubeSat6U"> | ||
18 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
19 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
20 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
21 | </spacecraft> | ||
22 | <spacecraft xsi:type="satellite:CubeSat6U"> | ||
23 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
24 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.6/@commSubsystem.0"/> | ||
25 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
26 | </spacecraft> | ||
27 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
28 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
29 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
30 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
31 | </spacecraft> | ||
32 | <spacecraft xsi:type="satellite:SmallSat"> | ||
33 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
34 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.1/@commSubsystem.1"/> | ||
35 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
36 | </spacecraft> | ||
37 | <spacecraft xsi:type="satellite:SmallSat"> | ||
38 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
39 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.0/@commSubsystem.1"/> | ||
40 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
41 | </spacecraft> | ||
42 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
43 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
44 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
45 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
46 | </spacecraft> | ||
47 | </satellite:InterferometryMission> | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml deleted file mode 100644 index 1329cc70..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml +++ /dev/null | |||
@@ -1,2452 +0,0 @@ | |||
1 | graph | ||
2 | [ | ||
3 | node | ||
4 | [ | ||
5 | id 0 | ||
6 | graphics | ||
7 | [ | ||
8 | w 315.70000000000005 | ||
9 | h 82 | ||
10 | type "rectangle" | ||
11 | fill "#FFFFFF" | ||
12 | fill2 "#FFFFFF" | ||
13 | outline "#000000" | ||
14 | ] | ||
15 | LabelGraphics | ||
16 | [ | ||
17 | text "o 1" | ||
18 | outline "#000000" | ||
19 | fill "#FFFFFF" | ||
20 | fontSize 16 | ||
21 | fontName "Monospace" | ||
22 | autoSizePolicy "node_width" | ||
23 | anchor "t" | ||
24 | borderDistance 0.0 | ||
25 | ] | ||
26 | LabelGraphics | ||
27 | [ | ||
28 | text " | ||
29 | ConstellationMission class DefinedPart | ||
30 | InterferometryMission class DefinedPart | ||
31 | ConstellationMission class | ||
32 | InterferometryMission class | ||
33 | " | ||
34 | fontSize 14 | ||
35 | fontName "Consolas" | ||
36 | alignment "left" | ||
37 | anchor "tl" | ||
38 | borderDistance 6 | ||
39 | ] | ||
40 | ] | ||
41 | |||
42 | node | ||
43 | [ | ||
44 | id 1 | ||
45 | graphics | ||
46 | [ | ||
47 | w 308.0 | ||
48 | h 82 | ||
49 | type "rectangle" | ||
50 | fill "#FFFFFF" | ||
51 | fill2 "#FFFFFF" | ||
52 | outline "#000000" | ||
53 | ] | ||
54 | LabelGraphics | ||
55 | [ | ||
56 | text "o 2" | ||
57 | outline "#000000" | ||
58 | fill "#FFFFFF" | ||
59 | fontSize 16 | ||
60 | fontName "Monospace" | ||
61 | autoSizePolicy "node_width" | ||
62 | anchor "t" | ||
63 | borderDistance 0.0 | ||
64 | ] | ||
65 | LabelGraphics | ||
66 | [ | ||
67 | text " | ||
68 | CommunicatingElement class DefinedPart | ||
69 | GroundStationNetwork class DefinedPart | ||
70 | CommunicatingElement class | ||
71 | GroundStationNetwork class | ||
72 | " | ||
73 | fontSize 14 | ||
74 | fontName "Consolas" | ||
75 | alignment "left" | ||
76 | anchor "tl" | ||
77 | borderDistance 6 | ||
78 | ] | ||
79 | ] | ||
80 | |||
81 | node | ||
82 | [ | ||
83 | id 2 | ||
84 | graphics | ||
85 | [ | ||
86 | w 261.8 | ||
87 | h 82 | ||
88 | type "rectangle" | ||
89 | fill "#FFFFFF" | ||
90 | fill2 "#FFFFFF" | ||
91 | outline "#000000" | ||
92 | ] | ||
93 | LabelGraphics | ||
94 | [ | ||
95 | text "o 3" | ||
96 | outline "#000000" | ||
97 | fill "#FFFFFF" | ||
98 | fontSize 16 | ||
99 | fontName "Monospace" | ||
100 | autoSizePolicy "node_width" | ||
101 | anchor "t" | ||
102 | borderDistance 0.0 | ||
103 | ] | ||
104 | LabelGraphics | ||
105 | [ | ||
106 | text " | ||
107 | CommSubsystem class DefinedPart | ||
108 | XCommSubsystem class DefinedPart | ||
109 | CommSubsystem class | ||
110 | XCommSubsystem class | ||
111 | " | ||
112 | fontSize 14 | ||
113 | fontName "Consolas" | ||
114 | alignment "left" | ||
115 | anchor "tl" | ||
116 | borderDistance 6 | ||
117 | ] | ||
118 | ] | ||
119 | |||
120 | node | ||
121 | [ | ||
122 | id 3 | ||
123 | graphics | ||
124 | [ | ||
125 | w 269.5 | ||
126 | h 82 | ||
127 | type "rectangle" | ||
128 | fill "#FFFFFF" | ||
129 | fill2 "#FFFFFF" | ||
130 | outline "#000000" | ||
131 | ] | ||
132 | LabelGraphics | ||
133 | [ | ||
134 | text "o 4" | ||
135 | outline "#000000" | ||
136 | fill "#FFFFFF" | ||
137 | fontSize 16 | ||
138 | fontName "Monospace" | ||
139 | autoSizePolicy "node_width" | ||
140 | anchor "t" | ||
141 | borderDistance 0.0 | ||
142 | ] | ||
143 | LabelGraphics | ||
144 | [ | ||
145 | text " | ||
146 | CommSubsystem class DefinedPart | ||
147 | KaCommSubsystem class DefinedPart | ||
148 | CommSubsystem class | ||
149 | KaCommSubsystem class | ||
150 | " | ||
151 | fontSize 14 | ||
152 | fontName "Consolas" | ||
153 | alignment "left" | ||
154 | anchor "tl" | ||
155 | borderDistance 6 | ||
156 | ] | ||
157 | ] | ||
158 | |||
159 | node | ||
160 | [ | ||
161 | id 4 | ||
162 | graphics | ||
163 | [ | ||
164 | w 41.800000000000004 | ||
165 | h 26 | ||
166 | type "rectangle" | ||
167 | fill "#FFFFFF" | ||
168 | fill2 "#FFFFFF" | ||
169 | outline "#000000" | ||
170 | ] | ||
171 | LabelGraphics | ||
172 | [ | ||
173 | text "true" | ||
174 | outline "#000000" | ||
175 | fill "#FFFFFF" | ||
176 | fontSize 16 | ||
177 | fontName "Monospace" | ||
178 | autoSizePolicy "node_width" | ||
179 | anchor "t" | ||
180 | borderDistance 0.0 | ||
181 | ] | ||
182 | LabelGraphics | ||
183 | [ | ||
184 | text " | ||
185 | " | ||
186 | fontSize 14 | ||
187 | fontName "Consolas" | ||
188 | alignment "left" | ||
189 | anchor "tl" | ||
190 | borderDistance 6 | ||
191 | ] | ||
192 | ] | ||
193 | |||
194 | node | ||
195 | [ | ||
196 | id 5 | ||
197 | graphics | ||
198 | [ | ||
199 | w 50.6 | ||
200 | h 26 | ||
201 | type "rectangle" | ||
202 | fill "#FFFFFF" | ||
203 | fill2 "#FFFFFF" | ||
204 | outline "#000000" | ||
205 | ] | ||
206 | LabelGraphics | ||
207 | [ | ||
208 | text "false" | ||
209 | outline "#000000" | ||
210 | fill "#FFFFFF" | ||
211 | fontSize 16 | ||
212 | fontName "Monospace" | ||
213 | autoSizePolicy "node_width" | ||
214 | anchor "t" | ||
215 | borderDistance 0.0 | ||
216 | ] | ||
217 | LabelGraphics | ||
218 | [ | ||
219 | text " | ||
220 | " | ||
221 | fontSize 14 | ||
222 | fontName "Consolas" | ||
223 | alignment "left" | ||
224 | anchor "tl" | ||
225 | borderDistance 6 | ||
226 | ] | ||
227 | ] | ||
228 | |||
229 | node | ||
230 | [ | ||
231 | id 6 | ||
232 | graphics | ||
233 | [ | ||
234 | w 323.40000000000003 | ||
235 | h 96 | ||
236 | type "rectangle" | ||
237 | fill "#FFFFFF" | ||
238 | fill2 "#FFFFFF" | ||
239 | outline "#000000" | ||
240 | ] | ||
241 | LabelGraphics | ||
242 | [ | ||
243 | text "null" | ||
244 | outline "#000000" | ||
245 | fill "#FFFFFF" | ||
246 | fontSize 16 | ||
247 | fontName "Monospace" | ||
248 | autoSizePolicy "node_width" | ||
249 | anchor "t" | ||
250 | borderDistance 0.0 | ||
251 | ] | ||
252 | LabelGraphics | ||
253 | [ | ||
254 | text " | ||
255 | CommunicatingElement class | ||
256 | Spacecraft class | ||
257 | CubeSat6U class | ||
258 | CubeSat class | ||
259 | CommunicatingElement class UndefinedPart | ||
260 | " | ||
261 | fontSize 14 | ||
262 | fontName "Consolas" | ||
263 | alignment "left" | ||
264 | anchor "tl" | ||
265 | borderDistance 6 | ||
266 | ] | ||
267 | ] | ||
268 | |||
269 | node | ||
270 | [ | ||
271 | id 7 | ||
272 | graphics | ||
273 | [ | ||
274 | w 269.5 | ||
275 | h 68 | ||
276 | type "rectangle" | ||
277 | fill "#FFFFFF" | ||
278 | fill2 "#FFFFFF" | ||
279 | outline "#000000" | ||
280 | ] | ||
281 | LabelGraphics | ||
282 | [ | ||
283 | text "null" | ||
284 | outline "#000000" | ||
285 | fill "#FFFFFF" | ||
286 | fontSize 16 | ||
287 | fontName "Monospace" | ||
288 | autoSizePolicy "node_width" | ||
289 | anchor "t" | ||
290 | borderDistance 0.0 | ||
291 | ] | ||
292 | LabelGraphics | ||
293 | [ | ||
294 | text " | ||
295 | CommSubsystem class | ||
296 | UHFCommSubsystem class | ||
297 | CommSubsystem class UndefinedPart | ||
298 | " | ||
299 | fontSize 14 | ||
300 | fontName "Consolas" | ||
301 | alignment "left" | ||
302 | anchor "tl" | ||
303 | borderDistance 6 | ||
304 | ] | ||
305 | ] | ||
306 | |||
307 | node | ||
308 | [ | ||
309 | id 8 | ||
310 | graphics | ||
311 | [ | ||
312 | w 223.3 | ||
313 | h 54 | ||
314 | type "rectangle" | ||
315 | fill "#FFFFFF" | ||
316 | fill2 "#FFFFFF" | ||
317 | outline "#000000" | ||
318 | ] | ||
319 | LabelGraphics | ||
320 | [ | ||
321 | text "null" | ||
322 | outline "#000000" | ||
323 | fill "#FFFFFF" | ||
324 | fontSize 16 | ||
325 | fontName "Monospace" | ||
326 | autoSizePolicy "node_width" | ||
327 | anchor "t" | ||
328 | borderDistance 0.0 | ||
329 | ] | ||
330 | LabelGraphics | ||
331 | [ | ||
332 | text " | ||
333 | Payload class | ||
334 | InterferometryPayload class | ||
335 | " | ||
336 | fontSize 14 | ||
337 | fontName "Consolas" | ||
338 | alignment "left" | ||
339 | anchor "tl" | ||
340 | borderDistance 6 | ||
341 | ] | ||
342 | ] | ||
343 | |||
344 | node | ||
345 | [ | ||
346 | id 9 | ||
347 | graphics | ||
348 | [ | ||
349 | w 277.20000000000005 | ||
350 | h 82 | ||
351 | type "rectangle" | ||
352 | fill "#FFFFFF" | ||
353 | fill2 "#FFFFFF" | ||
354 | outline "#000000" | ||
355 | ] | ||
356 | LabelGraphics | ||
357 | [ | ||
358 | text "null" | ||
359 | outline "#000000" | ||
360 | fill "#FFFFFF" | ||
361 | fontSize 16 | ||
362 | fontName "Monospace" | ||
363 | autoSizePolicy "node_width" | ||
364 | anchor "t" | ||
365 | borderDistance 0.0 | ||
366 | ] | ||
367 | LabelGraphics | ||
368 | [ | ||
369 | text " | ||
370 | CommSubsystem class | ||
371 | XCommSubsystem class | ||
372 | CommSubsystem class UndefinedPart | ||
373 | XCommSubsystem class UndefinedPart | ||
374 | " | ||
375 | fontSize 14 | ||
376 | fontName "Consolas" | ||
377 | alignment "left" | ||
378 | anchor "tl" | ||
379 | borderDistance 6 | ||
380 | ] | ||
381 | ] | ||
382 | |||
383 | node | ||
384 | [ | ||
385 | id 10 | ||
386 | graphics | ||
387 | [ | ||
388 | w 323.40000000000003 | ||
389 | h 82 | ||
390 | type "rectangle" | ||
391 | fill "#FFFFFF" | ||
392 | fill2 "#FFFFFF" | ||
393 | outline "#000000" | ||
394 | ] | ||
395 | LabelGraphics | ||
396 | [ | ||
397 | text "null" | ||
398 | outline "#000000" | ||
399 | fill "#FFFFFF" | ||
400 | fontSize 16 | ||
401 | fontName "Monospace" | ||
402 | autoSizePolicy "node_width" | ||
403 | anchor "t" | ||
404 | borderDistance 0.0 | ||
405 | ] | ||
406 | LabelGraphics | ||
407 | [ | ||
408 | text " | ||
409 | CommunicatingElement class | ||
410 | Spacecraft class | ||
411 | SmallSat class | ||
412 | CommunicatingElement class UndefinedPart | ||
413 | " | ||
414 | fontSize 14 | ||
415 | fontName "Consolas" | ||
416 | alignment "left" | ||
417 | anchor "tl" | ||
418 | borderDistance 6 | ||
419 | ] | ||
420 | ] | ||
421 | |||
422 | node | ||
423 | [ | ||
424 | id 11 | ||
425 | graphics | ||
426 | [ | ||
427 | w 277.20000000000005 | ||
428 | h 82 | ||
429 | type "rectangle" | ||
430 | fill "#FFFFFF" | ||
431 | fill2 "#FFFFFF" | ||
432 | outline "#000000" | ||
433 | ] | ||
434 | LabelGraphics | ||
435 | [ | ||
436 | text "null" | ||
437 | outline "#000000" | ||
438 | fill "#FFFFFF" | ||
439 | fontSize 16 | ||
440 | fontName "Monospace" | ||
441 | autoSizePolicy "node_width" | ||
442 | anchor "t" | ||
443 | borderDistance 0.0 | ||
444 | ] | ||
445 | LabelGraphics | ||
446 | [ | ||
447 | text " | ||
448 | CommSubsystem class | ||
449 | XCommSubsystem class | ||
450 | CommSubsystem class UndefinedPart | ||
451 | XCommSubsystem class UndefinedPart | ||
452 | " | ||
453 | fontSize 14 | ||
454 | fontName "Consolas" | ||
455 | alignment "left" | ||
456 | anchor "tl" | ||
457 | borderDistance 6 | ||
458 | ] | ||
459 | ] | ||
460 | |||
461 | node | ||
462 | [ | ||
463 | id 12 | ||
464 | graphics | ||
465 | [ | ||
466 | w 277.20000000000005 | ||
467 | h 82 | ||
468 | type "rectangle" | ||
469 | fill "#FFFFFF" | ||
470 | fill2 "#FFFFFF" | ||
471 | outline "#000000" | ||
472 | ] | ||
473 | LabelGraphics | ||
474 | [ | ||
475 | text "null" | ||
476 | outline "#000000" | ||
477 | fill "#FFFFFF" | ||
478 | fontSize 16 | ||
479 | fontName "Monospace" | ||
480 | autoSizePolicy "node_width" | ||
481 | anchor "t" | ||
482 | borderDistance 0.0 | ||
483 | ] | ||
484 | LabelGraphics | ||
485 | [ | ||
486 | text " | ||
487 | CommSubsystem class | ||
488 | XCommSubsystem class | ||
489 | CommSubsystem class UndefinedPart | ||
490 | XCommSubsystem class UndefinedPart | ||
491 | " | ||
492 | fontSize 14 | ||
493 | fontName "Consolas" | ||
494 | alignment "left" | ||
495 | anchor "tl" | ||
496 | borderDistance 6 | ||
497 | ] | ||
498 | ] | ||
499 | |||
500 | node | ||
501 | [ | ||
502 | id 13 | ||
503 | graphics | ||
504 | [ | ||
505 | w 223.3 | ||
506 | h 54 | ||
507 | type "rectangle" | ||
508 | fill "#FFFFFF" | ||
509 | fill2 "#FFFFFF" | ||
510 | outline "#000000" | ||
511 | ] | ||
512 | LabelGraphics | ||
513 | [ | ||
514 | text "null" | ||
515 | outline "#000000" | ||
516 | fill "#FFFFFF" | ||
517 | fontSize 16 | ||
518 | fontName "Monospace" | ||
519 | autoSizePolicy "node_width" | ||
520 | anchor "t" | ||
521 | borderDistance 0.0 | ||
522 | ] | ||
523 | LabelGraphics | ||
524 | [ | ||
525 | text " | ||
526 | Payload class | ||
527 | InterferometryPayload class | ||
528 | " | ||
529 | fontSize 14 | ||
530 | fontName "Consolas" | ||
531 | alignment "left" | ||
532 | anchor "tl" | ||
533 | borderDistance 6 | ||
534 | ] | ||
535 | ] | ||
536 | |||
537 | node | ||
538 | [ | ||
539 | id 14 | ||
540 | graphics | ||
541 | [ | ||
542 | w 323.40000000000003 | ||
543 | h 96 | ||
544 | type "rectangle" | ||
545 | fill "#FFFFFF" | ||
546 | fill2 "#FFFFFF" | ||
547 | outline "#000000" | ||
548 | ] | ||
549 | LabelGraphics | ||
550 | [ | ||
551 | text "null" | ||
552 | outline "#000000" | ||
553 | fill "#FFFFFF" | ||
554 | fontSize 16 | ||
555 | fontName "Monospace" | ||
556 | autoSizePolicy "node_width" | ||
557 | anchor "t" | ||
558 | borderDistance 0.0 | ||
559 | ] | ||
560 | LabelGraphics | ||
561 | [ | ||
562 | text " | ||
563 | CommunicatingElement class | ||
564 | Spacecraft class | ||
565 | CubeSat3U class | ||
566 | CubeSat class | ||
567 | CommunicatingElement class UndefinedPart | ||
568 | " | ||
569 | fontSize 14 | ||
570 | fontName "Consolas" | ||
571 | alignment "left" | ||
572 | anchor "tl" | ||
573 | borderDistance 6 | ||
574 | ] | ||
575 | ] | ||
576 | |||
577 | node | ||
578 | [ | ||
579 | id 15 | ||
580 | graphics | ||
581 | [ | ||
582 | w 269.5 | ||
583 | h 68 | ||
584 | type "rectangle" | ||
585 | fill "#FFFFFF" | ||
586 | fill2 "#FFFFFF" | ||
587 | outline "#000000" | ||
588 | ] | ||
589 | LabelGraphics | ||
590 | [ | ||
591 | text "null" | ||
592 | outline "#000000" | ||
593 | fill "#FFFFFF" | ||
594 | fontSize 16 | ||
595 | fontName "Monospace" | ||
596 | autoSizePolicy "node_width" | ||
597 | anchor "t" | ||
598 | borderDistance 0.0 | ||
599 | ] | ||
600 | LabelGraphics | ||
601 | [ | ||
602 | text " | ||
603 | CommSubsystem class | ||
604 | UHFCommSubsystem class | ||
605 | CommSubsystem class UndefinedPart | ||
606 | " | ||
607 | fontSize 14 | ||
608 | fontName "Consolas" | ||
609 | alignment "left" | ||
610 | anchor "tl" | ||
611 | borderDistance 6 | ||
612 | ] | ||
613 | ] | ||
614 | |||
615 | node | ||
616 | [ | ||
617 | id 16 | ||
618 | graphics | ||
619 | [ | ||
620 | w 269.5 | ||
621 | h 68 | ||
622 | type "rectangle" | ||
623 | fill "#FFFFFF" | ||
624 | fill2 "#FFFFFF" | ||
625 | outline "#000000" | ||
626 | ] | ||
627 | LabelGraphics | ||
628 | [ | ||
629 | text "null" | ||
630 | outline "#000000" | ||
631 | fill "#FFFFFF" | ||
632 | fontSize 16 | ||
633 | fontName "Monospace" | ||
634 | autoSizePolicy "node_width" | ||
635 | anchor "t" | ||
636 | borderDistance 0.0 | ||
637 | ] | ||
638 | LabelGraphics | ||
639 | [ | ||
640 | text " | ||
641 | CommSubsystem class | ||
642 | UHFCommSubsystem class | ||
643 | CommSubsystem class UndefinedPart | ||
644 | " | ||
645 | fontSize 14 | ||
646 | fontName "Consolas" | ||
647 | alignment "left" | ||
648 | anchor "tl" | ||
649 | borderDistance 6 | ||
650 | ] | ||
651 | ] | ||
652 | |||
653 | node | ||
654 | [ | ||
655 | id 17 | ||
656 | graphics | ||
657 | [ | ||
658 | w 223.3 | ||
659 | h 54 | ||
660 | type "rectangle" | ||
661 | fill "#FFFFFF" | ||
662 | fill2 "#FFFFFF" | ||
663 | outline "#000000" | ||
664 | ] | ||
665 | LabelGraphics | ||
666 | [ | ||
667 | text "null" | ||
668 | outline "#000000" | ||
669 | fill "#FFFFFF" | ||
670 | fontSize 16 | ||
671 | fontName "Monospace" | ||
672 | autoSizePolicy "node_width" | ||
673 | anchor "t" | ||
674 | borderDistance 0.0 | ||
675 | ] | ||
676 | LabelGraphics | ||
677 | [ | ||
678 | text " | ||
679 | Payload class | ||
680 | InterferometryPayload class | ||
681 | " | ||
682 | fontSize 14 | ||
683 | fontName "Consolas" | ||
684 | alignment "left" | ||
685 | anchor "tl" | ||
686 | borderDistance 6 | ||
687 | ] | ||
688 | ] | ||
689 | |||
690 | node | ||
691 | [ | ||
692 | id 18 | ||
693 | graphics | ||
694 | [ | ||
695 | w 323.40000000000003 | ||
696 | h 82 | ||
697 | type "rectangle" | ||
698 | fill "#FFFFFF" | ||
699 | fill2 "#FFFFFF" | ||
700 | outline "#000000" | ||
701 | ] | ||
702 | LabelGraphics | ||
703 | [ | ||
704 | text "null" | ||
705 | outline "#000000" | ||
706 | fill "#FFFFFF" | ||
707 | fontSize 16 | ||
708 | fontName "Monospace" | ||
709 | autoSizePolicy "node_width" | ||
710 | anchor "t" | ||
711 | borderDistance 0.0 | ||
712 | ] | ||
713 | LabelGraphics | ||
714 | [ | ||
715 | text " | ||
716 | CommunicatingElement class | ||
717 | Spacecraft class | ||
718 | SmallSat class | ||
719 | CommunicatingElement class UndefinedPart | ||
720 | " | ||
721 | fontSize 14 | ||
722 | fontName "Consolas" | ||
723 | alignment "left" | ||
724 | anchor "tl" | ||
725 | borderDistance 6 | ||
726 | ] | ||
727 | ] | ||
728 | |||
729 | node | ||
730 | [ | ||
731 | id 19 | ||
732 | graphics | ||
733 | [ | ||
734 | w 277.20000000000005 | ||
735 | h 82 | ||
736 | type "rectangle" | ||
737 | fill "#FFFFFF" | ||
738 | fill2 "#FFFFFF" | ||
739 | outline "#000000" | ||
740 | ] | ||
741 | LabelGraphics | ||
742 | [ | ||
743 | text "null" | ||
744 | outline "#000000" | ||
745 | fill "#FFFFFF" | ||
746 | fontSize 16 | ||
747 | fontName "Monospace" | ||
748 | autoSizePolicy "node_width" | ||
749 | anchor "t" | ||
750 | borderDistance 0.0 | ||
751 | ] | ||
752 | LabelGraphics | ||
753 | [ | ||
754 | text " | ||
755 | CommSubsystem class | ||
756 | XCommSubsystem class | ||
757 | CommSubsystem class UndefinedPart | ||
758 | XCommSubsystem class UndefinedPart | ||
759 | " | ||
760 | fontSize 14 | ||
761 | fontName "Consolas" | ||
762 | alignment "left" | ||
763 | anchor "tl" | ||
764 | borderDistance 6 | ||
765 | ] | ||
766 | ] | ||
767 | |||
768 | node | ||
769 | [ | ||
770 | id 20 | ||
771 | graphics | ||
772 | [ | ||
773 | w 284.90000000000003 | ||
774 | h 82 | ||
775 | type "rectangle" | ||
776 | fill "#FFFFFF" | ||
777 | fill2 "#FFFFFF" | ||
778 | outline "#000000" | ||
779 | ] | ||
780 | LabelGraphics | ||
781 | [ | ||
782 | text "null" | ||
783 | outline "#000000" | ||
784 | fill "#FFFFFF" | ||
785 | fontSize 16 | ||
786 | fontName "Monospace" | ||
787 | autoSizePolicy "node_width" | ||
788 | anchor "t" | ||
789 | borderDistance 0.0 | ||
790 | ] | ||
791 | LabelGraphics | ||
792 | [ | ||
793 | text " | ||
794 | CommSubsystem class | ||
795 | KaCommSubsystem class | ||
796 | CommSubsystem class UndefinedPart | ||
797 | KaCommSubsystem class UndefinedPart | ||
798 | " | ||
799 | fontSize 14 | ||
800 | fontName "Consolas" | ||
801 | alignment "left" | ||
802 | anchor "tl" | ||
803 | borderDistance 6 | ||
804 | ] | ||
805 | ] | ||
806 | |||
807 | node | ||
808 | [ | ||
809 | id 21 | ||
810 | graphics | ||
811 | [ | ||
812 | w 223.3 | ||
813 | h 54 | ||
814 | type "rectangle" | ||
815 | fill "#FFFFFF" | ||
816 | fill2 "#FFFFFF" | ||
817 | outline "#000000" | ||
818 | ] | ||
819 | LabelGraphics | ||
820 | [ | ||
821 | text "null" | ||
822 | outline "#000000" | ||
823 | fill "#FFFFFF" | ||
824 | fontSize 16 | ||
825 | fontName "Monospace" | ||
826 | autoSizePolicy "node_width" | ||
827 | anchor "t" | ||
828 | borderDistance 0.0 | ||
829 | ] | ||
830 | LabelGraphics | ||
831 | [ | ||
832 | text " | ||
833 | Payload class | ||
834 | InterferometryPayload class | ||
835 | " | ||
836 | fontSize 14 | ||
837 | fontName "Consolas" | ||
838 | alignment "left" | ||
839 | anchor "tl" | ||
840 | borderDistance 6 | ||
841 | ] | ||
842 | ] | ||
843 | |||
844 | node | ||
845 | [ | ||
846 | id 22 | ||
847 | graphics | ||
848 | [ | ||
849 | w 323.40000000000003 | ||
850 | h 82 | ||
851 | type "rectangle" | ||
852 | fill "#FFFFFF" | ||
853 | fill2 "#FFFFFF" | ||
854 | outline "#000000" | ||
855 | ] | ||
856 | LabelGraphics | ||
857 | [ | ||
858 | text "null" | ||
859 | outline "#000000" | ||
860 | fill "#FFFFFF" | ||
861 | fontSize 16 | ||
862 | fontName "Monospace" | ||
863 | autoSizePolicy "node_width" | ||
864 | anchor "t" | ||
865 | borderDistance 0.0 | ||
866 | ] | ||
867 | LabelGraphics | ||
868 | [ | ||
869 | text " | ||
870 | CommunicatingElement class | ||
871 | Spacecraft class | ||
872 | SmallSat class | ||
873 | CommunicatingElement class UndefinedPart | ||
874 | " | ||
875 | fontSize 14 | ||
876 | fontName "Consolas" | ||
877 | alignment "left" | ||
878 | anchor "tl" | ||
879 | borderDistance 6 | ||
880 | ] | ||
881 | ] | ||
882 | |||
883 | node | ||
884 | [ | ||
885 | id 23 | ||
886 | graphics | ||
887 | [ | ||
888 | w 277.20000000000005 | ||
889 | h 82 | ||
890 | type "rectangle" | ||
891 | fill "#FFFFFF" | ||
892 | fill2 "#FFFFFF" | ||
893 | outline "#000000" | ||
894 | ] | ||
895 | LabelGraphics | ||
896 | [ | ||
897 | text "null" | ||
898 | outline "#000000" | ||
899 | fill "#FFFFFF" | ||
900 | fontSize 16 | ||
901 | fontName "Monospace" | ||
902 | autoSizePolicy "node_width" | ||
903 | anchor "t" | ||
904 | borderDistance 0.0 | ||
905 | ] | ||
906 | LabelGraphics | ||
907 | [ | ||
908 | text " | ||
909 | CommSubsystem class | ||
910 | XCommSubsystem class | ||
911 | CommSubsystem class UndefinedPart | ||
912 | XCommSubsystem class UndefinedPart | ||
913 | " | ||
914 | fontSize 14 | ||
915 | fontName "Consolas" | ||
916 | alignment "left" | ||
917 | anchor "tl" | ||
918 | borderDistance 6 | ||
919 | ] | ||
920 | ] | ||
921 | |||
922 | node | ||
923 | [ | ||
924 | id 24 | ||
925 | graphics | ||
926 | [ | ||
927 | w 269.5 | ||
928 | h 68 | ||
929 | type "rectangle" | ||
930 | fill "#FFFFFF" | ||
931 | fill2 "#FFFFFF" | ||
932 | outline "#000000" | ||
933 | ] | ||
934 | LabelGraphics | ||
935 | [ | ||
936 | text "null" | ||
937 | outline "#000000" | ||
938 | fill "#FFFFFF" | ||
939 | fontSize 16 | ||
940 | fontName "Monospace" | ||
941 | autoSizePolicy "node_width" | ||
942 | anchor "t" | ||
943 | borderDistance 0.0 | ||
944 | ] | ||
945 | LabelGraphics | ||
946 | [ | ||
947 | text " | ||
948 | CommSubsystem class | ||
949 | UHFCommSubsystem class | ||
950 | CommSubsystem class UndefinedPart | ||
951 | " | ||
952 | fontSize 14 | ||
953 | fontName "Consolas" | ||
954 | alignment "left" | ||
955 | anchor "tl" | ||
956 | borderDistance 6 | ||
957 | ] | ||
958 | ] | ||
959 | |||
960 | node | ||
961 | [ | ||
962 | id 25 | ||
963 | graphics | ||
964 | [ | ||
965 | w 223.3 | ||
966 | h 54 | ||
967 | type "rectangle" | ||
968 | fill "#FFFFFF" | ||
969 | fill2 "#FFFFFF" | ||
970 | outline "#000000" | ||
971 | ] | ||
972 | LabelGraphics | ||
973 | [ | ||
974 | text "null" | ||
975 | outline "#000000" | ||
976 | fill "#FFFFFF" | ||
977 | fontSize 16 | ||
978 | fontName "Monospace" | ||
979 | autoSizePolicy "node_width" | ||
980 | anchor "t" | ||
981 | borderDistance 0.0 | ||
982 | ] | ||
983 | LabelGraphics | ||
984 | [ | ||
985 | text " | ||
986 | Payload class | ||
987 | InterferometryPayload class | ||
988 | " | ||
989 | fontSize 14 | ||
990 | fontName "Consolas" | ||
991 | alignment "left" | ||
992 | anchor "tl" | ||
993 | borderDistance 6 | ||
994 | ] | ||
995 | ] | ||
996 | |||
997 | node | ||
998 | [ | ||
999 | id 26 | ||
1000 | graphics | ||
1001 | [ | ||
1002 | w 323.40000000000003 | ||
1003 | h 96 | ||
1004 | type "rectangle" | ||
1005 | fill "#FFFFFF" | ||
1006 | fill2 "#FFFFFF" | ||
1007 | outline "#000000" | ||
1008 | ] | ||
1009 | LabelGraphics | ||
1010 | [ | ||
1011 | text "null" | ||
1012 | outline "#000000" | ||
1013 | fill "#FFFFFF" | ||
1014 | fontSize 16 | ||
1015 | fontName "Monospace" | ||
1016 | autoSizePolicy "node_width" | ||
1017 | anchor "t" | ||
1018 | borderDistance 0.0 | ||
1019 | ] | ||
1020 | LabelGraphics | ||
1021 | [ | ||
1022 | text " | ||
1023 | CommunicatingElement class | ||
1024 | Spacecraft class | ||
1025 | CubeSat3U class | ||
1026 | CubeSat class | ||
1027 | CommunicatingElement class UndefinedPart | ||
1028 | " | ||
1029 | fontSize 14 | ||
1030 | fontName "Consolas" | ||
1031 | alignment "left" | ||
1032 | anchor "tl" | ||
1033 | borderDistance 6 | ||
1034 | ] | ||
1035 | ] | ||
1036 | |||
1037 | node | ||
1038 | [ | ||
1039 | id 27 | ||
1040 | graphics | ||
1041 | [ | ||
1042 | w 277.20000000000005 | ||
1043 | h 82 | ||
1044 | type "rectangle" | ||
1045 | fill "#FFFFFF" | ||
1046 | fill2 "#FFFFFF" | ||
1047 | outline "#000000" | ||
1048 | ] | ||
1049 | LabelGraphics | ||
1050 | [ | ||
1051 | text "null" | ||
1052 | outline "#000000" | ||
1053 | fill "#FFFFFF" | ||
1054 | fontSize 16 | ||
1055 | fontName "Monospace" | ||
1056 | autoSizePolicy "node_width" | ||
1057 | anchor "t" | ||
1058 | borderDistance 0.0 | ||
1059 | ] | ||
1060 | LabelGraphics | ||
1061 | [ | ||
1062 | text " | ||
1063 | CommSubsystem class | ||
1064 | XCommSubsystem class | ||
1065 | CommSubsystem class UndefinedPart | ||
1066 | XCommSubsystem class UndefinedPart | ||
1067 | " | ||
1068 | fontSize 14 | ||
1069 | fontName "Consolas" | ||
1070 | alignment "left" | ||
1071 | anchor "tl" | ||
1072 | borderDistance 6 | ||
1073 | ] | ||
1074 | ] | ||
1075 | |||
1076 | node | ||
1077 | [ | ||
1078 | id 28 | ||
1079 | graphics | ||
1080 | [ | ||
1081 | w 277.20000000000005 | ||
1082 | h 82 | ||
1083 | type "rectangle" | ||
1084 | fill "#FFFFFF" | ||
1085 | fill2 "#FFFFFF" | ||
1086 | outline "#000000" | ||
1087 | ] | ||
1088 | LabelGraphics | ||
1089 | [ | ||
1090 | text "null" | ||
1091 | outline "#000000" | ||
1092 | fill "#FFFFFF" | ||
1093 | fontSize 16 | ||
1094 | fontName "Monospace" | ||
1095 | autoSizePolicy "node_width" | ||
1096 | anchor "t" | ||
1097 | borderDistance 0.0 | ||
1098 | ] | ||
1099 | LabelGraphics | ||
1100 | [ | ||
1101 | text " | ||
1102 | CommSubsystem class | ||
1103 | XCommSubsystem class | ||
1104 | CommSubsystem class UndefinedPart | ||
1105 | XCommSubsystem class UndefinedPart | ||
1106 | " | ||
1107 | fontSize 14 | ||
1108 | fontName "Consolas" | ||
1109 | alignment "left" | ||
1110 | anchor "tl" | ||
1111 | borderDistance 6 | ||
1112 | ] | ||
1113 | ] | ||
1114 | |||
1115 | node | ||
1116 | [ | ||
1117 | id 29 | ||
1118 | graphics | ||
1119 | [ | ||
1120 | w 223.3 | ||
1121 | h 54 | ||
1122 | type "rectangle" | ||
1123 | fill "#FFFFFF" | ||
1124 | fill2 "#FFFFFF" | ||
1125 | outline "#000000" | ||
1126 | ] | ||
1127 | LabelGraphics | ||
1128 | [ | ||
1129 | text "null" | ||
1130 | outline "#000000" | ||
1131 | fill "#FFFFFF" | ||
1132 | fontSize 16 | ||
1133 | fontName "Monospace" | ||
1134 | autoSizePolicy "node_width" | ||
1135 | anchor "t" | ||
1136 | borderDistance 0.0 | ||
1137 | ] | ||
1138 | LabelGraphics | ||
1139 | [ | ||
1140 | text " | ||
1141 | Payload class | ||
1142 | InterferometryPayload class | ||
1143 | " | ||
1144 | fontSize 14 | ||
1145 | fontName "Consolas" | ||
1146 | alignment "left" | ||
1147 | anchor "tl" | ||
1148 | borderDistance 6 | ||
1149 | ] | ||
1150 | ] | ||
1151 | |||
1152 | node | ||
1153 | [ | ||
1154 | id 30 | ||
1155 | graphics | ||
1156 | [ | ||
1157 | w 323.40000000000003 | ||
1158 | h 96 | ||
1159 | type "rectangle" | ||
1160 | fill "#FFFFFF" | ||
1161 | fill2 "#FFFFFF" | ||
1162 | outline "#000000" | ||
1163 | ] | ||
1164 | LabelGraphics | ||
1165 | [ | ||
1166 | text "null" | ||
1167 | outline "#000000" | ||
1168 | fill "#FFFFFF" | ||
1169 | fontSize 16 | ||
1170 | fontName "Monospace" | ||
1171 | autoSizePolicy "node_width" | ||
1172 | anchor "t" | ||
1173 | borderDistance 0.0 | ||
1174 | ] | ||
1175 | LabelGraphics | ||
1176 | [ | ||
1177 | text " | ||
1178 | CommunicatingElement class | ||
1179 | Spacecraft class | ||
1180 | CubeSat6U class | ||
1181 | CubeSat class | ||
1182 | CommunicatingElement class UndefinedPart | ||
1183 | " | ||
1184 | fontSize 14 | ||
1185 | fontName "Consolas" | ||
1186 | alignment "left" | ||
1187 | anchor "tl" | ||
1188 | borderDistance 6 | ||
1189 | ] | ||
1190 | ] | ||
1191 | |||
1192 | node | ||
1193 | [ | ||
1194 | id 31 | ||
1195 | graphics | ||
1196 | [ | ||
1197 | w 269.5 | ||
1198 | h 68 | ||
1199 | type "rectangle" | ||
1200 | fill "#FFFFFF" | ||
1201 | fill2 "#FFFFFF" | ||
1202 | outline "#000000" | ||
1203 | ] | ||
1204 | LabelGraphics | ||
1205 | [ | ||
1206 | text "null" | ||
1207 | outline "#000000" | ||
1208 | fill "#FFFFFF" | ||
1209 | fontSize 16 | ||
1210 | fontName "Monospace" | ||
1211 | autoSizePolicy "node_width" | ||
1212 | anchor "t" | ||
1213 | borderDistance 0.0 | ||
1214 | ] | ||
1215 | LabelGraphics | ||
1216 | [ | ||
1217 | text " | ||
1218 | CommSubsystem class | ||
1219 | UHFCommSubsystem class | ||
1220 | CommSubsystem class UndefinedPart | ||
1221 | " | ||
1222 | fontSize 14 | ||
1223 | fontName "Consolas" | ||
1224 | alignment "left" | ||
1225 | anchor "tl" | ||
1226 | borderDistance 6 | ||
1227 | ] | ||
1228 | ] | ||
1229 | |||
1230 | node | ||
1231 | [ | ||
1232 | id 32 | ||
1233 | graphics | ||
1234 | [ | ||
1235 | w 277.20000000000005 | ||
1236 | h 82 | ||
1237 | type "rectangle" | ||
1238 | fill "#FFFFFF" | ||
1239 | fill2 "#FFFFFF" | ||
1240 | outline "#000000" | ||
1241 | ] | ||
1242 | LabelGraphics | ||
1243 | [ | ||
1244 | text "null" | ||
1245 | outline "#000000" | ||
1246 | fill "#FFFFFF" | ||
1247 | fontSize 16 | ||
1248 | fontName "Monospace" | ||
1249 | autoSizePolicy "node_width" | ||
1250 | anchor "t" | ||
1251 | borderDistance 0.0 | ||
1252 | ] | ||
1253 | LabelGraphics | ||
1254 | [ | ||
1255 | text " | ||
1256 | CommSubsystem class | ||
1257 | XCommSubsystem class | ||
1258 | CommSubsystem class UndefinedPart | ||
1259 | XCommSubsystem class UndefinedPart | ||
1260 | " | ||
1261 | fontSize 14 | ||
1262 | fontName "Consolas" | ||
1263 | alignment "left" | ||
1264 | anchor "tl" | ||
1265 | borderDistance 6 | ||
1266 | ] | ||
1267 | ] | ||
1268 | |||
1269 | node | ||
1270 | [ | ||
1271 | id 33 | ||
1272 | graphics | ||
1273 | [ | ||
1274 | w 223.3 | ||
1275 | h 54 | ||
1276 | type "rectangle" | ||
1277 | fill "#FFFFFF" | ||
1278 | fill2 "#FFFFFF" | ||
1279 | outline "#000000" | ||
1280 | ] | ||
1281 | LabelGraphics | ||
1282 | [ | ||
1283 | text "null" | ||
1284 | outline "#000000" | ||
1285 | fill "#FFFFFF" | ||
1286 | fontSize 16 | ||
1287 | fontName "Monospace" | ||
1288 | autoSizePolicy "node_width" | ||
1289 | anchor "t" | ||
1290 | borderDistance 0.0 | ||
1291 | ] | ||
1292 | LabelGraphics | ||
1293 | [ | ||
1294 | text " | ||
1295 | Payload class | ||
1296 | InterferometryPayload class | ||
1297 | " | ||
1298 | fontSize 14 | ||
1299 | fontName "Consolas" | ||
1300 | alignment "left" | ||
1301 | anchor "tl" | ||
1302 | borderDistance 6 | ||
1303 | ] | ||
1304 | ] | ||
1305 | |||
1306 | node | ||
1307 | [ | ||
1308 | id 34 | ||
1309 | graphics | ||
1310 | [ | ||
1311 | w 323.40000000000003 | ||
1312 | h 82 | ||
1313 | type "rectangle" | ||
1314 | fill "#FFFFFF" | ||
1315 | fill2 "#FFFFFF" | ||
1316 | outline "#000000" | ||
1317 | ] | ||
1318 | LabelGraphics | ||
1319 | [ | ||
1320 | text "null" | ||
1321 | outline "#000000" | ||
1322 | fill "#FFFFFF" | ||
1323 | fontSize 16 | ||
1324 | fontName "Monospace" | ||
1325 | autoSizePolicy "node_width" | ||
1326 | anchor "t" | ||
1327 | borderDistance 0.0 | ||
1328 | ] | ||
1329 | LabelGraphics | ||
1330 | [ | ||
1331 | text " | ||
1332 | CommunicatingElement class | ||
1333 | Spacecraft class | ||
1334 | SmallSat class | ||
1335 | CommunicatingElement class UndefinedPart | ||
1336 | " | ||
1337 | fontSize 14 | ||
1338 | fontName "Consolas" | ||
1339 | alignment "left" | ||
1340 | anchor "tl" | ||
1341 | borderDistance 6 | ||
1342 | ] | ||
1343 | ] | ||
1344 | |||
1345 | node | ||
1346 | [ | ||
1347 | id 35 | ||
1348 | graphics | ||
1349 | [ | ||
1350 | w 277.20000000000005 | ||
1351 | h 82 | ||
1352 | type "rectangle" | ||
1353 | fill "#FFFFFF" | ||
1354 | fill2 "#FFFFFF" | ||
1355 | outline "#000000" | ||
1356 | ] | ||
1357 | LabelGraphics | ||
1358 | [ | ||
1359 | text "null" | ||
1360 | outline "#000000" | ||
1361 | fill "#FFFFFF" | ||
1362 | fontSize 16 | ||
1363 | fontName "Monospace" | ||
1364 | autoSizePolicy "node_width" | ||
1365 | anchor "t" | ||
1366 | borderDistance 0.0 | ||
1367 | ] | ||
1368 | LabelGraphics | ||
1369 | [ | ||
1370 | text " | ||
1371 | CommSubsystem class | ||
1372 | XCommSubsystem class | ||
1373 | CommSubsystem class UndefinedPart | ||
1374 | XCommSubsystem class UndefinedPart | ||
1375 | " | ||
1376 | fontSize 14 | ||
1377 | fontName "Consolas" | ||
1378 | alignment "left" | ||
1379 | anchor "tl" | ||
1380 | borderDistance 6 | ||
1381 | ] | ||
1382 | ] | ||
1383 | |||
1384 | node | ||
1385 | [ | ||
1386 | id 36 | ||
1387 | graphics | ||
1388 | [ | ||
1389 | w 223.3 | ||
1390 | h 54 | ||
1391 | type "rectangle" | ||
1392 | fill "#FFFFFF" | ||
1393 | fill2 "#FFFFFF" | ||
1394 | outline "#000000" | ||
1395 | ] | ||
1396 | LabelGraphics | ||
1397 | [ | ||
1398 | text "null" | ||
1399 | outline "#000000" | ||
1400 | fill "#FFFFFF" | ||
1401 | fontSize 16 | ||
1402 | fontName "Monospace" | ||
1403 | autoSizePolicy "node_width" | ||
1404 | anchor "t" | ||
1405 | borderDistance 0.0 | ||
1406 | ] | ||
1407 | LabelGraphics | ||
1408 | [ | ||
1409 | text " | ||
1410 | Payload class | ||
1411 | InterferometryPayload class | ||
1412 | " | ||
1413 | fontSize 14 | ||
1414 | fontName "Consolas" | ||
1415 | alignment "left" | ||
1416 | anchor "tl" | ||
1417 | borderDistance 6 | ||
1418 | ] | ||
1419 | ] | ||
1420 | |||
1421 | node | ||
1422 | [ | ||
1423 | id 37 | ||
1424 | graphics | ||
1425 | [ | ||
1426 | w 284.90000000000003 | ||
1427 | h 82 | ||
1428 | type "rectangle" | ||
1429 | fill "#FFFFFF" | ||
1430 | fill2 "#FFFFFF" | ||
1431 | outline "#000000" | ||
1432 | ] | ||
1433 | LabelGraphics | ||
1434 | [ | ||
1435 | text "null" | ||
1436 | outline "#000000" | ||
1437 | fill "#FFFFFF" | ||
1438 | fontSize 16 | ||
1439 | fontName "Monospace" | ||
1440 | autoSizePolicy "node_width" | ||
1441 | anchor "t" | ||
1442 | borderDistance 0.0 | ||
1443 | ] | ||
1444 | LabelGraphics | ||
1445 | [ | ||
1446 | text " | ||
1447 | CommSubsystem class | ||
1448 | KaCommSubsystem class | ||
1449 | CommSubsystem class UndefinedPart | ||
1450 | KaCommSubsystem class UndefinedPart | ||
1451 | " | ||
1452 | fontSize 14 | ||
1453 | fontName "Consolas" | ||
1454 | alignment "left" | ||
1455 | anchor "tl" | ||
1456 | borderDistance 6 | ||
1457 | ] | ||
1458 | ] | ||
1459 | |||
1460 | node | ||
1461 | [ | ||
1462 | id 38 | ||
1463 | graphics | ||
1464 | [ | ||
1465 | w 112.2 | ||
1466 | h 26 | ||
1467 | type "rectangle" | ||
1468 | fill "#FFFFFF" | ||
1469 | fill2 "#FFFFFF" | ||
1470 | outline "#000000" | ||
1471 | ] | ||
1472 | LabelGraphics | ||
1473 | [ | ||
1474 | text "New Integers" | ||
1475 | outline "#000000" | ||
1476 | fill "#FFFFFF" | ||
1477 | fontSize 16 | ||
1478 | fontName "Monospace" | ||
1479 | autoSizePolicy "node_width" | ||
1480 | anchor "t" | ||
1481 | borderDistance 0.0 | ||
1482 | ] | ||
1483 | LabelGraphics | ||
1484 | [ | ||
1485 | text " | ||
1486 | " | ||
1487 | fontSize 14 | ||
1488 | fontName "Consolas" | ||
1489 | alignment "left" | ||
1490 | anchor "tl" | ||
1491 | borderDistance 6 | ||
1492 | ] | ||
1493 | ] | ||
1494 | |||
1495 | node | ||
1496 | [ | ||
1497 | id 39 | ||
1498 | graphics | ||
1499 | [ | ||
1500 | w 85.80000000000001 | ||
1501 | h 26 | ||
1502 | type "rectangle" | ||
1503 | fill "#FFFFFF" | ||
1504 | fill2 "#FFFFFF" | ||
1505 | outline "#000000" | ||
1506 | ] | ||
1507 | LabelGraphics | ||
1508 | [ | ||
1509 | text "New Reals" | ||
1510 | outline "#000000" | ||
1511 | fill "#FFFFFF" | ||
1512 | fontSize 16 | ||
1513 | fontName "Monospace" | ||
1514 | autoSizePolicy "node_width" | ||
1515 | anchor "t" | ||
1516 | borderDistance 0.0 | ||
1517 | ] | ||
1518 | LabelGraphics | ||
1519 | [ | ||
1520 | text " | ||
1521 | " | ||
1522 | fontSize 14 | ||
1523 | fontName "Consolas" | ||
1524 | alignment "left" | ||
1525 | anchor "tl" | ||
1526 | borderDistance 6 | ||
1527 | ] | ||
1528 | ] | ||
1529 | |||
1530 | node | ||
1531 | [ | ||
1532 | id 40 | ||
1533 | graphics | ||
1534 | [ | ||
1535 | w 103.4 | ||
1536 | h 26 | ||
1537 | type "rectangle" | ||
1538 | fill "#FFFFFF" | ||
1539 | fill2 "#FFFFFF" | ||
1540 | outline "#000000" | ||
1541 | ] | ||
1542 | LabelGraphics | ||
1543 | [ | ||
1544 | text "New Strings" | ||
1545 | outline "#000000" | ||
1546 | fill "#FFFFFF" | ||
1547 | fontSize 16 | ||
1548 | fontName "Monospace" | ||
1549 | autoSizePolicy "node_width" | ||
1550 | anchor "t" | ||
1551 | borderDistance 0.0 | ||
1552 | ] | ||
1553 | LabelGraphics | ||
1554 | [ | ||
1555 | text " | ||
1556 | " | ||
1557 | fontSize 14 | ||
1558 | fontName "Consolas" | ||
1559 | alignment "left" | ||
1560 | anchor "tl" | ||
1561 | borderDistance 6 | ||
1562 | ] | ||
1563 | ] | ||
1564 | |||
1565 | node | ||
1566 | [ | ||
1567 | id 41 | ||
1568 | graphics | ||
1569 | [ | ||
1570 | w 103.4 | ||
1571 | h 26 | ||
1572 | type "rectangle" | ||
1573 | fill "#FFFFFF" | ||
1574 | fill2 "#FFFFFF" | ||
1575 | outline "#000000" | ||
1576 | ] | ||
1577 | LabelGraphics | ||
1578 | [ | ||
1579 | text "New Objects" | ||
1580 | outline "#000000" | ||
1581 | fill "#FFFFFF" | ||
1582 | fontSize 16 | ||
1583 | fontName "Monospace" | ||
1584 | autoSizePolicy "node_width" | ||
1585 | anchor "t" | ||
1586 | borderDistance 0.0 | ||
1587 | ] | ||
1588 | LabelGraphics | ||
1589 | [ | ||
1590 | text " | ||
1591 | " | ||
1592 | fontSize 14 | ||
1593 | fontName "Consolas" | ||
1594 | alignment "left" | ||
1595 | anchor "tl" | ||
1596 | borderDistance 6 | ||
1597 | ] | ||
1598 | ] | ||
1599 | edge | ||
1600 | [ | ||
1601 | source 0 | ||
1602 | target 1 | ||
1603 | graphics | ||
1604 | [ | ||
1605 | fill "#000000" | ||
1606 | width 3 | ||
1607 | targetArrow "standard" | ||
1608 | ] | ||
1609 | LabelGraphics | ||
1610 | [ | ||
1611 | text "groundStationNetwork reference ConstellationMission" | ||
1612 | fontSize 14 | ||
1613 | fontName "Consolas" | ||
1614 | configuration "AutoFlippingLabel" | ||
1615 | model "six_pos" | ||
1616 | position "thead" | ||
1617 | ] | ||
1618 | ] | ||
1619 | edge | ||
1620 | [ | ||
1621 | source 0 | ||
1622 | target 6 | ||
1623 | graphics | ||
1624 | [ | ||
1625 | fill "#000000" | ||
1626 | width 3 | ||
1627 | targetArrow "standard" | ||
1628 | ] | ||
1629 | LabelGraphics | ||
1630 | [ | ||
1631 | text "spacecraft reference ConstellationMission" | ||
1632 | fontSize 14 | ||
1633 | fontName "Consolas" | ||
1634 | configuration "AutoFlippingLabel" | ||
1635 | model "six_pos" | ||
1636 | position "thead" | ||
1637 | ] | ||
1638 | ] | ||
1639 | edge | ||
1640 | [ | ||
1641 | source 0 | ||
1642 | target 10 | ||
1643 | graphics | ||
1644 | [ | ||
1645 | fill "#000000" | ||
1646 | width 3 | ||
1647 | targetArrow "standard" | ||
1648 | ] | ||
1649 | LabelGraphics | ||
1650 | [ | ||
1651 | text "spacecraft reference ConstellationMission" | ||
1652 | fontSize 14 | ||
1653 | fontName "Consolas" | ||
1654 | configuration "AutoFlippingLabel" | ||
1655 | model "six_pos" | ||
1656 | position "thead" | ||
1657 | ] | ||
1658 | ] | ||
1659 | edge | ||
1660 | [ | ||
1661 | source 0 | ||
1662 | target 14 | ||
1663 | graphics | ||
1664 | [ | ||
1665 | fill "#000000" | ||
1666 | width 3 | ||
1667 | targetArrow "standard" | ||
1668 | ] | ||
1669 | LabelGraphics | ||
1670 | [ | ||
1671 | text "spacecraft reference ConstellationMission" | ||
1672 | fontSize 14 | ||
1673 | fontName "Consolas" | ||
1674 | configuration "AutoFlippingLabel" | ||
1675 | model "six_pos" | ||
1676 | position "thead" | ||
1677 | ] | ||
1678 | ] | ||
1679 | edge | ||
1680 | [ | ||
1681 | source 0 | ||
1682 | target 18 | ||
1683 | graphics | ||
1684 | [ | ||
1685 | fill "#000000" | ||
1686 | width 3 | ||
1687 | targetArrow "standard" | ||
1688 | ] | ||
1689 | LabelGraphics | ||
1690 | [ | ||
1691 | text "spacecraft reference ConstellationMission" | ||
1692 | fontSize 14 | ||
1693 | fontName "Consolas" | ||
1694 | configuration "AutoFlippingLabel" | ||
1695 | model "six_pos" | ||
1696 | position "thead" | ||
1697 | ] | ||
1698 | ] | ||
1699 | edge | ||
1700 | [ | ||
1701 | source 0 | ||
1702 | target 22 | ||
1703 | graphics | ||
1704 | [ | ||
1705 | fill "#000000" | ||
1706 | width 3 | ||
1707 | targetArrow "standard" | ||
1708 | ] | ||
1709 | LabelGraphics | ||
1710 | [ | ||
1711 | text "spacecraft reference ConstellationMission" | ||
1712 | fontSize 14 | ||
1713 | fontName "Consolas" | ||
1714 | configuration "AutoFlippingLabel" | ||
1715 | model "six_pos" | ||
1716 | position "thead" | ||
1717 | ] | ||
1718 | ] | ||
1719 | edge | ||
1720 | [ | ||
1721 | source 0 | ||
1722 | target 26 | ||
1723 | graphics | ||
1724 | [ | ||
1725 | fill "#000000" | ||
1726 | width 3 | ||
1727 | targetArrow "standard" | ||
1728 | ] | ||
1729 | LabelGraphics | ||
1730 | [ | ||
1731 | text "spacecraft reference ConstellationMission" | ||
1732 | fontSize 14 | ||
1733 | fontName "Consolas" | ||
1734 | configuration "AutoFlippingLabel" | ||
1735 | model "six_pos" | ||
1736 | position "thead" | ||
1737 | ] | ||
1738 | ] | ||
1739 | edge | ||
1740 | [ | ||
1741 | source 0 | ||
1742 | target 30 | ||
1743 | graphics | ||
1744 | [ | ||
1745 | fill "#000000" | ||
1746 | width 3 | ||
1747 | targetArrow "standard" | ||
1748 | ] | ||
1749 | LabelGraphics | ||
1750 | [ | ||
1751 | text "spacecraft reference ConstellationMission" | ||
1752 | fontSize 14 | ||
1753 | fontName "Consolas" | ||
1754 | configuration "AutoFlippingLabel" | ||
1755 | model "six_pos" | ||
1756 | position "thead" | ||
1757 | ] | ||
1758 | ] | ||
1759 | edge | ||
1760 | [ | ||
1761 | source 0 | ||
1762 | target 34 | ||
1763 | graphics | ||
1764 | [ | ||
1765 | fill "#000000" | ||
1766 | width 3 | ||
1767 | targetArrow "standard" | ||
1768 | ] | ||
1769 | LabelGraphics | ||
1770 | [ | ||
1771 | text "spacecraft reference ConstellationMission" | ||
1772 | fontSize 14 | ||
1773 | fontName "Consolas" | ||
1774 | configuration "AutoFlippingLabel" | ||
1775 | model "six_pos" | ||
1776 | position "thead" | ||
1777 | ] | ||
1778 | ] | ||
1779 | edge | ||
1780 | [ | ||
1781 | source 1 | ||
1782 | target 2 | ||
1783 | graphics | ||
1784 | [ | ||
1785 | fill "#000000" | ||
1786 | width 3 | ||
1787 | targetArrow "standard" | ||
1788 | ] | ||
1789 | LabelGraphics | ||
1790 | [ | ||
1791 | text "commSubsystem reference CommunicatingElement" | ||
1792 | fontSize 14 | ||
1793 | fontName "Consolas" | ||
1794 | configuration "AutoFlippingLabel" | ||
1795 | model "six_pos" | ||
1796 | position "thead" | ||
1797 | ] | ||
1798 | ] | ||
1799 | edge | ||
1800 | [ | ||
1801 | source 1 | ||
1802 | target 3 | ||
1803 | graphics | ||
1804 | [ | ||
1805 | fill "#000000" | ||
1806 | width 3 | ||
1807 | targetArrow "standard" | ||
1808 | ] | ||
1809 | LabelGraphics | ||
1810 | [ | ||
1811 | text "commSubsystem reference CommunicatingElement" | ||
1812 | fontSize 14 | ||
1813 | fontName "Consolas" | ||
1814 | configuration "AutoFlippingLabel" | ||
1815 | model "six_pos" | ||
1816 | position "thead" | ||
1817 | ] | ||
1818 | ] | ||
1819 | edge | ||
1820 | [ | ||
1821 | source 6 | ||
1822 | target 7 | ||
1823 | graphics | ||
1824 | [ | ||
1825 | fill "#000000" | ||
1826 | width 3 | ||
1827 | targetArrow "standard" | ||
1828 | ] | ||
1829 | LabelGraphics | ||
1830 | [ | ||
1831 | text "commSubsystem reference CommunicatingElement" | ||
1832 | fontSize 14 | ||
1833 | fontName "Consolas" | ||
1834 | configuration "AutoFlippingLabel" | ||
1835 | model "six_pos" | ||
1836 | position "thead" | ||
1837 | ] | ||
1838 | ] | ||
1839 | edge | ||
1840 | [ | ||
1841 | source 6 | ||
1842 | target 9 | ||
1843 | graphics | ||
1844 | [ | ||
1845 | fill "#000000" | ||
1846 | width 3 | ||
1847 | targetArrow "standard" | ||
1848 | ] | ||
1849 | LabelGraphics | ||
1850 | [ | ||
1851 | text "commSubsystem reference CommunicatingElement" | ||
1852 | fontSize 14 | ||
1853 | fontName "Consolas" | ||
1854 | configuration "AutoFlippingLabel" | ||
1855 | model "six_pos" | ||
1856 | position "thead" | ||
1857 | ] | ||
1858 | ] | ||
1859 | edge | ||
1860 | [ | ||
1861 | source 10 | ||
1862 | target 11 | ||
1863 | graphics | ||
1864 | [ | ||
1865 | fill "#000000" | ||
1866 | width 3 | ||
1867 | targetArrow "standard" | ||
1868 | ] | ||
1869 | LabelGraphics | ||
1870 | [ | ||
1871 | text "commSubsystem reference CommunicatingElement" | ||
1872 | fontSize 14 | ||
1873 | fontName "Consolas" | ||
1874 | configuration "AutoFlippingLabel" | ||
1875 | model "six_pos" | ||
1876 | position "thead" | ||
1877 | ] | ||
1878 | ] | ||
1879 | edge | ||
1880 | [ | ||
1881 | source 10 | ||
1882 | target 12 | ||
1883 | graphics | ||
1884 | [ | ||
1885 | fill "#000000" | ||
1886 | width 3 | ||
1887 | targetArrow "standard" | ||
1888 | ] | ||
1889 | LabelGraphics | ||
1890 | [ | ||
1891 | text "commSubsystem reference CommunicatingElement" | ||
1892 | fontSize 14 | ||
1893 | fontName "Consolas" | ||
1894 | configuration "AutoFlippingLabel" | ||
1895 | model "six_pos" | ||
1896 | position "thead" | ||
1897 | ] | ||
1898 | ] | ||
1899 | edge | ||
1900 | [ | ||
1901 | source 14 | ||
1902 | target 15 | ||
1903 | graphics | ||
1904 | [ | ||
1905 | fill "#000000" | ||
1906 | width 3 | ||
1907 | targetArrow "standard" | ||
1908 | ] | ||
1909 | LabelGraphics | ||
1910 | [ | ||
1911 | text "commSubsystem reference CommunicatingElement" | ||
1912 | fontSize 14 | ||
1913 | fontName "Consolas" | ||
1914 | configuration "AutoFlippingLabel" | ||
1915 | model "six_pos" | ||
1916 | position "thead" | ||
1917 | ] | ||
1918 | ] | ||
1919 | edge | ||
1920 | [ | ||
1921 | source 14 | ||
1922 | target 16 | ||
1923 | graphics | ||
1924 | [ | ||
1925 | fill "#000000" | ||
1926 | width 3 | ||
1927 | targetArrow "standard" | ||
1928 | ] | ||
1929 | LabelGraphics | ||
1930 | [ | ||
1931 | text "commSubsystem reference CommunicatingElement" | ||
1932 | fontSize 14 | ||
1933 | fontName "Consolas" | ||
1934 | configuration "AutoFlippingLabel" | ||
1935 | model "six_pos" | ||
1936 | position "thead" | ||
1937 | ] | ||
1938 | ] | ||
1939 | edge | ||
1940 | [ | ||
1941 | source 18 | ||
1942 | target 19 | ||
1943 | graphics | ||
1944 | [ | ||
1945 | fill "#000000" | ||
1946 | width 3 | ||
1947 | targetArrow "standard" | ||
1948 | ] | ||
1949 | LabelGraphics | ||
1950 | [ | ||
1951 | text "commSubsystem reference CommunicatingElement" | ||
1952 | fontSize 14 | ||
1953 | fontName "Consolas" | ||
1954 | configuration "AutoFlippingLabel" | ||
1955 | model "six_pos" | ||
1956 | position "thead" | ||
1957 | ] | ||
1958 | ] | ||
1959 | edge | ||
1960 | [ | ||
1961 | source 18 | ||
1962 | target 20 | ||
1963 | graphics | ||
1964 | [ | ||
1965 | fill "#000000" | ||
1966 | width 3 | ||
1967 | targetArrow "standard" | ||
1968 | ] | ||
1969 | LabelGraphics | ||
1970 | [ | ||
1971 | text "commSubsystem reference CommunicatingElement" | ||
1972 | fontSize 14 | ||
1973 | fontName "Consolas" | ||
1974 | configuration "AutoFlippingLabel" | ||
1975 | model "six_pos" | ||
1976 | position "thead" | ||
1977 | ] | ||
1978 | ] | ||
1979 | edge | ||
1980 | [ | ||
1981 | source 22 | ||
1982 | target 23 | ||
1983 | graphics | ||
1984 | [ | ||
1985 | fill "#000000" | ||
1986 | width 3 | ||
1987 | targetArrow "standard" | ||
1988 | ] | ||
1989 | LabelGraphics | ||
1990 | [ | ||
1991 | text "commSubsystem reference CommunicatingElement" | ||
1992 | fontSize 14 | ||
1993 | fontName "Consolas" | ||
1994 | configuration "AutoFlippingLabel" | ||
1995 | model "six_pos" | ||
1996 | position "thead" | ||
1997 | ] | ||
1998 | ] | ||
1999 | edge | ||
2000 | [ | ||
2001 | source 22 | ||
2002 | target 24 | ||
2003 | graphics | ||
2004 | [ | ||
2005 | fill "#000000" | ||
2006 | width 3 | ||
2007 | targetArrow "standard" | ||
2008 | ] | ||
2009 | LabelGraphics | ||
2010 | [ | ||
2011 | text "commSubsystem reference CommunicatingElement" | ||
2012 | fontSize 14 | ||
2013 | fontName "Consolas" | ||
2014 | configuration "AutoFlippingLabel" | ||
2015 | model "six_pos" | ||
2016 | position "thead" | ||
2017 | ] | ||
2018 | ] | ||
2019 | edge | ||
2020 | [ | ||
2021 | source 26 | ||
2022 | target 27 | ||
2023 | graphics | ||
2024 | [ | ||
2025 | fill "#000000" | ||
2026 | width 3 | ||
2027 | targetArrow "standard" | ||
2028 | ] | ||
2029 | LabelGraphics | ||
2030 | [ | ||
2031 | text "commSubsystem reference CommunicatingElement" | ||
2032 | fontSize 14 | ||
2033 | fontName "Consolas" | ||
2034 | configuration "AutoFlippingLabel" | ||
2035 | model "six_pos" | ||
2036 | position "thead" | ||
2037 | ] | ||
2038 | ] | ||
2039 | edge | ||
2040 | [ | ||
2041 | source 26 | ||
2042 | target 28 | ||
2043 | graphics | ||
2044 | [ | ||
2045 | fill "#000000" | ||
2046 | width 3 | ||
2047 | targetArrow "standard" | ||
2048 | ] | ||
2049 | LabelGraphics | ||
2050 | [ | ||
2051 | text "commSubsystem reference CommunicatingElement" | ||
2052 | fontSize 14 | ||
2053 | fontName "Consolas" | ||
2054 | configuration "AutoFlippingLabel" | ||
2055 | model "six_pos" | ||
2056 | position "thead" | ||
2057 | ] | ||
2058 | ] | ||
2059 | edge | ||
2060 | [ | ||
2061 | source 30 | ||
2062 | target 31 | ||
2063 | graphics | ||
2064 | [ | ||
2065 | fill "#000000" | ||
2066 | width 3 | ||
2067 | targetArrow "standard" | ||
2068 | ] | ||
2069 | LabelGraphics | ||
2070 | [ | ||
2071 | text "commSubsystem reference CommunicatingElement" | ||
2072 | fontSize 14 | ||
2073 | fontName "Consolas" | ||
2074 | configuration "AutoFlippingLabel" | ||
2075 | model "six_pos" | ||
2076 | position "thead" | ||
2077 | ] | ||
2078 | ] | ||
2079 | edge | ||
2080 | [ | ||
2081 | source 30 | ||
2082 | target 32 | ||
2083 | graphics | ||
2084 | [ | ||
2085 | fill "#000000" | ||
2086 | width 3 | ||
2087 | targetArrow "standard" | ||
2088 | ] | ||
2089 | LabelGraphics | ||
2090 | [ | ||
2091 | text "commSubsystem reference CommunicatingElement" | ||
2092 | fontSize 14 | ||
2093 | fontName "Consolas" | ||
2094 | configuration "AutoFlippingLabel" | ||
2095 | model "six_pos" | ||
2096 | position "thead" | ||
2097 | ] | ||
2098 | ] | ||
2099 | edge | ||
2100 | [ | ||
2101 | source 34 | ||
2102 | target 35 | ||
2103 | graphics | ||
2104 | [ | ||
2105 | fill "#000000" | ||
2106 | width 3 | ||
2107 | targetArrow "standard" | ||
2108 | ] | ||
2109 | LabelGraphics | ||
2110 | [ | ||
2111 | text "commSubsystem reference CommunicatingElement" | ||
2112 | fontSize 14 | ||
2113 | fontName "Consolas" | ||
2114 | configuration "AutoFlippingLabel" | ||
2115 | model "six_pos" | ||
2116 | position "thead" | ||
2117 | ] | ||
2118 | ] | ||
2119 | edge | ||
2120 | [ | ||
2121 | source 34 | ||
2122 | target 37 | ||
2123 | graphics | ||
2124 | [ | ||
2125 | fill "#000000" | ||
2126 | width 3 | ||
2127 | targetArrow "standard" | ||
2128 | ] | ||
2129 | LabelGraphics | ||
2130 | [ | ||
2131 | text "commSubsystem reference CommunicatingElement" | ||
2132 | fontSize 14 | ||
2133 | fontName "Consolas" | ||
2134 | configuration "AutoFlippingLabel" | ||
2135 | model "six_pos" | ||
2136 | position "thead" | ||
2137 | ] | ||
2138 | ] | ||
2139 | edge | ||
2140 | [ | ||
2141 | source 6 | ||
2142 | target 8 | ||
2143 | graphics | ||
2144 | [ | ||
2145 | fill "#000000" | ||
2146 | width 3 | ||
2147 | targetArrow "standard" | ||
2148 | ] | ||
2149 | LabelGraphics | ||
2150 | [ | ||
2151 | text "payload reference Spacecraft" | ||
2152 | fontSize 14 | ||
2153 | fontName "Consolas" | ||
2154 | configuration "AutoFlippingLabel" | ||
2155 | model "six_pos" | ||
2156 | position "thead" | ||
2157 | ] | ||
2158 | ] | ||
2159 | edge | ||
2160 | [ | ||
2161 | source 10 | ||
2162 | target 13 | ||
2163 | graphics | ||
2164 | [ | ||
2165 | fill "#000000" | ||
2166 | width 3 | ||
2167 | targetArrow "standard" | ||
2168 | ] | ||
2169 | LabelGraphics | ||
2170 | [ | ||
2171 | text "payload reference Spacecraft" | ||
2172 | fontSize 14 | ||
2173 | fontName "Consolas" | ||
2174 | configuration "AutoFlippingLabel" | ||
2175 | model "six_pos" | ||
2176 | position "thead" | ||
2177 | ] | ||
2178 | ] | ||
2179 | edge | ||
2180 | [ | ||
2181 | source 14 | ||
2182 | target 17 | ||
2183 | graphics | ||
2184 | [ | ||
2185 | fill "#000000" | ||
2186 | width 3 | ||
2187 | targetArrow "standard" | ||
2188 | ] | ||
2189 | LabelGraphics | ||
2190 | [ | ||
2191 | text "payload reference Spacecraft" | ||
2192 | fontSize 14 | ||
2193 | fontName "Consolas" | ||
2194 | configuration "AutoFlippingLabel" | ||
2195 | model "six_pos" | ||
2196 | position "thead" | ||
2197 | ] | ||
2198 | ] | ||
2199 | edge | ||
2200 | [ | ||
2201 | source 18 | ||
2202 | target 21 | ||
2203 | graphics | ||
2204 | [ | ||
2205 | fill "#000000" | ||
2206 | width 3 | ||
2207 | targetArrow "standard" | ||
2208 | ] | ||
2209 | LabelGraphics | ||
2210 | [ | ||
2211 | text "payload reference Spacecraft" | ||
2212 | fontSize 14 | ||
2213 | fontName "Consolas" | ||
2214 | configuration "AutoFlippingLabel" | ||
2215 | model "six_pos" | ||
2216 | position "thead" | ||
2217 | ] | ||
2218 | ] | ||
2219 | edge | ||
2220 | [ | ||
2221 | source 22 | ||
2222 | target 25 | ||
2223 | graphics | ||
2224 | [ | ||
2225 | fill "#000000" | ||
2226 | width 3 | ||
2227 | targetArrow "standard" | ||
2228 | ] | ||
2229 | LabelGraphics | ||
2230 | [ | ||
2231 | text "payload reference Spacecraft" | ||
2232 | fontSize 14 | ||
2233 | fontName "Consolas" | ||
2234 | configuration "AutoFlippingLabel" | ||
2235 | model "six_pos" | ||
2236 | position "thead" | ||
2237 | ] | ||
2238 | ] | ||
2239 | edge | ||
2240 | [ | ||
2241 | source 26 | ||
2242 | target 29 | ||
2243 | graphics | ||
2244 | [ | ||
2245 | fill "#000000" | ||
2246 | width 3 | ||
2247 | targetArrow "standard" | ||
2248 | ] | ||
2249 | LabelGraphics | ||
2250 | [ | ||
2251 | text "payload reference Spacecraft" | ||
2252 | fontSize 14 | ||
2253 | fontName "Consolas" | ||
2254 | configuration "AutoFlippingLabel" | ||
2255 | model "six_pos" | ||
2256 | position "thead" | ||
2257 | ] | ||
2258 | ] | ||
2259 | edge | ||
2260 | [ | ||
2261 | source 30 | ||
2262 | target 33 | ||
2263 | graphics | ||
2264 | [ | ||
2265 | fill "#000000" | ||
2266 | width 3 | ||
2267 | targetArrow "standard" | ||
2268 | ] | ||
2269 | LabelGraphics | ||
2270 | [ | ||
2271 | text "payload reference Spacecraft" | ||
2272 | fontSize 14 | ||
2273 | fontName "Consolas" | ||
2274 | configuration "AutoFlippingLabel" | ||
2275 | model "six_pos" | ||
2276 | position "thead" | ||
2277 | ] | ||
2278 | ] | ||
2279 | edge | ||
2280 | [ | ||
2281 | source 34 | ||
2282 | target 36 | ||
2283 | graphics | ||
2284 | [ | ||
2285 | fill "#000000" | ||
2286 | width 3 | ||
2287 | targetArrow "standard" | ||
2288 | ] | ||
2289 | LabelGraphics | ||
2290 | [ | ||
2291 | text "payload reference Spacecraft" | ||
2292 | fontSize 14 | ||
2293 | fontName "Consolas" | ||
2294 | configuration "AutoFlippingLabel" | ||
2295 | model "six_pos" | ||
2296 | position "thead" | ||
2297 | ] | ||
2298 | ] | ||
2299 | edge | ||
2300 | [ | ||
2301 | source 9 | ||
2302 | target 2 | ||
2303 | graphics | ||
2304 | [ | ||
2305 | fill "#000000" | ||
2306 | targetArrow "standard" | ||
2307 | ] | ||
2308 | LabelGraphics | ||
2309 | [ | ||
2310 | text "target reference CommSubsystem" | ||
2311 | fontSize 14 | ||
2312 | fontName "Consolas" | ||
2313 | configuration "AutoFlippingLabel" | ||
2314 | model "six_pos" | ||
2315 | position "thead" | ||
2316 | ] | ||
2317 | ] | ||
2318 | edge | ||
2319 | [ | ||
2320 | source 12 | ||
2321 | target 9 | ||
2322 | graphics | ||
2323 | [ | ||
2324 | fill "#000000" | ||
2325 | targetArrow "standard" | ||
2326 | ] | ||
2327 | LabelGraphics | ||
2328 | [ | ||
2329 | text "target reference CommSubsystem" | ||
2330 | fontSize 14 | ||
2331 | fontName "Consolas" | ||
2332 | configuration "AutoFlippingLabel" | ||
2333 | model "six_pos" | ||
2334 | position "thead" | ||
2335 | ] | ||
2336 | ] | ||
2337 | edge | ||
2338 | [ | ||
2339 | source 15 | ||
2340 | target 7 | ||
2341 | graphics | ||
2342 | [ | ||
2343 | fill "#000000" | ||
2344 | targetArrow "standard" | ||
2345 | ] | ||
2346 | LabelGraphics | ||
2347 | [ | ||
2348 | text "target reference CommSubsystem" | ||
2349 | fontSize 14 | ||
2350 | fontName "Consolas" | ||
2351 | configuration "AutoFlippingLabel" | ||
2352 | model "six_pos" | ||
2353 | position "thead" | ||
2354 | ] | ||
2355 | ] | ||
2356 | edge | ||
2357 | [ | ||
2358 | source 19 | ||
2359 | target 12 | ||
2360 | graphics | ||
2361 | [ | ||
2362 | fill "#000000" | ||
2363 | targetArrow "standard" | ||
2364 | ] | ||
2365 | LabelGraphics | ||
2366 | [ | ||
2367 | text "target reference CommSubsystem" | ||
2368 | fontSize 14 | ||
2369 | fontName "Consolas" | ||
2370 | configuration "AutoFlippingLabel" | ||
2371 | model "six_pos" | ||
2372 | position "thead" | ||
2373 | ] | ||
2374 | ] | ||
2375 | edge | ||
2376 | [ | ||
2377 | source 23 | ||
2378 | target 9 | ||
2379 | graphics | ||
2380 | [ | ||
2381 | fill "#000000" | ||
2382 | targetArrow "standard" | ||
2383 | ] | ||
2384 | LabelGraphics | ||
2385 | [ | ||
2386 | text "target reference CommSubsystem" | ||
2387 | fontSize 14 | ||
2388 | fontName "Consolas" | ||
2389 | configuration "AutoFlippingLabel" | ||
2390 | model "six_pos" | ||
2391 | position "thead" | ||
2392 | ] | ||
2393 | ] | ||
2394 | edge | ||
2395 | [ | ||
2396 | source 27 | ||
2397 | target 2 | ||
2398 | graphics | ||
2399 | [ | ||
2400 | fill "#000000" | ||
2401 | targetArrow "standard" | ||
2402 | ] | ||
2403 | LabelGraphics | ||
2404 | [ | ||
2405 | text "target reference CommSubsystem" | ||
2406 | fontSize 14 | ||
2407 | fontName "Consolas" | ||
2408 | configuration "AutoFlippingLabel" | ||
2409 | model "six_pos" | ||
2410 | position "thead" | ||
2411 | ] | ||
2412 | ] | ||
2413 | edge | ||
2414 | [ | ||
2415 | source 32 | ||
2416 | target 9 | ||
2417 | graphics | ||
2418 | [ | ||
2419 | fill "#000000" | ||
2420 | targetArrow "standard" | ||
2421 | ] | ||
2422 | LabelGraphics | ||
2423 | [ | ||
2424 | text "target reference CommSubsystem" | ||
2425 | fontSize 14 | ||
2426 | fontName "Consolas" | ||
2427 | configuration "AutoFlippingLabel" | ||
2428 | model "six_pos" | ||
2429 | position "thead" | ||
2430 | ] | ||
2431 | ] | ||
2432 | edge | ||
2433 | [ | ||
2434 | source 35 | ||
2435 | target 9 | ||
2436 | graphics | ||
2437 | [ | ||
2438 | fill "#000000" | ||
2439 | targetArrow "standard" | ||
2440 | ] | ||
2441 | LabelGraphics | ||
2442 | [ | ||
2443 | text "target reference CommSubsystem" | ||
2444 | fontSize 14 | ||
2445 | fontName "Consolas" | ||
2446 | configuration "AutoFlippingLabel" | ||
2447 | model "six_pos" | ||
2448 | position "thead" | ||
2449 | ] | ||
2450 | ] | ||
2451 | ] | ||
2452 | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.png deleted file mode 100644 index f39da70e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi deleted file mode 100644 index 5f0af641..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="ASCII"?> | ||
2 | <satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore"> | ||
3 | <groundStationNetwork> | ||
4 | <commSubsystem xsi:type="satellite:KaCommSubsystem"/> | ||
5 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
6 | </groundStationNetwork> | ||
7 | <spacecraft xsi:type="satellite:SmallSat"> | ||
8 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/> | ||
9 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
10 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
11 | </spacecraft> | ||
12 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
13 | <commSubsystem xsi:type="satellite:XCommSubsystem"/> | ||
14 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
15 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
16 | </spacecraft> | ||
17 | <spacecraft xsi:type="satellite:SmallSat"> | ||
18 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/> | ||
19 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
20 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
21 | </spacecraft> | ||
22 | <spacecraft xsi:type="satellite:CubeSat6U"> | ||
23 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/> | ||
24 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
25 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
26 | </spacecraft> | ||
27 | <spacecraft xsi:type="satellite:CubeSat6U"> | ||
28 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/> | ||
29 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
30 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
31 | </spacecraft> | ||
32 | <spacecraft xsi:type="satellite:SmallSat"> | ||
33 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/> | ||
34 | <commSubsystem xsi:type="satellite:KaCommSubsystem"/> | ||
35 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
36 | </spacecraft> | ||
37 | <spacecraft xsi:type="satellite:SmallSat"> | ||
38 | <commSubsystem xsi:type="satellite:KaCommSubsystem"/> | ||
39 | <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.0/@commSubsystem.0"/> | ||
40 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
41 | </spacecraft> | ||
42 | <spacecraft xsi:type="satellite:CubeSat3U"> | ||
43 | <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.3/@commSubsystem.1"/> | ||
44 | <commSubsystem xsi:type="satellite:UHFCommSubsystem"/> | ||
45 | <payload xsi:type="satellite:InterferometryPayload"/> | ||
46 | </spacecraft> | ||
47 | </satellite:InterferometryMission> | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml index 8c9f4be1..a07867dc 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml | |||
@@ -7,6 +7,7 @@ | |||
7 | <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification"> | 7 | <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification"> |
8 | <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries"> | 8 | <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries"> |
9 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> | 9 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> |
10 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingGroundStationNetwork"/> | ||
10 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> | 11 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> |
11 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> | 12 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> |
12 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> | 13 | <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.CommunicationLinkOfElement.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.CommunicationLinkOfElement.java._trace deleted file mode 100644 index 8fb61263..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.CommunicationLinkOfElement.java._trace +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.MultipleCommunicationLinks.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.MultipleCommunicationLinks.java._trace deleted file mode 100644 index 64b692d3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.MultipleCommunicationLinks.java._trace +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore deleted file mode 100644 index f6cfd36a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /.SatelliteQueries.java._trace | ||
2 | /.NoLinkToGroundStation.java._trace | ||
3 | /.CommunicationLoop.java._trace | ||
4 | /.SingleInterferometryPayload.java._trace | ||
5 | /.NoInterferometryPayload.java._trace | ||
6 | /.NotENoughInterferometryPayloads.java._trace | ||
7 | /.NotEnoughInterferometryPayloads.java._trace | ||
8 | /.UhfAntennaGainNotLow.java._trace | ||
9 | /.XAntennaGainNotMedium.java._trace | ||
10 | /.KaAntennaGainLow.java._trace | ||
11 | /.IncompatibleSourceAndTarget.java._trace | ||
12 | /.IncompatibleSourceAndTargetBand.java._trace | ||
13 | /.IncompatibleSourceAndTargetGain.java._trace | ||
14 | /.CubeSatWithKaAntenna.java._trace | ||
15 | /.ThreeUCubeSatWithNonUhfCrossLink.java._trace | ||
16 | /.CommunicationLinkDoesNotStartAtContainingElement.java._trace | ||
17 | /.SpacecraftWithInterferometryPayload.java._trace | ||
18 | /.SatelliteMetrics.java._trace | ||
19 | /.CoverageMetric.java._trace | ||
20 | /.TimeMetric.java._trace | ||
21 | /.CostMetric.java._trace | ||
22 | /.SpacecraftCost.java._trace | ||
23 | /.SpacecraftOfKind.java._trace | ||
24 | /.NoPotentialLinkToGroundStation.java._trace | ||
25 | /.SmallSat.java._trace | ||
26 | /CommunicationLinkDoesNotStartAtContainingElement.java | ||
27 | /CommunicationLoop.java | ||
28 | /CostMetric.java | ||
29 | /CoverageMetric.java | ||
30 | /CubeSatWithKaAntenna.java | ||
31 | /IncompatibleSourceAndTargetBand.java | ||
32 | /IncompatibleSourceAndTargetGain.java | ||
33 | /KaAntennaGainLow.java | ||
34 | /NoLinkToGroundStation.java | ||
35 | /NoPotentialLinkToGroundStation.java | ||
36 | /NotEnoughInterferometryPayloads.java | ||
37 | /SatelliteQueries.java | ||
38 | /SmallSat.java | ||
39 | /SpacecraftOfKind.java | ||
40 | /ThreeUCubeSatWithNonUhfCrossLink.java | ||
41 | /TimeMetric.java | ||
42 | /UhfAntennaGainNotLow.java | ||
43 | /XAntennaGainNotMedium.java | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java deleted file mode 100644 index a23cb415..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java +++ /dev/null | |||
@@ -1,562 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.Collection; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Optional; | ||
13 | import java.util.Set; | ||
14 | import java.util.function.Consumer; | ||
15 | import java.util.stream.Collectors; | ||
16 | import java.util.stream.Stream; | ||
17 | import org.apache.log4j.Logger; | ||
18 | import org.eclipse.emf.ecore.EClass; | ||
19 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
21 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
26 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
27 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
40 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
41 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
42 | import satellite.CommunicatingElement; | ||
43 | |||
44 | /** | ||
45 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
46 | * | ||
47 | * <p>Original source: | ||
48 | * <code><pre> | ||
49 | * {@literal @}Constraint(severity = "error", key = {Element}, | ||
50 | * message = "A communicating element may not have two transmitting communication subsystems..") | ||
51 | * pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) { | ||
52 | * find transmittingCommSubsystem(Element, Comm1); | ||
53 | * find transmittingCommSubsystem(Element, Comm2); | ||
54 | * Comm1 != Comm2; | ||
55 | * } | ||
56 | * </pre></code> | ||
57 | * | ||
58 | * @see Matcher | ||
59 | * @see Match | ||
60 | * | ||
61 | */ | ||
62 | @SuppressWarnings("all") | ||
63 | public final class CommunicationLinkDoesNotStartAtContainingElement extends BaseGeneratedEMFQuerySpecification<CommunicationLinkDoesNotStartAtContainingElement.Matcher> { | ||
64 | /** | ||
65 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern, | ||
66 | * to be used in conjunction with {@link Matcher}. | ||
67 | * | ||
68 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
69 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
70 | * usable to represent a match of the pattern in the result of a query, | ||
71 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
72 | * | ||
73 | * @see Matcher | ||
74 | * | ||
75 | */ | ||
76 | public static abstract class Match extends BasePatternMatch { | ||
77 | private CommunicatingElement fElement; | ||
78 | |||
79 | private static List<String> parameterNames = makeImmutableList("Element"); | ||
80 | |||
81 | private Match(final CommunicatingElement pElement) { | ||
82 | this.fElement = pElement; | ||
83 | } | ||
84 | |||
85 | @Override | ||
86 | public Object get(final String parameterName) { | ||
87 | if ("Element".equals(parameterName)) return this.fElement; | ||
88 | return null; | ||
89 | } | ||
90 | |||
91 | public CommunicatingElement getElement() { | ||
92 | return this.fElement; | ||
93 | } | ||
94 | |||
95 | @Override | ||
96 | public boolean set(final String parameterName, final Object newValue) { | ||
97 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
98 | if ("Element".equals(parameterName) ) { | ||
99 | this.fElement = (CommunicatingElement) newValue; | ||
100 | return true; | ||
101 | } | ||
102 | return false; | ||
103 | } | ||
104 | |||
105 | public void setElement(final CommunicatingElement pElement) { | ||
106 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
107 | this.fElement = pElement; | ||
108 | } | ||
109 | |||
110 | @Override | ||
111 | public String patternName() { | ||
112 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"; | ||
113 | } | ||
114 | |||
115 | @Override | ||
116 | public List<String> parameterNames() { | ||
117 | return CommunicationLinkDoesNotStartAtContainingElement.Match.parameterNames; | ||
118 | } | ||
119 | |||
120 | @Override | ||
121 | public Object[] toArray() { | ||
122 | return new Object[]{fElement}; | ||
123 | } | ||
124 | |||
125 | @Override | ||
126 | public CommunicationLinkDoesNotStartAtContainingElement.Match toImmutable() { | ||
127 | return isMutable() ? newMatch(fElement) : this; | ||
128 | } | ||
129 | |||
130 | @Override | ||
131 | public String prettyPrint() { | ||
132 | StringBuilder result = new StringBuilder(); | ||
133 | result.append("\"Element\"=" + prettyPrintValue(fElement)); | ||
134 | return result.toString(); | ||
135 | } | ||
136 | |||
137 | @Override | ||
138 | public int hashCode() { | ||
139 | return Objects.hash(fElement); | ||
140 | } | ||
141 | |||
142 | @Override | ||
143 | public boolean equals(final Object obj) { | ||
144 | if (this == obj) | ||
145 | return true; | ||
146 | if (obj == null) { | ||
147 | return false; | ||
148 | } | ||
149 | if ((obj instanceof CommunicationLinkDoesNotStartAtContainingElement.Match)) { | ||
150 | CommunicationLinkDoesNotStartAtContainingElement.Match other = (CommunicationLinkDoesNotStartAtContainingElement.Match) obj; | ||
151 | return Objects.equals(fElement, other.fElement); | ||
152 | } else { | ||
153 | // this should be infrequent | ||
154 | if (!(obj instanceof IPatternMatch)) { | ||
155 | return false; | ||
156 | } | ||
157 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
158 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
159 | } | ||
160 | } | ||
161 | |||
162 | @Override | ||
163 | public CommunicationLinkDoesNotStartAtContainingElement specification() { | ||
164 | return CommunicationLinkDoesNotStartAtContainingElement.instance(); | ||
165 | } | ||
166 | |||
167 | /** | ||
168 | * Returns an empty, mutable match. | ||
169 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
170 | * | ||
171 | * @return the empty match. | ||
172 | * | ||
173 | */ | ||
174 | public static CommunicationLinkDoesNotStartAtContainingElement.Match newEmptyMatch() { | ||
175 | return new Mutable(null); | ||
176 | } | ||
177 | |||
178 | /** | ||
179 | * Returns a mutable (partial) match. | ||
180 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
181 | * | ||
182 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
183 | * @return the new, mutable (partial) match object. | ||
184 | * | ||
185 | */ | ||
186 | public static CommunicationLinkDoesNotStartAtContainingElement.Match newMutableMatch(final CommunicatingElement pElement) { | ||
187 | return new Mutable(pElement); | ||
188 | } | ||
189 | |||
190 | /** | ||
191 | * Returns a new (partial) match. | ||
192 | * This can be used e.g. to call the matcher with a partial match. | ||
193 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
194 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
195 | * @return the (partial) match object. | ||
196 | * | ||
197 | */ | ||
198 | public static CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final CommunicatingElement pElement) { | ||
199 | return new Immutable(pElement); | ||
200 | } | ||
201 | |||
202 | private static final class Mutable extends CommunicationLinkDoesNotStartAtContainingElement.Match { | ||
203 | Mutable(final CommunicatingElement pElement) { | ||
204 | super(pElement); | ||
205 | } | ||
206 | |||
207 | @Override | ||
208 | public boolean isMutable() { | ||
209 | return true; | ||
210 | } | ||
211 | } | ||
212 | |||
213 | private static final class Immutable extends CommunicationLinkDoesNotStartAtContainingElement.Match { | ||
214 | Immutable(final CommunicatingElement pElement) { | ||
215 | super(pElement); | ||
216 | } | ||
217 | |||
218 | @Override | ||
219 | public boolean isMutable() { | ||
220 | return false; | ||
221 | } | ||
222 | } | ||
223 | } | ||
224 | |||
225 | /** | ||
226 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern, | ||
227 | * providing pattern-specific query methods. | ||
228 | * | ||
229 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
230 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
231 | * | ||
232 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
233 | * | ||
234 | * <p>Original source: | ||
235 | * <code><pre> | ||
236 | * {@literal @}Constraint(severity = "error", key = {Element}, | ||
237 | * message = "A communicating element may not have two transmitting communication subsystems..") | ||
238 | * pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) { | ||
239 | * find transmittingCommSubsystem(Element, Comm1); | ||
240 | * find transmittingCommSubsystem(Element, Comm2); | ||
241 | * Comm1 != Comm2; | ||
242 | * } | ||
243 | * </pre></code> | ||
244 | * | ||
245 | * @see Match | ||
246 | * @see CommunicationLinkDoesNotStartAtContainingElement | ||
247 | * | ||
248 | */ | ||
249 | public static class Matcher extends BaseMatcher<CommunicationLinkDoesNotStartAtContainingElement.Match> { | ||
250 | /** | ||
251 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
252 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
253 | * | ||
254 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
255 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
256 | * | ||
257 | */ | ||
258 | public static CommunicationLinkDoesNotStartAtContainingElement.Matcher on(final ViatraQueryEngine engine) { | ||
259 | // check if matcher already exists | ||
260 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
261 | if (matcher == null) { | ||
262 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
263 | } | ||
264 | return matcher; | ||
265 | } | ||
266 | |||
267 | /** | ||
268 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
269 | * @return an initialized matcher | ||
270 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
271 | * | ||
272 | */ | ||
273 | public static CommunicationLinkDoesNotStartAtContainingElement.Matcher create() { | ||
274 | return new Matcher(); | ||
275 | } | ||
276 | |||
277 | private static final int POSITION_ELEMENT = 0; | ||
278 | |||
279 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkDoesNotStartAtContainingElement.Matcher.class); | ||
280 | |||
281 | /** | ||
282 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
283 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
284 | * | ||
285 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
286 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
287 | * | ||
288 | */ | ||
289 | private Matcher() { | ||
290 | super(querySpecification()); | ||
291 | } | ||
292 | |||
293 | /** | ||
294 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
295 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
296 | * @return matches represented as a Match object. | ||
297 | * | ||
298 | */ | ||
299 | public Collection<CommunicationLinkDoesNotStartAtContainingElement.Match> getAllMatches(final CommunicatingElement pElement) { | ||
300 | return rawStreamAllMatches(new Object[]{pElement}).collect(Collectors.toSet()); | ||
301 | } | ||
302 | |||
303 | /** | ||
304 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
305 | * </p> | ||
306 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
307 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
308 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
309 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
310 | * @return a stream of matches represented as a Match object. | ||
311 | * | ||
312 | */ | ||
313 | public Stream<CommunicationLinkDoesNotStartAtContainingElement.Match> streamAllMatches(final CommunicatingElement pElement) { | ||
314 | return rawStreamAllMatches(new Object[]{pElement}); | ||
315 | } | ||
316 | |||
317 | /** | ||
318 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
319 | * Neither determinism nor randomness of selection is guaranteed. | ||
320 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
321 | * @return a match represented as a Match object, or null if no match is found. | ||
322 | * | ||
323 | */ | ||
324 | public Optional<CommunicationLinkDoesNotStartAtContainingElement.Match> getOneArbitraryMatch(final CommunicatingElement pElement) { | ||
325 | return rawGetOneArbitraryMatch(new Object[]{pElement}); | ||
326 | } | ||
327 | |||
328 | /** | ||
329 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
330 | * under any possible substitution of the unspecified parameters (if any). | ||
331 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
332 | * @return true if the input is a valid (partial) match of the pattern. | ||
333 | * | ||
334 | */ | ||
335 | public boolean hasMatch(final CommunicatingElement pElement) { | ||
336 | return rawHasMatch(new Object[]{pElement}); | ||
337 | } | ||
338 | |||
339 | /** | ||
340 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
341 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
342 | * @return the number of pattern matches found. | ||
343 | * | ||
344 | */ | ||
345 | public int countMatches(final CommunicatingElement pElement) { | ||
346 | return rawCountMatches(new Object[]{pElement}); | ||
347 | } | ||
348 | |||
349 | /** | ||
350 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
351 | * Neither determinism nor randomness of selection is guaranteed. | ||
352 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
353 | * @param processor the action that will process the selected match. | ||
354 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
355 | * | ||
356 | */ | ||
357 | public boolean forOneArbitraryMatch(final CommunicatingElement pElement, final Consumer<? super CommunicationLinkDoesNotStartAtContainingElement.Match> processor) { | ||
358 | return rawForOneArbitraryMatch(new Object[]{pElement}, processor); | ||
359 | } | ||
360 | |||
361 | /** | ||
362 | * Returns a new (partial) match. | ||
363 | * This can be used e.g. to call the matcher with a partial match. | ||
364 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
365 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
366 | * @return the (partial) match object. | ||
367 | * | ||
368 | */ | ||
369 | public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final CommunicatingElement pElement) { | ||
370 | return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch(pElement); | ||
371 | } | ||
372 | |||
373 | /** | ||
374 | * Retrieve the set of values that occur in matches for Element. | ||
375 | * @return the Set of all values or empty set if there are no matches | ||
376 | * | ||
377 | */ | ||
378 | protected Stream<CommunicatingElement> rawStreamAllValuesOfElement(final Object[] parameters) { | ||
379 | return rawStreamAllValues(POSITION_ELEMENT, parameters).map(CommunicatingElement.class::cast); | ||
380 | } | ||
381 | |||
382 | /** | ||
383 | * Retrieve the set of values that occur in matches for Element. | ||
384 | * @return the Set of all values or empty set if there are no matches | ||
385 | * | ||
386 | */ | ||
387 | public Set<CommunicatingElement> getAllValuesOfElement() { | ||
388 | return rawStreamAllValuesOfElement(emptyArray()).collect(Collectors.toSet()); | ||
389 | } | ||
390 | |||
391 | /** | ||
392 | * Retrieve the set of values that occur in matches for Element. | ||
393 | * @return the Set of all values or empty set if there are no matches | ||
394 | * | ||
395 | */ | ||
396 | public Stream<CommunicatingElement> streamAllValuesOfElement() { | ||
397 | return rawStreamAllValuesOfElement(emptyArray()); | ||
398 | } | ||
399 | |||
400 | @Override | ||
401 | protected CommunicationLinkDoesNotStartAtContainingElement.Match tupleToMatch(final Tuple t) { | ||
402 | try { | ||
403 | return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((CommunicatingElement) t.get(POSITION_ELEMENT)); | ||
404 | } catch(ClassCastException e) { | ||
405 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
406 | return null; | ||
407 | } | ||
408 | } | ||
409 | |||
410 | @Override | ||
411 | protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatch(final Object[] match) { | ||
412 | try { | ||
413 | return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((CommunicatingElement) match[POSITION_ELEMENT]); | ||
414 | } catch(ClassCastException e) { | ||
415 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
416 | return null; | ||
417 | } | ||
418 | } | ||
419 | |||
420 | @Override | ||
421 | protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatchMutable(final Object[] match) { | ||
422 | try { | ||
423 | return CommunicationLinkDoesNotStartAtContainingElement.Match.newMutableMatch((CommunicatingElement) match[POSITION_ELEMENT]); | ||
424 | } catch(ClassCastException e) { | ||
425 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
426 | return null; | ||
427 | } | ||
428 | } | ||
429 | |||
430 | /** | ||
431 | * @return the singleton instance of the query specification of this pattern | ||
432 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
433 | * | ||
434 | */ | ||
435 | public static IQuerySpecification<CommunicationLinkDoesNotStartAtContainingElement.Matcher> querySpecification() { | ||
436 | return CommunicationLinkDoesNotStartAtContainingElement.instance(); | ||
437 | } | ||
438 | } | ||
439 | |||
440 | private CommunicationLinkDoesNotStartAtContainingElement() { | ||
441 | super(GeneratedPQuery.INSTANCE); | ||
442 | } | ||
443 | |||
444 | /** | ||
445 | * @return the singleton instance of the query specification | ||
446 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
447 | * | ||
448 | */ | ||
449 | public static CommunicationLinkDoesNotStartAtContainingElement instance() { | ||
450 | try{ | ||
451 | return LazyHolder.INSTANCE; | ||
452 | } catch (ExceptionInInitializerError err) { | ||
453 | throw processInitializerError(err); | ||
454 | } | ||
455 | } | ||
456 | |||
457 | @Override | ||
458 | protected CommunicationLinkDoesNotStartAtContainingElement.Matcher instantiate(final ViatraQueryEngine engine) { | ||
459 | return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine); | ||
460 | } | ||
461 | |||
462 | @Override | ||
463 | public CommunicationLinkDoesNotStartAtContainingElement.Matcher instantiate() { | ||
464 | return CommunicationLinkDoesNotStartAtContainingElement.Matcher.create(); | ||
465 | } | ||
466 | |||
467 | @Override | ||
468 | public CommunicationLinkDoesNotStartAtContainingElement.Match newEmptyMatch() { | ||
469 | return CommunicationLinkDoesNotStartAtContainingElement.Match.newEmptyMatch(); | ||
470 | } | ||
471 | |||
472 | @Override | ||
473 | public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final Object... parameters) { | ||
474 | return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((satellite.CommunicatingElement) parameters[0]); | ||
475 | } | ||
476 | |||
477 | /** | ||
478 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement (visibility: PUBLIC, simpleName: CommunicationLinkDoesNotStartAtContainingElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
479 | * <b>not</b> at the class load time of the outer class, | ||
480 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement (visibility: PUBLIC, simpleName: CommunicationLinkDoesNotStartAtContainingElement, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
481 | * | ||
482 | * <p> This workaround is required e.g. to support recursion. | ||
483 | * | ||
484 | */ | ||
485 | private static class LazyHolder { | ||
486 | private static final CommunicationLinkDoesNotStartAtContainingElement INSTANCE = new CommunicationLinkDoesNotStartAtContainingElement(); | ||
487 | |||
488 | /** | ||
489 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
490 | * This initialization order is required to support indirect recursion. | ||
491 | * | ||
492 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
493 | * | ||
494 | */ | ||
495 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
496 | |||
497 | public static Object ensureInitialized() { | ||
498 | INSTANCE.ensureInitializedInternal(); | ||
499 | return null; | ||
500 | } | ||
501 | } | ||
502 | |||
503 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
504 | private static final CommunicationLinkDoesNotStartAtContainingElement.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
505 | |||
506 | private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
507 | |||
508 | private final List<PParameter> parameters = Arrays.asList(parameter_Element); | ||
509 | |||
510 | private GeneratedPQuery() { | ||
511 | super(PVisibility.PUBLIC); | ||
512 | } | ||
513 | |||
514 | @Override | ||
515 | public String getFullyQualifiedName() { | ||
516 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"; | ||
517 | } | ||
518 | |||
519 | @Override | ||
520 | public List<String> getParameterNames() { | ||
521 | return Arrays.asList("Element"); | ||
522 | } | ||
523 | |||
524 | @Override | ||
525 | public List<PParameter> getParameters() { | ||
526 | return parameters; | ||
527 | } | ||
528 | |||
529 | @Override | ||
530 | public Set<PBody> doGetContainedBodies() { | ||
531 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
532 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
533 | { | ||
534 | PBody body = new PBody(this); | ||
535 | PVariable var_Element = body.getOrCreateVariableByName("Element"); | ||
536 | PVariable var_Comm1 = body.getOrCreateVariableByName("Comm1"); | ||
537 | PVariable var_Comm2 = body.getOrCreateVariableByName("Comm2"); | ||
538 | new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
539 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
540 | new ExportedParameter(body, var_Element, parameter_Element) | ||
541 | )); | ||
542 | // find transmittingCommSubsystem(Element, Comm1) | ||
543 | new PositivePatternCall(body, Tuples.flatTupleOf(var_Element, var_Comm1), TransmittingCommSubsystem.instance().getInternalQueryRepresentation()); | ||
544 | // find transmittingCommSubsystem(Element, Comm2) | ||
545 | new PositivePatternCall(body, Tuples.flatTupleOf(var_Element, var_Comm2), TransmittingCommSubsystem.instance().getInternalQueryRepresentation()); | ||
546 | // Comm1 != Comm2 | ||
547 | new Inequality(body, var_Comm1, var_Comm2); | ||
548 | bodies.add(body); | ||
549 | } | ||
550 | { | ||
551 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
552 | annotation.addAttribute("severity", "error"); | ||
553 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
554 | new ParameterReference("Element") | ||
555 | })); | ||
556 | annotation.addAttribute("message", "A communicating element may not have two transmitting communication subsystems.."); | ||
557 | addAnnotation(annotation); | ||
558 | } | ||
559 | return bodies; | ||
560 | } | ||
561 | } | ||
562 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java deleted file mode 100644 index ede57df8..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java +++ /dev/null | |||
@@ -1,557 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.Collection; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Optional; | ||
13 | import java.util.Set; | ||
14 | import java.util.function.Consumer; | ||
15 | import java.util.stream.Collectors; | ||
16 | import java.util.stream.Stream; | ||
17 | import org.apache.log4j.Logger; | ||
18 | import org.eclipse.emf.ecore.EClass; | ||
19 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
21 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
26 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
27 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
40 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
41 | import satellite.CommunicatingElement; | ||
42 | |||
43 | /** | ||
44 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
45 | * | ||
46 | * <p>Original source: | ||
47 | * <code><pre> | ||
48 | * // No communication loops may exist | ||
49 | * // No spacecraft may directly communicate with itself | ||
50 | * | ||
51 | * {@literal @}Constraint(severity = "error", key = {Element}, | ||
52 | * message = "Communication loop.") | ||
53 | * pattern communicationLoop(Element : CommunicatingElement) { | ||
54 | * find indirectCommunicationLink(Element, Element); | ||
55 | * } | ||
56 | * </pre></code> | ||
57 | * | ||
58 | * @see Matcher | ||
59 | * @see Match | ||
60 | * | ||
61 | */ | ||
62 | @SuppressWarnings("all") | ||
63 | public final class CommunicationLoop extends BaseGeneratedEMFQuerySpecification<CommunicationLoop.Matcher> { | ||
64 | /** | ||
65 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop pattern, | ||
66 | * to be used in conjunction with {@link Matcher}. | ||
67 | * | ||
68 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
69 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
70 | * usable to represent a match of the pattern in the result of a query, | ||
71 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
72 | * | ||
73 | * @see Matcher | ||
74 | * | ||
75 | */ | ||
76 | public static abstract class Match extends BasePatternMatch { | ||
77 | private CommunicatingElement fElement; | ||
78 | |||
79 | private static List<String> parameterNames = makeImmutableList("Element"); | ||
80 | |||
81 | private Match(final CommunicatingElement pElement) { | ||
82 | this.fElement = pElement; | ||
83 | } | ||
84 | |||
85 | @Override | ||
86 | public Object get(final String parameterName) { | ||
87 | if ("Element".equals(parameterName)) return this.fElement; | ||
88 | return null; | ||
89 | } | ||
90 | |||
91 | public CommunicatingElement getElement() { | ||
92 | return this.fElement; | ||
93 | } | ||
94 | |||
95 | @Override | ||
96 | public boolean set(final String parameterName, final Object newValue) { | ||
97 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
98 | if ("Element".equals(parameterName) ) { | ||
99 | this.fElement = (CommunicatingElement) newValue; | ||
100 | return true; | ||
101 | } | ||
102 | return false; | ||
103 | } | ||
104 | |||
105 | public void setElement(final CommunicatingElement pElement) { | ||
106 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
107 | this.fElement = pElement; | ||
108 | } | ||
109 | |||
110 | @Override | ||
111 | public String patternName() { | ||
112 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"; | ||
113 | } | ||
114 | |||
115 | @Override | ||
116 | public List<String> parameterNames() { | ||
117 | return CommunicationLoop.Match.parameterNames; | ||
118 | } | ||
119 | |||
120 | @Override | ||
121 | public Object[] toArray() { | ||
122 | return new Object[]{fElement}; | ||
123 | } | ||
124 | |||
125 | @Override | ||
126 | public CommunicationLoop.Match toImmutable() { | ||
127 | return isMutable() ? newMatch(fElement) : this; | ||
128 | } | ||
129 | |||
130 | @Override | ||
131 | public String prettyPrint() { | ||
132 | StringBuilder result = new StringBuilder(); | ||
133 | result.append("\"Element\"=" + prettyPrintValue(fElement)); | ||
134 | return result.toString(); | ||
135 | } | ||
136 | |||
137 | @Override | ||
138 | public int hashCode() { | ||
139 | return Objects.hash(fElement); | ||
140 | } | ||
141 | |||
142 | @Override | ||
143 | public boolean equals(final Object obj) { | ||
144 | if (this == obj) | ||
145 | return true; | ||
146 | if (obj == null) { | ||
147 | return false; | ||
148 | } | ||
149 | if ((obj instanceof CommunicationLoop.Match)) { | ||
150 | CommunicationLoop.Match other = (CommunicationLoop.Match) obj; | ||
151 | return Objects.equals(fElement, other.fElement); | ||
152 | } else { | ||
153 | // this should be infrequent | ||
154 | if (!(obj instanceof IPatternMatch)) { | ||
155 | return false; | ||
156 | } | ||
157 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
158 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
159 | } | ||
160 | } | ||
161 | |||
162 | @Override | ||
163 | public CommunicationLoop specification() { | ||
164 | return CommunicationLoop.instance(); | ||
165 | } | ||
166 | |||
167 | /** | ||
168 | * Returns an empty, mutable match. | ||
169 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
170 | * | ||
171 | * @return the empty match. | ||
172 | * | ||
173 | */ | ||
174 | public static CommunicationLoop.Match newEmptyMatch() { | ||
175 | return new Mutable(null); | ||
176 | } | ||
177 | |||
178 | /** | ||
179 | * Returns a mutable (partial) match. | ||
180 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
181 | * | ||
182 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
183 | * @return the new, mutable (partial) match object. | ||
184 | * | ||
185 | */ | ||
186 | public static CommunicationLoop.Match newMutableMatch(final CommunicatingElement pElement) { | ||
187 | return new Mutable(pElement); | ||
188 | } | ||
189 | |||
190 | /** | ||
191 | * Returns a new (partial) match. | ||
192 | * This can be used e.g. to call the matcher with a partial match. | ||
193 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
194 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
195 | * @return the (partial) match object. | ||
196 | * | ||
197 | */ | ||
198 | public static CommunicationLoop.Match newMatch(final CommunicatingElement pElement) { | ||
199 | return new Immutable(pElement); | ||
200 | } | ||
201 | |||
202 | private static final class Mutable extends CommunicationLoop.Match { | ||
203 | Mutable(final CommunicatingElement pElement) { | ||
204 | super(pElement); | ||
205 | } | ||
206 | |||
207 | @Override | ||
208 | public boolean isMutable() { | ||
209 | return true; | ||
210 | } | ||
211 | } | ||
212 | |||
213 | private static final class Immutable extends CommunicationLoop.Match { | ||
214 | Immutable(final CommunicatingElement pElement) { | ||
215 | super(pElement); | ||
216 | } | ||
217 | |||
218 | @Override | ||
219 | public boolean isMutable() { | ||
220 | return false; | ||
221 | } | ||
222 | } | ||
223 | } | ||
224 | |||
225 | /** | ||
226 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop pattern, | ||
227 | * providing pattern-specific query methods. | ||
228 | * | ||
229 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
230 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
231 | * | ||
232 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
233 | * | ||
234 | * <p>Original source: | ||
235 | * <code><pre> | ||
236 | * // No communication loops may exist | ||
237 | * // No spacecraft may directly communicate with itself | ||
238 | * | ||
239 | * {@literal @}Constraint(severity = "error", key = {Element}, | ||
240 | * message = "Communication loop.") | ||
241 | * pattern communicationLoop(Element : CommunicatingElement) { | ||
242 | * find indirectCommunicationLink(Element, Element); | ||
243 | * } | ||
244 | * </pre></code> | ||
245 | * | ||
246 | * @see Match | ||
247 | * @see CommunicationLoop | ||
248 | * | ||
249 | */ | ||
250 | public static class Matcher extends BaseMatcher<CommunicationLoop.Match> { | ||
251 | /** | ||
252 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
253 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
254 | * | ||
255 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
256 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
257 | * | ||
258 | */ | ||
259 | public static CommunicationLoop.Matcher on(final ViatraQueryEngine engine) { | ||
260 | // check if matcher already exists | ||
261 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
262 | if (matcher == null) { | ||
263 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
264 | } | ||
265 | return matcher; | ||
266 | } | ||
267 | |||
268 | /** | ||
269 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
270 | * @return an initialized matcher | ||
271 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
272 | * | ||
273 | */ | ||
274 | public static CommunicationLoop.Matcher create() { | ||
275 | return new Matcher(); | ||
276 | } | ||
277 | |||
278 | private static final int POSITION_ELEMENT = 0; | ||
279 | |||
280 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLoop.Matcher.class); | ||
281 | |||
282 | /** | ||
283 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
284 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
285 | * | ||
286 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
287 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
288 | * | ||
289 | */ | ||
290 | private Matcher() { | ||
291 | super(querySpecification()); | ||
292 | } | ||
293 | |||
294 | /** | ||
295 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
296 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
297 | * @return matches represented as a Match object. | ||
298 | * | ||
299 | */ | ||
300 | public Collection<CommunicationLoop.Match> getAllMatches(final CommunicatingElement pElement) { | ||
301 | return rawStreamAllMatches(new Object[]{pElement}).collect(Collectors.toSet()); | ||
302 | } | ||
303 | |||
304 | /** | ||
305 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
306 | * </p> | ||
307 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
308 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
309 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
310 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
311 | * @return a stream of matches represented as a Match object. | ||
312 | * | ||
313 | */ | ||
314 | public Stream<CommunicationLoop.Match> streamAllMatches(final CommunicatingElement pElement) { | ||
315 | return rawStreamAllMatches(new Object[]{pElement}); | ||
316 | } | ||
317 | |||
318 | /** | ||
319 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
320 | * Neither determinism nor randomness of selection is guaranteed. | ||
321 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
322 | * @return a match represented as a Match object, or null if no match is found. | ||
323 | * | ||
324 | */ | ||
325 | public Optional<CommunicationLoop.Match> getOneArbitraryMatch(final CommunicatingElement pElement) { | ||
326 | return rawGetOneArbitraryMatch(new Object[]{pElement}); | ||
327 | } | ||
328 | |||
329 | /** | ||
330 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
331 | * under any possible substitution of the unspecified parameters (if any). | ||
332 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
333 | * @return true if the input is a valid (partial) match of the pattern. | ||
334 | * | ||
335 | */ | ||
336 | public boolean hasMatch(final CommunicatingElement pElement) { | ||
337 | return rawHasMatch(new Object[]{pElement}); | ||
338 | } | ||
339 | |||
340 | /** | ||
341 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
342 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
343 | * @return the number of pattern matches found. | ||
344 | * | ||
345 | */ | ||
346 | public int countMatches(final CommunicatingElement pElement) { | ||
347 | return rawCountMatches(new Object[]{pElement}); | ||
348 | } | ||
349 | |||
350 | /** | ||
351 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
352 | * Neither determinism nor randomness of selection is guaranteed. | ||
353 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
354 | * @param processor the action that will process the selected match. | ||
355 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
356 | * | ||
357 | */ | ||
358 | public boolean forOneArbitraryMatch(final CommunicatingElement pElement, final Consumer<? super CommunicationLoop.Match> processor) { | ||
359 | return rawForOneArbitraryMatch(new Object[]{pElement}, processor); | ||
360 | } | ||
361 | |||
362 | /** | ||
363 | * Returns a new (partial) match. | ||
364 | * This can be used e.g. to call the matcher with a partial match. | ||
365 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
366 | * @param pElement the fixed value of pattern parameter Element, or null if not bound. | ||
367 | * @return the (partial) match object. | ||
368 | * | ||
369 | */ | ||
370 | public CommunicationLoop.Match newMatch(final CommunicatingElement pElement) { | ||
371 | return CommunicationLoop.Match.newMatch(pElement); | ||
372 | } | ||
373 | |||
374 | /** | ||
375 | * Retrieve the set of values that occur in matches for Element. | ||
376 | * @return the Set of all values or empty set if there are no matches | ||
377 | * | ||
378 | */ | ||
379 | protected Stream<CommunicatingElement> rawStreamAllValuesOfElement(final Object[] parameters) { | ||
380 | return rawStreamAllValues(POSITION_ELEMENT, parameters).map(CommunicatingElement.class::cast); | ||
381 | } | ||
382 | |||
383 | /** | ||
384 | * Retrieve the set of values that occur in matches for Element. | ||
385 | * @return the Set of all values or empty set if there are no matches | ||
386 | * | ||
387 | */ | ||
388 | public Set<CommunicatingElement> getAllValuesOfElement() { | ||
389 | return rawStreamAllValuesOfElement(emptyArray()).collect(Collectors.toSet()); | ||
390 | } | ||
391 | |||
392 | /** | ||
393 | * Retrieve the set of values that occur in matches for Element. | ||
394 | * @return the Set of all values or empty set if there are no matches | ||
395 | * | ||
396 | */ | ||
397 | public Stream<CommunicatingElement> streamAllValuesOfElement() { | ||
398 | return rawStreamAllValuesOfElement(emptyArray()); | ||
399 | } | ||
400 | |||
401 | @Override | ||
402 | protected CommunicationLoop.Match tupleToMatch(final Tuple t) { | ||
403 | try { | ||
404 | return CommunicationLoop.Match.newMatch((CommunicatingElement) t.get(POSITION_ELEMENT)); | ||
405 | } catch(ClassCastException e) { | ||
406 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
407 | return null; | ||
408 | } | ||
409 | } | ||
410 | |||
411 | @Override | ||
412 | protected CommunicationLoop.Match arrayToMatch(final Object[] match) { | ||
413 | try { | ||
414 | return CommunicationLoop.Match.newMatch((CommunicatingElement) match[POSITION_ELEMENT]); | ||
415 | } catch(ClassCastException e) { | ||
416 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
417 | return null; | ||
418 | } | ||
419 | } | ||
420 | |||
421 | @Override | ||
422 | protected CommunicationLoop.Match arrayToMatchMutable(final Object[] match) { | ||
423 | try { | ||
424 | return CommunicationLoop.Match.newMutableMatch((CommunicatingElement) match[POSITION_ELEMENT]); | ||
425 | } catch(ClassCastException e) { | ||
426 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
427 | return null; | ||
428 | } | ||
429 | } | ||
430 | |||
431 | /** | ||
432 | * @return the singleton instance of the query specification of this pattern | ||
433 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
434 | * | ||
435 | */ | ||
436 | public static IQuerySpecification<CommunicationLoop.Matcher> querySpecification() { | ||
437 | return CommunicationLoop.instance(); | ||
438 | } | ||
439 | } | ||
440 | |||
441 | private CommunicationLoop() { | ||
442 | super(GeneratedPQuery.INSTANCE); | ||
443 | } | ||
444 | |||
445 | /** | ||
446 | * @return the singleton instance of the query specification | ||
447 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
448 | * | ||
449 | */ | ||
450 | public static CommunicationLoop instance() { | ||
451 | try{ | ||
452 | return LazyHolder.INSTANCE; | ||
453 | } catch (ExceptionInInitializerError err) { | ||
454 | throw processInitializerError(err); | ||
455 | } | ||
456 | } | ||
457 | |||
458 | @Override | ||
459 | protected CommunicationLoop.Matcher instantiate(final ViatraQueryEngine engine) { | ||
460 | return CommunicationLoop.Matcher.on(engine); | ||
461 | } | ||
462 | |||
463 | @Override | ||
464 | public CommunicationLoop.Matcher instantiate() { | ||
465 | return CommunicationLoop.Matcher.create(); | ||
466 | } | ||
467 | |||
468 | @Override | ||
469 | public CommunicationLoop.Match newEmptyMatch() { | ||
470 | return CommunicationLoop.Match.newEmptyMatch(); | ||
471 | } | ||
472 | |||
473 | @Override | ||
474 | public CommunicationLoop.Match newMatch(final Object... parameters) { | ||
475 | return CommunicationLoop.Match.newMatch((satellite.CommunicatingElement) parameters[0]); | ||
476 | } | ||
477 | |||
478 | /** | ||
479 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop (visibility: PUBLIC, simpleName: CommunicationLoop, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
480 | * <b>not</b> at the class load time of the outer class, | ||
481 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop (visibility: PUBLIC, simpleName: CommunicationLoop, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
482 | * | ||
483 | * <p> This workaround is required e.g. to support recursion. | ||
484 | * | ||
485 | */ | ||
486 | private static class LazyHolder { | ||
487 | private static final CommunicationLoop INSTANCE = new CommunicationLoop(); | ||
488 | |||
489 | /** | ||
490 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
491 | * This initialization order is required to support indirect recursion. | ||
492 | * | ||
493 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
494 | * | ||
495 | */ | ||
496 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
497 | |||
498 | public static Object ensureInitialized() { | ||
499 | INSTANCE.ensureInitializedInternal(); | ||
500 | return null; | ||
501 | } | ||
502 | } | ||
503 | |||
504 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
505 | private static final CommunicationLoop.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
506 | |||
507 | private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
508 | |||
509 | private final List<PParameter> parameters = Arrays.asList(parameter_Element); | ||
510 | |||
511 | private GeneratedPQuery() { | ||
512 | super(PVisibility.PUBLIC); | ||
513 | } | ||
514 | |||
515 | @Override | ||
516 | public String getFullyQualifiedName() { | ||
517 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"; | ||
518 | } | ||
519 | |||
520 | @Override | ||
521 | public List<String> getParameterNames() { | ||
522 | return Arrays.asList("Element"); | ||
523 | } | ||
524 | |||
525 | @Override | ||
526 | public List<PParameter> getParameters() { | ||
527 | return parameters; | ||
528 | } | ||
529 | |||
530 | @Override | ||
531 | public Set<PBody> doGetContainedBodies() { | ||
532 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
533 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
534 | { | ||
535 | PBody body = new PBody(this); | ||
536 | PVariable var_Element = body.getOrCreateVariableByName("Element"); | ||
537 | new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
538 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
539 | new ExportedParameter(body, var_Element, parameter_Element) | ||
540 | )); | ||
541 | // find indirectCommunicationLink(Element, Element) | ||
542 | new PositivePatternCall(body, Tuples.flatTupleOf(var_Element, var_Element), IndirectCommunicationLink.instance().getInternalQueryRepresentation()); | ||
543 | bodies.add(body); | ||
544 | } | ||
545 | { | ||
546 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
547 | annotation.addAttribute("severity", "error"); | ||
548 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
549 | new ParameterReference("Element") | ||
550 | })); | ||
551 | annotation.addAttribute("message", "Communication loop."); | ||
552 | addAnnotation(annotation); | ||
553 | } | ||
554 | return bodies; | ||
555 | } | ||
556 | } | ||
557 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java deleted file mode 100644 index f372da70..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java +++ /dev/null | |||
@@ -1,570 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.Collection; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Optional; | ||
13 | import java.util.Set; | ||
14 | import java.util.function.Consumer; | ||
15 | import java.util.stream.Collectors; | ||
16 | import java.util.stream.Stream; | ||
17 | import org.apache.log4j.Logger; | ||
18 | import org.eclipse.emf.ecore.EClass; | ||
19 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
21 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
26 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
27 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
40 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
41 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
42 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
43 | import satellite.Spacecraft; | ||
44 | |||
45 | /** | ||
46 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
47 | * | ||
48 | * <p>Original source: | ||
49 | * <code><pre> | ||
50 | * // Only a Small Satellite can be configured with a Ka-band communication system | ||
51 | * | ||
52 | * {@literal @}Constraint(severity = "error", key = {Spacecraft}, | ||
53 | * message = "Only a Small Satellite can be configured with a Ka-band communication system.") | ||
54 | * pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) { | ||
55 | * CommunicatingElement.commSubsystem(Spacecraft, Comm); | ||
56 | * KaCommSubsystem(Comm); | ||
57 | * neg find smallSat(Spacecraft); | ||
58 | * } | ||
59 | * </pre></code> | ||
60 | * | ||
61 | * @see Matcher | ||
62 | * @see Match | ||
63 | * | ||
64 | */ | ||
65 | @SuppressWarnings("all") | ||
66 | public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecification<CubeSatWithKaAntenna.Matcher> { | ||
67 | /** | ||
68 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna pattern, | ||
69 | * to be used in conjunction with {@link Matcher}. | ||
70 | * | ||
71 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
72 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
73 | * usable to represent a match of the pattern in the result of a query, | ||
74 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
75 | * | ||
76 | * @see Matcher | ||
77 | * | ||
78 | */ | ||
79 | public static abstract class Match extends BasePatternMatch { | ||
80 | private Spacecraft fSpacecraft; | ||
81 | |||
82 | private static List<String> parameterNames = makeImmutableList("Spacecraft"); | ||
83 | |||
84 | private Match(final Spacecraft pSpacecraft) { | ||
85 | this.fSpacecraft = pSpacecraft; | ||
86 | } | ||
87 | |||
88 | @Override | ||
89 | public Object get(final String parameterName) { | ||
90 | if ("Spacecraft".equals(parameterName)) return this.fSpacecraft; | ||
91 | return null; | ||
92 | } | ||
93 | |||
94 | public Spacecraft getSpacecraft() { | ||
95 | return this.fSpacecraft; | ||
96 | } | ||
97 | |||
98 | @Override | ||
99 | public boolean set(final String parameterName, final Object newValue) { | ||
100 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
101 | if ("Spacecraft".equals(parameterName) ) { | ||
102 | this.fSpacecraft = (Spacecraft) newValue; | ||
103 | return true; | ||
104 | } | ||
105 | return false; | ||
106 | } | ||
107 | |||
108 | public void setSpacecraft(final Spacecraft pSpacecraft) { | ||
109 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
110 | this.fSpacecraft = pSpacecraft; | ||
111 | } | ||
112 | |||
113 | @Override | ||
114 | public String patternName() { | ||
115 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"; | ||
116 | } | ||
117 | |||
118 | @Override | ||
119 | public List<String> parameterNames() { | ||
120 | return CubeSatWithKaAntenna.Match.parameterNames; | ||
121 | } | ||
122 | |||
123 | @Override | ||
124 | public Object[] toArray() { | ||
125 | return new Object[]{fSpacecraft}; | ||
126 | } | ||
127 | |||
128 | @Override | ||
129 | public CubeSatWithKaAntenna.Match toImmutable() { | ||
130 | return isMutable() ? newMatch(fSpacecraft) : this; | ||
131 | } | ||
132 | |||
133 | @Override | ||
134 | public String prettyPrint() { | ||
135 | StringBuilder result = new StringBuilder(); | ||
136 | result.append("\"Spacecraft\"=" + prettyPrintValue(fSpacecraft)); | ||
137 | return result.toString(); | ||
138 | } | ||
139 | |||
140 | @Override | ||
141 | public int hashCode() { | ||
142 | return Objects.hash(fSpacecraft); | ||
143 | } | ||
144 | |||
145 | @Override | ||
146 | public boolean equals(final Object obj) { | ||
147 | if (this == obj) | ||
148 | return true; | ||
149 | if (obj == null) { | ||
150 | return false; | ||
151 | } | ||
152 | if ((obj instanceof CubeSatWithKaAntenna.Match)) { | ||
153 | CubeSatWithKaAntenna.Match other = (CubeSatWithKaAntenna.Match) obj; | ||
154 | return Objects.equals(fSpacecraft, other.fSpacecraft); | ||
155 | } else { | ||
156 | // this should be infrequent | ||
157 | if (!(obj instanceof IPatternMatch)) { | ||
158 | return false; | ||
159 | } | ||
160 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
161 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
162 | } | ||
163 | } | ||
164 | |||
165 | @Override | ||
166 | public CubeSatWithKaAntenna specification() { | ||
167 | return CubeSatWithKaAntenna.instance(); | ||
168 | } | ||
169 | |||
170 | /** | ||
171 | * Returns an empty, mutable match. | ||
172 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
173 | * | ||
174 | * @return the empty match. | ||
175 | * | ||
176 | */ | ||
177 | public static CubeSatWithKaAntenna.Match newEmptyMatch() { | ||
178 | return new Mutable(null); | ||
179 | } | ||
180 | |||
181 | /** | ||
182 | * Returns a mutable (partial) match. | ||
183 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
184 | * | ||
185 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
186 | * @return the new, mutable (partial) match object. | ||
187 | * | ||
188 | */ | ||
189 | public static CubeSatWithKaAntenna.Match newMutableMatch(final Spacecraft pSpacecraft) { | ||
190 | return new Mutable(pSpacecraft); | ||
191 | } | ||
192 | |||
193 | /** | ||
194 | * Returns a new (partial) match. | ||
195 | * This can be used e.g. to call the matcher with a partial match. | ||
196 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
197 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
198 | * @return the (partial) match object. | ||
199 | * | ||
200 | */ | ||
201 | public static CubeSatWithKaAntenna.Match newMatch(final Spacecraft pSpacecraft) { | ||
202 | return new Immutable(pSpacecraft); | ||
203 | } | ||
204 | |||
205 | private static final class Mutable extends CubeSatWithKaAntenna.Match { | ||
206 | Mutable(final Spacecraft pSpacecraft) { | ||
207 | super(pSpacecraft); | ||
208 | } | ||
209 | |||
210 | @Override | ||
211 | public boolean isMutable() { | ||
212 | return true; | ||
213 | } | ||
214 | } | ||
215 | |||
216 | private static final class Immutable extends CubeSatWithKaAntenna.Match { | ||
217 | Immutable(final Spacecraft pSpacecraft) { | ||
218 | super(pSpacecraft); | ||
219 | } | ||
220 | |||
221 | @Override | ||
222 | public boolean isMutable() { | ||
223 | return false; | ||
224 | } | ||
225 | } | ||
226 | } | ||
227 | |||
228 | /** | ||
229 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna pattern, | ||
230 | * providing pattern-specific query methods. | ||
231 | * | ||
232 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
233 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
234 | * | ||
235 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
236 | * | ||
237 | * <p>Original source: | ||
238 | * <code><pre> | ||
239 | * // Only a Small Satellite can be configured with a Ka-band communication system | ||
240 | * | ||
241 | * {@literal @}Constraint(severity = "error", key = {Spacecraft}, | ||
242 | * message = "Only a Small Satellite can be configured with a Ka-band communication system.") | ||
243 | * pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) { | ||
244 | * CommunicatingElement.commSubsystem(Spacecraft, Comm); | ||
245 | * KaCommSubsystem(Comm); | ||
246 | * neg find smallSat(Spacecraft); | ||
247 | * } | ||
248 | * </pre></code> | ||
249 | * | ||
250 | * @see Match | ||
251 | * @see CubeSatWithKaAntenna | ||
252 | * | ||
253 | */ | ||
254 | public static class Matcher extends BaseMatcher<CubeSatWithKaAntenna.Match> { | ||
255 | /** | ||
256 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
257 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
258 | * | ||
259 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
260 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
261 | * | ||
262 | */ | ||
263 | public static CubeSatWithKaAntenna.Matcher on(final ViatraQueryEngine engine) { | ||
264 | // check if matcher already exists | ||
265 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
266 | if (matcher == null) { | ||
267 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
268 | } | ||
269 | return matcher; | ||
270 | } | ||
271 | |||
272 | /** | ||
273 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
274 | * @return an initialized matcher | ||
275 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
276 | * | ||
277 | */ | ||
278 | public static CubeSatWithKaAntenna.Matcher create() { | ||
279 | return new Matcher(); | ||
280 | } | ||
281 | |||
282 | private static final int POSITION_SPACECRAFT = 0; | ||
283 | |||
284 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CubeSatWithKaAntenna.Matcher.class); | ||
285 | |||
286 | /** | ||
287 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
288 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
289 | * | ||
290 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
291 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
292 | * | ||
293 | */ | ||
294 | private Matcher() { | ||
295 | super(querySpecification()); | ||
296 | } | ||
297 | |||
298 | /** | ||
299 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
300 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
301 | * @return matches represented as a Match object. | ||
302 | * | ||
303 | */ | ||
304 | public Collection<CubeSatWithKaAntenna.Match> getAllMatches(final Spacecraft pSpacecraft) { | ||
305 | return rawStreamAllMatches(new Object[]{pSpacecraft}).collect(Collectors.toSet()); | ||
306 | } | ||
307 | |||
308 | /** | ||
309 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
310 | * </p> | ||
311 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
312 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
313 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
314 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
315 | * @return a stream of matches represented as a Match object. | ||
316 | * | ||
317 | */ | ||
318 | public Stream<CubeSatWithKaAntenna.Match> streamAllMatches(final Spacecraft pSpacecraft) { | ||
319 | return rawStreamAllMatches(new Object[]{pSpacecraft}); | ||
320 | } | ||
321 | |||
322 | /** | ||
323 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
324 | * Neither determinism nor randomness of selection is guaranteed. | ||
325 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
326 | * @return a match represented as a Match object, or null if no match is found. | ||
327 | * | ||
328 | */ | ||
329 | public Optional<CubeSatWithKaAntenna.Match> getOneArbitraryMatch(final Spacecraft pSpacecraft) { | ||
330 | return rawGetOneArbitraryMatch(new Object[]{pSpacecraft}); | ||
331 | } | ||
332 | |||
333 | /** | ||
334 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
335 | * under any possible substitution of the unspecified parameters (if any). | ||
336 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
337 | * @return true if the input is a valid (partial) match of the pattern. | ||
338 | * | ||
339 | */ | ||
340 | public boolean hasMatch(final Spacecraft pSpacecraft) { | ||
341 | return rawHasMatch(new Object[]{pSpacecraft}); | ||
342 | } | ||
343 | |||
344 | /** | ||
345 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
346 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
347 | * @return the number of pattern matches found. | ||
348 | * | ||
349 | */ | ||
350 | public int countMatches(final Spacecraft pSpacecraft) { | ||
351 | return rawCountMatches(new Object[]{pSpacecraft}); | ||
352 | } | ||
353 | |||
354 | /** | ||
355 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
356 | * Neither determinism nor randomness of selection is guaranteed. | ||
357 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
358 | * @param processor the action that will process the selected match. | ||
359 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
360 | * | ||
361 | */ | ||
362 | public boolean forOneArbitraryMatch(final Spacecraft pSpacecraft, final Consumer<? super CubeSatWithKaAntenna.Match> processor) { | ||
363 | return rawForOneArbitraryMatch(new Object[]{pSpacecraft}, processor); | ||
364 | } | ||
365 | |||
366 | /** | ||
367 | * Returns a new (partial) match. | ||
368 | * This can be used e.g. to call the matcher with a partial match. | ||
369 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
370 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
371 | * @return the (partial) match object. | ||
372 | * | ||
373 | */ | ||
374 | public CubeSatWithKaAntenna.Match newMatch(final Spacecraft pSpacecraft) { | ||
375 | return CubeSatWithKaAntenna.Match.newMatch(pSpacecraft); | ||
376 | } | ||
377 | |||
378 | /** | ||
379 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
380 | * @return the Set of all values or empty set if there are no matches | ||
381 | * | ||
382 | */ | ||
383 | protected Stream<Spacecraft> rawStreamAllValuesOfSpacecraft(final Object[] parameters) { | ||
384 | return rawStreamAllValues(POSITION_SPACECRAFT, parameters).map(Spacecraft.class::cast); | ||
385 | } | ||
386 | |||
387 | /** | ||
388 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
389 | * @return the Set of all values or empty set if there are no matches | ||
390 | * | ||
391 | */ | ||
392 | public Set<Spacecraft> getAllValuesOfSpacecraft() { | ||
393 | return rawStreamAllValuesOfSpacecraft(emptyArray()).collect(Collectors.toSet()); | ||
394 | } | ||
395 | |||
396 | /** | ||
397 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
398 | * @return the Set of all values or empty set if there are no matches | ||
399 | * | ||
400 | */ | ||
401 | public Stream<Spacecraft> streamAllValuesOfSpacecraft() { | ||
402 | return rawStreamAllValuesOfSpacecraft(emptyArray()); | ||
403 | } | ||
404 | |||
405 | @Override | ||
406 | protected CubeSatWithKaAntenna.Match tupleToMatch(final Tuple t) { | ||
407 | try { | ||
408 | return CubeSatWithKaAntenna.Match.newMatch((Spacecraft) t.get(POSITION_SPACECRAFT)); | ||
409 | } catch(ClassCastException e) { | ||
410 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
411 | return null; | ||
412 | } | ||
413 | } | ||
414 | |||
415 | @Override | ||
416 | protected CubeSatWithKaAntenna.Match arrayToMatch(final Object[] match) { | ||
417 | try { | ||
418 | return CubeSatWithKaAntenna.Match.newMatch((Spacecraft) match[POSITION_SPACECRAFT]); | ||
419 | } catch(ClassCastException e) { | ||
420 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
421 | return null; | ||
422 | } | ||
423 | } | ||
424 | |||
425 | @Override | ||
426 | protected CubeSatWithKaAntenna.Match arrayToMatchMutable(final Object[] match) { | ||
427 | try { | ||
428 | return CubeSatWithKaAntenna.Match.newMutableMatch((Spacecraft) match[POSITION_SPACECRAFT]); | ||
429 | } catch(ClassCastException e) { | ||
430 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
431 | return null; | ||
432 | } | ||
433 | } | ||
434 | |||
435 | /** | ||
436 | * @return the singleton instance of the query specification of this pattern | ||
437 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
438 | * | ||
439 | */ | ||
440 | public static IQuerySpecification<CubeSatWithKaAntenna.Matcher> querySpecification() { | ||
441 | return CubeSatWithKaAntenna.instance(); | ||
442 | } | ||
443 | } | ||
444 | |||
445 | private CubeSatWithKaAntenna() { | ||
446 | super(GeneratedPQuery.INSTANCE); | ||
447 | } | ||
448 | |||
449 | /** | ||
450 | * @return the singleton instance of the query specification | ||
451 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
452 | * | ||
453 | */ | ||
454 | public static CubeSatWithKaAntenna instance() { | ||
455 | try{ | ||
456 | return LazyHolder.INSTANCE; | ||
457 | } catch (ExceptionInInitializerError err) { | ||
458 | throw processInitializerError(err); | ||
459 | } | ||
460 | } | ||
461 | |||
462 | @Override | ||
463 | protected CubeSatWithKaAntenna.Matcher instantiate(final ViatraQueryEngine engine) { | ||
464 | return CubeSatWithKaAntenna.Matcher.on(engine); | ||
465 | } | ||
466 | |||
467 | @Override | ||
468 | public CubeSatWithKaAntenna.Matcher instantiate() { | ||
469 | return CubeSatWithKaAntenna.Matcher.create(); | ||
470 | } | ||
471 | |||
472 | @Override | ||
473 | public CubeSatWithKaAntenna.Match newEmptyMatch() { | ||
474 | return CubeSatWithKaAntenna.Match.newEmptyMatch(); | ||
475 | } | ||
476 | |||
477 | @Override | ||
478 | public CubeSatWithKaAntenna.Match newMatch(final Object... parameters) { | ||
479 | return CubeSatWithKaAntenna.Match.newMatch((satellite.Spacecraft) parameters[0]); | ||
480 | } | ||
481 | |||
482 | /** | ||
483 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna (visibility: PUBLIC, simpleName: CubeSatWithKaAntenna, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
484 | * <b>not</b> at the class load time of the outer class, | ||
485 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna (visibility: PUBLIC, simpleName: CubeSatWithKaAntenna, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
486 | * | ||
487 | * <p> This workaround is required e.g. to support recursion. | ||
488 | * | ||
489 | */ | ||
490 | private static class LazyHolder { | ||
491 | private static final CubeSatWithKaAntenna INSTANCE = new CubeSatWithKaAntenna(); | ||
492 | |||
493 | /** | ||
494 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
495 | * This initialization order is required to support indirect recursion. | ||
496 | * | ||
497 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
498 | * | ||
499 | */ | ||
500 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
501 | |||
502 | public static Object ensureInitialized() { | ||
503 | INSTANCE.ensureInitializedInternal(); | ||
504 | return null; | ||
505 | } | ||
506 | } | ||
507 | |||
508 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
509 | private static final CubeSatWithKaAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
510 | |||
511 | private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); | ||
512 | |||
513 | private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); | ||
514 | |||
515 | private GeneratedPQuery() { | ||
516 | super(PVisibility.PUBLIC); | ||
517 | } | ||
518 | |||
519 | @Override | ||
520 | public String getFullyQualifiedName() { | ||
521 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"; | ||
522 | } | ||
523 | |||
524 | @Override | ||
525 | public List<String> getParameterNames() { | ||
526 | return Arrays.asList("Spacecraft"); | ||
527 | } | ||
528 | |||
529 | @Override | ||
530 | public List<PParameter> getParameters() { | ||
531 | return parameters; | ||
532 | } | ||
533 | |||
534 | @Override | ||
535 | public Set<PBody> doGetContainedBodies() { | ||
536 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
537 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
538 | { | ||
539 | PBody body = new PBody(this); | ||
540 | PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); | ||
541 | PVariable var_Comm = body.getOrCreateVariableByName("Comm"); | ||
542 | new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
543 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
544 | new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) | ||
545 | )); | ||
546 | // CommunicatingElement.commSubsystem(Spacecraft, Comm) | ||
547 | new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
548 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
549 | new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); | ||
550 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
551 | new Equality(body, var__virtual_0_, var_Comm); | ||
552 | // KaCommSubsystem(Comm) | ||
553 | new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); | ||
554 | // neg find smallSat(Spacecraft) | ||
555 | new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SmallSat.instance().getInternalQueryRepresentation()); | ||
556 | bodies.add(body); | ||
557 | } | ||
558 | { | ||
559 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
560 | annotation.addAttribute("severity", "error"); | ||
561 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
562 | new ParameterReference("Spacecraft") | ||
563 | })); | ||
564 | annotation.addAttribute("message", "Only a Small Satellite can be configured with a Ka-band communication system."); | ||
565 | addAnnotation(annotation); | ||
566 | } | ||
567 | return bodies; | ||
568 | } | ||
569 | } | ||
570 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java deleted file mode 100644 index af53fc9f..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java +++ /dev/null | |||
@@ -1,566 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.Collection; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Optional; | ||
13 | import java.util.Set; | ||
14 | import java.util.function.Consumer; | ||
15 | import java.util.stream.Collectors; | ||
16 | import java.util.stream.Stream; | ||
17 | import org.apache.log4j.Logger; | ||
18 | import org.eclipse.emf.ecore.EClass; | ||
19 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
21 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
26 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
27 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
40 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
41 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
42 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
43 | import satellite.CommSubsystem; | ||
44 | |||
45 | /** | ||
46 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
47 | * | ||
48 | * <p>Original source: | ||
49 | * <code><pre> | ||
50 | * // Source and target communication systems must be compatible. | ||
51 | * | ||
52 | * {@literal @}Constraint(severity = "error", key = {SourceSubsystem}, | ||
53 | * message = "Two ends of a communication link must use the same band.") | ||
54 | * pattern incompatibleSourceAndTargetBand(SourceSubsystem : CommSubsystem) { | ||
55 | * CommSubsystem.target(SourceSubsystem, TargetSubsystem); | ||
56 | * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); | ||
57 | * } | ||
58 | * </pre></code> | ||
59 | * | ||
60 | * @see Matcher | ||
61 | * @see Match | ||
62 | * | ||
63 | */ | ||
64 | @SuppressWarnings("all") | ||
65 | public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuerySpecification<IncompatibleSourceAndTargetBand.Matcher> { | ||
66 | /** | ||
67 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand pattern, | ||
68 | * to be used in conjunction with {@link Matcher}. | ||
69 | * | ||
70 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
71 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
72 | * usable to represent a match of the pattern in the result of a query, | ||
73 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
74 | * | ||
75 | * @see Matcher | ||
76 | * | ||
77 | */ | ||
78 | public static abstract class Match extends BasePatternMatch { | ||
79 | private CommSubsystem fSourceSubsystem; | ||
80 | |||
81 | private static List<String> parameterNames = makeImmutableList("SourceSubsystem"); | ||
82 | |||
83 | private Match(final CommSubsystem pSourceSubsystem) { | ||
84 | this.fSourceSubsystem = pSourceSubsystem; | ||
85 | } | ||
86 | |||
87 | @Override | ||
88 | public Object get(final String parameterName) { | ||
89 | if ("SourceSubsystem".equals(parameterName)) return this.fSourceSubsystem; | ||
90 | return null; | ||
91 | } | ||
92 | |||
93 | public CommSubsystem getSourceSubsystem() { | ||
94 | return this.fSourceSubsystem; | ||
95 | } | ||
96 | |||
97 | @Override | ||
98 | public boolean set(final String parameterName, final Object newValue) { | ||
99 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
100 | if ("SourceSubsystem".equals(parameterName) ) { | ||
101 | this.fSourceSubsystem = (CommSubsystem) newValue; | ||
102 | return true; | ||
103 | } | ||
104 | return false; | ||
105 | } | ||
106 | |||
107 | public void setSourceSubsystem(final CommSubsystem pSourceSubsystem) { | ||
108 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
109 | this.fSourceSubsystem = pSourceSubsystem; | ||
110 | } | ||
111 | |||
112 | @Override | ||
113 | public String patternName() { | ||
114 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"; | ||
115 | } | ||
116 | |||
117 | @Override | ||
118 | public List<String> parameterNames() { | ||
119 | return IncompatibleSourceAndTargetBand.Match.parameterNames; | ||
120 | } | ||
121 | |||
122 | @Override | ||
123 | public Object[] toArray() { | ||
124 | return new Object[]{fSourceSubsystem}; | ||
125 | } | ||
126 | |||
127 | @Override | ||
128 | public IncompatibleSourceAndTargetBand.Match toImmutable() { | ||
129 | return isMutable() ? newMatch(fSourceSubsystem) : this; | ||
130 | } | ||
131 | |||
132 | @Override | ||
133 | public String prettyPrint() { | ||
134 | StringBuilder result = new StringBuilder(); | ||
135 | result.append("\"SourceSubsystem\"=" + prettyPrintValue(fSourceSubsystem)); | ||
136 | return result.toString(); | ||
137 | } | ||
138 | |||
139 | @Override | ||
140 | public int hashCode() { | ||
141 | return Objects.hash(fSourceSubsystem); | ||
142 | } | ||
143 | |||
144 | @Override | ||
145 | public boolean equals(final Object obj) { | ||
146 | if (this == obj) | ||
147 | return true; | ||
148 | if (obj == null) { | ||
149 | return false; | ||
150 | } | ||
151 | if ((obj instanceof IncompatibleSourceAndTargetBand.Match)) { | ||
152 | IncompatibleSourceAndTargetBand.Match other = (IncompatibleSourceAndTargetBand.Match) obj; | ||
153 | return Objects.equals(fSourceSubsystem, other.fSourceSubsystem); | ||
154 | } else { | ||
155 | // this should be infrequent | ||
156 | if (!(obj instanceof IPatternMatch)) { | ||
157 | return false; | ||
158 | } | ||
159 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
160 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
161 | } | ||
162 | } | ||
163 | |||
164 | @Override | ||
165 | public IncompatibleSourceAndTargetBand specification() { | ||
166 | return IncompatibleSourceAndTargetBand.instance(); | ||
167 | } | ||
168 | |||
169 | /** | ||
170 | * Returns an empty, mutable match. | ||
171 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
172 | * | ||
173 | * @return the empty match. | ||
174 | * | ||
175 | */ | ||
176 | public static IncompatibleSourceAndTargetBand.Match newEmptyMatch() { | ||
177 | return new Mutable(null); | ||
178 | } | ||
179 | |||
180 | /** | ||
181 | * Returns a mutable (partial) match. | ||
182 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
183 | * | ||
184 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
185 | * @return the new, mutable (partial) match object. | ||
186 | * | ||
187 | */ | ||
188 | public static IncompatibleSourceAndTargetBand.Match newMutableMatch(final CommSubsystem pSourceSubsystem) { | ||
189 | return new Mutable(pSourceSubsystem); | ||
190 | } | ||
191 | |||
192 | /** | ||
193 | * Returns a new (partial) match. | ||
194 | * This can be used e.g. to call the matcher with a partial match. | ||
195 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
196 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
197 | * @return the (partial) match object. | ||
198 | * | ||
199 | */ | ||
200 | public static IncompatibleSourceAndTargetBand.Match newMatch(final CommSubsystem pSourceSubsystem) { | ||
201 | return new Immutable(pSourceSubsystem); | ||
202 | } | ||
203 | |||
204 | private static final class Mutable extends IncompatibleSourceAndTargetBand.Match { | ||
205 | Mutable(final CommSubsystem pSourceSubsystem) { | ||
206 | super(pSourceSubsystem); | ||
207 | } | ||
208 | |||
209 | @Override | ||
210 | public boolean isMutable() { | ||
211 | return true; | ||
212 | } | ||
213 | } | ||
214 | |||
215 | private static final class Immutable extends IncompatibleSourceAndTargetBand.Match { | ||
216 | Immutable(final CommSubsystem pSourceSubsystem) { | ||
217 | super(pSourceSubsystem); | ||
218 | } | ||
219 | |||
220 | @Override | ||
221 | public boolean isMutable() { | ||
222 | return false; | ||
223 | } | ||
224 | } | ||
225 | } | ||
226 | |||
227 | /** | ||
228 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand pattern, | ||
229 | * providing pattern-specific query methods. | ||
230 | * | ||
231 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
232 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
233 | * | ||
234 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
235 | * | ||
236 | * <p>Original source: | ||
237 | * <code><pre> | ||
238 | * // Source and target communication systems must be compatible. | ||
239 | * | ||
240 | * {@literal @}Constraint(severity = "error", key = {SourceSubsystem}, | ||
241 | * message = "Two ends of a communication link must use the same band.") | ||
242 | * pattern incompatibleSourceAndTargetBand(SourceSubsystem : CommSubsystem) { | ||
243 | * CommSubsystem.target(SourceSubsystem, TargetSubsystem); | ||
244 | * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); | ||
245 | * } | ||
246 | * </pre></code> | ||
247 | * | ||
248 | * @see Match | ||
249 | * @see IncompatibleSourceAndTargetBand | ||
250 | * | ||
251 | */ | ||
252 | public static class Matcher extends BaseMatcher<IncompatibleSourceAndTargetBand.Match> { | ||
253 | /** | ||
254 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
255 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
256 | * | ||
257 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
258 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
259 | * | ||
260 | */ | ||
261 | public static IncompatibleSourceAndTargetBand.Matcher on(final ViatraQueryEngine engine) { | ||
262 | // check if matcher already exists | ||
263 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
264 | if (matcher == null) { | ||
265 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
266 | } | ||
267 | return matcher; | ||
268 | } | ||
269 | |||
270 | /** | ||
271 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
272 | * @return an initialized matcher | ||
273 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
274 | * | ||
275 | */ | ||
276 | public static IncompatibleSourceAndTargetBand.Matcher create() { | ||
277 | return new Matcher(); | ||
278 | } | ||
279 | |||
280 | private static final int POSITION_SOURCESUBSYSTEM = 0; | ||
281 | |||
282 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(IncompatibleSourceAndTargetBand.Matcher.class); | ||
283 | |||
284 | /** | ||
285 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
286 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
287 | * | ||
288 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
289 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
290 | * | ||
291 | */ | ||
292 | private Matcher() { | ||
293 | super(querySpecification()); | ||
294 | } | ||
295 | |||
296 | /** | ||
297 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
298 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
299 | * @return matches represented as a Match object. | ||
300 | * | ||
301 | */ | ||
302 | public Collection<IncompatibleSourceAndTargetBand.Match> getAllMatches(final CommSubsystem pSourceSubsystem) { | ||
303 | return rawStreamAllMatches(new Object[]{pSourceSubsystem}).collect(Collectors.toSet()); | ||
304 | } | ||
305 | |||
306 | /** | ||
307 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
308 | * </p> | ||
309 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
310 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
311 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
312 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
313 | * @return a stream of matches represented as a Match object. | ||
314 | * | ||
315 | */ | ||
316 | public Stream<IncompatibleSourceAndTargetBand.Match> streamAllMatches(final CommSubsystem pSourceSubsystem) { | ||
317 | return rawStreamAllMatches(new Object[]{pSourceSubsystem}); | ||
318 | } | ||
319 | |||
320 | /** | ||
321 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
322 | * Neither determinism nor randomness of selection is guaranteed. | ||
323 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
324 | * @return a match represented as a Match object, or null if no match is found. | ||
325 | * | ||
326 | */ | ||
327 | public Optional<IncompatibleSourceAndTargetBand.Match> getOneArbitraryMatch(final CommSubsystem pSourceSubsystem) { | ||
328 | return rawGetOneArbitraryMatch(new Object[]{pSourceSubsystem}); | ||
329 | } | ||
330 | |||
331 | /** | ||
332 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
333 | * under any possible substitution of the unspecified parameters (if any). | ||
334 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
335 | * @return true if the input is a valid (partial) match of the pattern. | ||
336 | * | ||
337 | */ | ||
338 | public boolean hasMatch(final CommSubsystem pSourceSubsystem) { | ||
339 | return rawHasMatch(new Object[]{pSourceSubsystem}); | ||
340 | } | ||
341 | |||
342 | /** | ||
343 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
344 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
345 | * @return the number of pattern matches found. | ||
346 | * | ||
347 | */ | ||
348 | public int countMatches(final CommSubsystem pSourceSubsystem) { | ||
349 | return rawCountMatches(new Object[]{pSourceSubsystem}); | ||
350 | } | ||
351 | |||
352 | /** | ||
353 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
354 | * Neither determinism nor randomness of selection is guaranteed. | ||
355 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
356 | * @param processor the action that will process the selected match. | ||
357 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
358 | * | ||
359 | */ | ||
360 | public boolean forOneArbitraryMatch(final CommSubsystem pSourceSubsystem, final Consumer<? super IncompatibleSourceAndTargetBand.Match> processor) { | ||
361 | return rawForOneArbitraryMatch(new Object[]{pSourceSubsystem}, processor); | ||
362 | } | ||
363 | |||
364 | /** | ||
365 | * Returns a new (partial) match. | ||
366 | * This can be used e.g. to call the matcher with a partial match. | ||
367 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
368 | * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound. | ||
369 | * @return the (partial) match object. | ||
370 | * | ||
371 | */ | ||
372 | public IncompatibleSourceAndTargetBand.Match newMatch(final CommSubsystem pSourceSubsystem) { | ||
373 | return IncompatibleSourceAndTargetBand.Match.newMatch(pSourceSubsystem); | ||
374 | } | ||
375 | |||
376 | /** | ||
377 | * Retrieve the set of values that occur in matches for SourceSubsystem. | ||
378 | * @return the Set of all values or empty set if there are no matches | ||
379 | * | ||
380 | */ | ||
381 | protected Stream<CommSubsystem> rawStreamAllValuesOfSourceSubsystem(final Object[] parameters) { | ||
382 | return rawStreamAllValues(POSITION_SOURCESUBSYSTEM, parameters).map(CommSubsystem.class::cast); | ||
383 | } | ||
384 | |||
385 | /** | ||
386 | * Retrieve the set of values that occur in matches for SourceSubsystem. | ||
387 | * @return the Set of all values or empty set if there are no matches | ||
388 | * | ||
389 | */ | ||
390 | public Set<CommSubsystem> getAllValuesOfSourceSubsystem() { | ||
391 | return rawStreamAllValuesOfSourceSubsystem(emptyArray()).collect(Collectors.toSet()); | ||
392 | } | ||
393 | |||
394 | /** | ||
395 | * Retrieve the set of values that occur in matches for SourceSubsystem. | ||
396 | * @return the Set of all values or empty set if there are no matches | ||
397 | * | ||
398 | */ | ||
399 | public Stream<CommSubsystem> streamAllValuesOfSourceSubsystem() { | ||
400 | return rawStreamAllValuesOfSourceSubsystem(emptyArray()); | ||
401 | } | ||
402 | |||
403 | @Override | ||
404 | protected IncompatibleSourceAndTargetBand.Match tupleToMatch(final Tuple t) { | ||
405 | try { | ||
406 | return IncompatibleSourceAndTargetBand.Match.newMatch((CommSubsystem) t.get(POSITION_SOURCESUBSYSTEM)); | ||
407 | } catch(ClassCastException e) { | ||
408 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
409 | return null; | ||
410 | } | ||
411 | } | ||
412 | |||
413 | @Override | ||
414 | protected IncompatibleSourceAndTargetBand.Match arrayToMatch(final Object[] match) { | ||
415 | try { | ||
416 | return IncompatibleSourceAndTargetBand.Match.newMatch((CommSubsystem) match[POSITION_SOURCESUBSYSTEM]); | ||
417 | } catch(ClassCastException e) { | ||
418 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
419 | return null; | ||
420 | } | ||
421 | } | ||
422 | |||
423 | @Override | ||
424 | protected IncompatibleSourceAndTargetBand.Match arrayToMatchMutable(final Object[] match) { | ||
425 | try { | ||
426 | return IncompatibleSourceAndTargetBand.Match.newMutableMatch((CommSubsystem) match[POSITION_SOURCESUBSYSTEM]); | ||
427 | } catch(ClassCastException e) { | ||
428 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
429 | return null; | ||
430 | } | ||
431 | } | ||
432 | |||
433 | /** | ||
434 | * @return the singleton instance of the query specification of this pattern | ||
435 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
436 | * | ||
437 | */ | ||
438 | public static IQuerySpecification<IncompatibleSourceAndTargetBand.Matcher> querySpecification() { | ||
439 | return IncompatibleSourceAndTargetBand.instance(); | ||
440 | } | ||
441 | } | ||
442 | |||
443 | private IncompatibleSourceAndTargetBand() { | ||
444 | super(GeneratedPQuery.INSTANCE); | ||
445 | } | ||
446 | |||
447 | /** | ||
448 | * @return the singleton instance of the query specification | ||
449 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
450 | * | ||
451 | */ | ||
452 | public static IncompatibleSourceAndTargetBand instance() { | ||
453 | try{ | ||
454 | return LazyHolder.INSTANCE; | ||
455 | } catch (ExceptionInInitializerError err) { | ||
456 | throw processInitializerError(err); | ||
457 | } | ||
458 | } | ||
459 | |||
460 | @Override | ||
461 | protected IncompatibleSourceAndTargetBand.Matcher instantiate(final ViatraQueryEngine engine) { | ||
462 | return IncompatibleSourceAndTargetBand.Matcher.on(engine); | ||
463 | } | ||
464 | |||
465 | @Override | ||
466 | public IncompatibleSourceAndTargetBand.Matcher instantiate() { | ||
467 | return IncompatibleSourceAndTargetBand.Matcher.create(); | ||
468 | } | ||
469 | |||
470 | @Override | ||
471 | public IncompatibleSourceAndTargetBand.Match newEmptyMatch() { | ||
472 | return IncompatibleSourceAndTargetBand.Match.newEmptyMatch(); | ||
473 | } | ||
474 | |||
475 | @Override | ||
476 | public IncompatibleSourceAndTargetBand.Match newMatch(final Object... parameters) { | ||
477 | return IncompatibleSourceAndTargetBand.Match.newMatch((satellite.CommSubsystem) parameters[0]); | ||
478 | } | ||
479 | |||
480 | /** | ||
481 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand (visibility: PUBLIC, simpleName: IncompatibleSourceAndTargetBand, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
482 | * <b>not</b> at the class load time of the outer class, | ||
483 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand (visibility: PUBLIC, simpleName: IncompatibleSourceAndTargetBand, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
484 | * | ||
485 | * <p> This workaround is required e.g. to support recursion. | ||
486 | * | ||
487 | */ | ||
488 | private static class LazyHolder { | ||
489 | private static final IncompatibleSourceAndTargetBand INSTANCE = new IncompatibleSourceAndTargetBand(); | ||
490 | |||
491 | /** | ||
492 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
493 | * This initialization order is required to support indirect recursion. | ||
494 | * | ||
495 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
496 | * | ||
497 | */ | ||
498 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
499 | |||
500 | public static Object ensureInitialized() { | ||
501 | INSTANCE.ensureInitializedInternal(); | ||
502 | return null; | ||
503 | } | ||
504 | } | ||
505 | |||
506 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
507 | private static final IncompatibleSourceAndTargetBand.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
508 | |||
509 | private final PParameter parameter_SourceSubsystem = new PParameter("SourceSubsystem", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); | ||
510 | |||
511 | private final List<PParameter> parameters = Arrays.asList(parameter_SourceSubsystem); | ||
512 | |||
513 | private GeneratedPQuery() { | ||
514 | super(PVisibility.PUBLIC); | ||
515 | } | ||
516 | |||
517 | @Override | ||
518 | public String getFullyQualifiedName() { | ||
519 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"; | ||
520 | } | ||
521 | |||
522 | @Override | ||
523 | public List<String> getParameterNames() { | ||
524 | return Arrays.asList("SourceSubsystem"); | ||
525 | } | ||
526 | |||
527 | @Override | ||
528 | public List<PParameter> getParameters() { | ||
529 | return parameters; | ||
530 | } | ||
531 | |||
532 | @Override | ||
533 | public Set<PBody> doGetContainedBodies() { | ||
534 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
535 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
536 | { | ||
537 | PBody body = new PBody(this); | ||
538 | PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem"); | ||
539 | PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem"); | ||
540 | new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
541 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
542 | new ExportedParameter(body, var_SourceSubsystem, parameter_SourceSubsystem) | ||
543 | )); | ||
544 | // CommSubsystem.target(SourceSubsystem, TargetSubsystem) | ||
545 | new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
546 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
547 | new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target"))); | ||
548 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
549 | new Equality(body, var__virtual_0_, var_TargetSubsystem); | ||
550 | // neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem) | ||
551 | new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceSubsystem, var_TargetSubsystem), MatchingCommSubsystem.instance().getInternalQueryRepresentation()); | ||
552 | bodies.add(body); | ||
553 | } | ||
554 | { | ||
555 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
556 | annotation.addAttribute("severity", "error"); | ||
557 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
558 | new ParameterReference("SourceSubsystem") | ||
559 | })); | ||
560 | annotation.addAttribute("message", "Two ends of a communication link must use the same band."); | ||
561 | addAnnotation(annotation); | ||
562 | } | ||
563 | return bodies; | ||
564 | } | ||
565 | } | ||
566 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java deleted file mode 100644 index 45952f33..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java +++ /dev/null | |||
@@ -1,575 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.Collection; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Optional; | ||
13 | import java.util.Set; | ||
14 | import java.util.function.Consumer; | ||
15 | import java.util.stream.Collectors; | ||
16 | import java.util.stream.Stream; | ||
17 | import org.apache.log4j.Logger; | ||
18 | import org.eclipse.emf.ecore.EClass; | ||
19 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
21 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
26 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
27 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
40 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
41 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
42 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
43 | import satellite.Spacecraft; | ||
44 | |||
45 | /** | ||
46 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
47 | * | ||
48 | * <p>Original source: | ||
49 | * <code><pre> | ||
50 | * // All spacecraft must have some communication path to the ground station | ||
51 | * | ||
52 | * {@literal @}Constraint(severity = "error", key = {Spacecraft}, | ||
53 | * message = "Spacecraft has no communication path to the ground station.") | ||
54 | * pattern noLinkToGroundStation(Spacecraft : Spacecraft) { | ||
55 | * ConstellationMission.groundStationNetwork(Mission, GroundStation); | ||
56 | * ConstellationMission.spacecraft(Mission, Spacecraft); | ||
57 | * neg find indirectCommunicationLink(Spacecraft, GroundStation); | ||
58 | * } | ||
59 | * </pre></code> | ||
60 | * | ||
61 | * @see Matcher | ||
62 | * @see Match | ||
63 | * | ||
64 | */ | ||
65 | @SuppressWarnings("all") | ||
66 | public final class NoLinkToGroundStation extends BaseGeneratedEMFQuerySpecification<NoLinkToGroundStation.Matcher> { | ||
67 | /** | ||
68 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation pattern, | ||
69 | * to be used in conjunction with {@link Matcher}. | ||
70 | * | ||
71 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
72 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
73 | * usable to represent a match of the pattern in the result of a query, | ||
74 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
75 | * | ||
76 | * @see Matcher | ||
77 | * | ||
78 | */ | ||
79 | public static abstract class Match extends BasePatternMatch { | ||
80 | private Spacecraft fSpacecraft; | ||
81 | |||
82 | private static List<String> parameterNames = makeImmutableList("Spacecraft"); | ||
83 | |||
84 | private Match(final Spacecraft pSpacecraft) { | ||
85 | this.fSpacecraft = pSpacecraft; | ||
86 | } | ||
87 | |||
88 | @Override | ||
89 | public Object get(final String parameterName) { | ||
90 | if ("Spacecraft".equals(parameterName)) return this.fSpacecraft; | ||
91 | return null; | ||
92 | } | ||
93 | |||
94 | public Spacecraft getSpacecraft() { | ||
95 | return this.fSpacecraft; | ||
96 | } | ||
97 | |||
98 | @Override | ||
99 | public boolean set(final String parameterName, final Object newValue) { | ||
100 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
101 | if ("Spacecraft".equals(parameterName) ) { | ||
102 | this.fSpacecraft = (Spacecraft) newValue; | ||
103 | return true; | ||
104 | } | ||
105 | return false; | ||
106 | } | ||
107 | |||
108 | public void setSpacecraft(final Spacecraft pSpacecraft) { | ||
109 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
110 | this.fSpacecraft = pSpacecraft; | ||
111 | } | ||
112 | |||
113 | @Override | ||
114 | public String patternName() { | ||
115 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"; | ||
116 | } | ||
117 | |||
118 | @Override | ||
119 | public List<String> parameterNames() { | ||
120 | return NoLinkToGroundStation.Match.parameterNames; | ||
121 | } | ||
122 | |||
123 | @Override | ||
124 | public Object[] toArray() { | ||
125 | return new Object[]{fSpacecraft}; | ||
126 | } | ||
127 | |||
128 | @Override | ||
129 | public NoLinkToGroundStation.Match toImmutable() { | ||
130 | return isMutable() ? newMatch(fSpacecraft) : this; | ||
131 | } | ||
132 | |||
133 | @Override | ||
134 | public String prettyPrint() { | ||
135 | StringBuilder result = new StringBuilder(); | ||
136 | result.append("\"Spacecraft\"=" + prettyPrintValue(fSpacecraft)); | ||
137 | return result.toString(); | ||
138 | } | ||
139 | |||
140 | @Override | ||
141 | public int hashCode() { | ||
142 | return Objects.hash(fSpacecraft); | ||
143 | } | ||
144 | |||
145 | @Override | ||
146 | public boolean equals(final Object obj) { | ||
147 | if (this == obj) | ||
148 | return true; | ||
149 | if (obj == null) { | ||
150 | return false; | ||
151 | } | ||
152 | if ((obj instanceof NoLinkToGroundStation.Match)) { | ||
153 | NoLinkToGroundStation.Match other = (NoLinkToGroundStation.Match) obj; | ||
154 | return Objects.equals(fSpacecraft, other.fSpacecraft); | ||
155 | } else { | ||
156 | // this should be infrequent | ||
157 | if (!(obj instanceof IPatternMatch)) { | ||
158 | return false; | ||
159 | } | ||
160 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
161 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
162 | } | ||
163 | } | ||
164 | |||
165 | @Override | ||
166 | public NoLinkToGroundStation specification() { | ||
167 | return NoLinkToGroundStation.instance(); | ||
168 | } | ||
169 | |||
170 | /** | ||
171 | * Returns an empty, mutable match. | ||
172 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
173 | * | ||
174 | * @return the empty match. | ||
175 | * | ||
176 | */ | ||
177 | public static NoLinkToGroundStation.Match newEmptyMatch() { | ||
178 | return new Mutable(null); | ||
179 | } | ||
180 | |||
181 | /** | ||
182 | * Returns a mutable (partial) match. | ||
183 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
184 | * | ||
185 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
186 | * @return the new, mutable (partial) match object. | ||
187 | * | ||
188 | */ | ||
189 | public static NoLinkToGroundStation.Match newMutableMatch(final Spacecraft pSpacecraft) { | ||
190 | return new Mutable(pSpacecraft); | ||
191 | } | ||
192 | |||
193 | /** | ||
194 | * Returns a new (partial) match. | ||
195 | * This can be used e.g. to call the matcher with a partial match. | ||
196 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
197 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
198 | * @return the (partial) match object. | ||
199 | * | ||
200 | */ | ||
201 | public static NoLinkToGroundStation.Match newMatch(final Spacecraft pSpacecraft) { | ||
202 | return new Immutable(pSpacecraft); | ||
203 | } | ||
204 | |||
205 | private static final class Mutable extends NoLinkToGroundStation.Match { | ||
206 | Mutable(final Spacecraft pSpacecraft) { | ||
207 | super(pSpacecraft); | ||
208 | } | ||
209 | |||
210 | @Override | ||
211 | public boolean isMutable() { | ||
212 | return true; | ||
213 | } | ||
214 | } | ||
215 | |||
216 | private static final class Immutable extends NoLinkToGroundStation.Match { | ||
217 | Immutable(final Spacecraft pSpacecraft) { | ||
218 | super(pSpacecraft); | ||
219 | } | ||
220 | |||
221 | @Override | ||
222 | public boolean isMutable() { | ||
223 | return false; | ||
224 | } | ||
225 | } | ||
226 | } | ||
227 | |||
228 | /** | ||
229 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation pattern, | ||
230 | * providing pattern-specific query methods. | ||
231 | * | ||
232 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
233 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
234 | * | ||
235 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
236 | * | ||
237 | * <p>Original source: | ||
238 | * <code><pre> | ||
239 | * // All spacecraft must have some communication path to the ground station | ||
240 | * | ||
241 | * {@literal @}Constraint(severity = "error", key = {Spacecraft}, | ||
242 | * message = "Spacecraft has no communication path to the ground station.") | ||
243 | * pattern noLinkToGroundStation(Spacecraft : Spacecraft) { | ||
244 | * ConstellationMission.groundStationNetwork(Mission, GroundStation); | ||
245 | * ConstellationMission.spacecraft(Mission, Spacecraft); | ||
246 | * neg find indirectCommunicationLink(Spacecraft, GroundStation); | ||
247 | * } | ||
248 | * </pre></code> | ||
249 | * | ||
250 | * @see Match | ||
251 | * @see NoLinkToGroundStation | ||
252 | * | ||
253 | */ | ||
254 | public static class Matcher extends BaseMatcher<NoLinkToGroundStation.Match> { | ||
255 | /** | ||
256 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
257 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
258 | * | ||
259 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
260 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
261 | * | ||
262 | */ | ||
263 | public static NoLinkToGroundStation.Matcher on(final ViatraQueryEngine engine) { | ||
264 | // check if matcher already exists | ||
265 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
266 | if (matcher == null) { | ||
267 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
268 | } | ||
269 | return matcher; | ||
270 | } | ||
271 | |||
272 | /** | ||
273 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
274 | * @return an initialized matcher | ||
275 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
276 | * | ||
277 | */ | ||
278 | public static NoLinkToGroundStation.Matcher create() { | ||
279 | return new Matcher(); | ||
280 | } | ||
281 | |||
282 | private static final int POSITION_SPACECRAFT = 0; | ||
283 | |||
284 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(NoLinkToGroundStation.Matcher.class); | ||
285 | |||
286 | /** | ||
287 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
288 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
289 | * | ||
290 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
291 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
292 | * | ||
293 | */ | ||
294 | private Matcher() { | ||
295 | super(querySpecification()); | ||
296 | } | ||
297 | |||
298 | /** | ||
299 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
300 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
301 | * @return matches represented as a Match object. | ||
302 | * | ||
303 | */ | ||
304 | public Collection<NoLinkToGroundStation.Match> getAllMatches(final Spacecraft pSpacecraft) { | ||
305 | return rawStreamAllMatches(new Object[]{pSpacecraft}).collect(Collectors.toSet()); | ||
306 | } | ||
307 | |||
308 | /** | ||
309 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
310 | * </p> | ||
311 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
312 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
313 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
314 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
315 | * @return a stream of matches represented as a Match object. | ||
316 | * | ||
317 | */ | ||
318 | public Stream<NoLinkToGroundStation.Match> streamAllMatches(final Spacecraft pSpacecraft) { | ||
319 | return rawStreamAllMatches(new Object[]{pSpacecraft}); | ||
320 | } | ||
321 | |||
322 | /** | ||
323 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
324 | * Neither determinism nor randomness of selection is guaranteed. | ||
325 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
326 | * @return a match represented as a Match object, or null if no match is found. | ||
327 | * | ||
328 | */ | ||
329 | public Optional<NoLinkToGroundStation.Match> getOneArbitraryMatch(final Spacecraft pSpacecraft) { | ||
330 | return rawGetOneArbitraryMatch(new Object[]{pSpacecraft}); | ||
331 | } | ||
332 | |||
333 | /** | ||
334 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
335 | * under any possible substitution of the unspecified parameters (if any). | ||
336 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
337 | * @return true if the input is a valid (partial) match of the pattern. | ||
338 | * | ||
339 | */ | ||
340 | public boolean hasMatch(final Spacecraft pSpacecraft) { | ||
341 | return rawHasMatch(new Object[]{pSpacecraft}); | ||
342 | } | ||
343 | |||
344 | /** | ||
345 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
346 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
347 | * @return the number of pattern matches found. | ||
348 | * | ||
349 | */ | ||
350 | public int countMatches(final Spacecraft pSpacecraft) { | ||
351 | return rawCountMatches(new Object[]{pSpacecraft}); | ||
352 | } | ||
353 | |||
354 | /** | ||
355 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
356 | * Neither determinism nor randomness of selection is guaranteed. | ||
357 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
358 | * @param processor the action that will process the selected match. | ||
359 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
360 | * | ||
361 | */ | ||
362 | public boolean forOneArbitraryMatch(final Spacecraft pSpacecraft, final Consumer<? super NoLinkToGroundStation.Match> processor) { | ||
363 | return rawForOneArbitraryMatch(new Object[]{pSpacecraft}, processor); | ||
364 | } | ||
365 | |||
366 | /** | ||
367 | * Returns a new (partial) match. | ||
368 | * This can be used e.g. to call the matcher with a partial match. | ||
369 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
370 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
371 | * @return the (partial) match object. | ||
372 | * | ||
373 | */ | ||
374 | public NoLinkToGroundStation.Match newMatch(final Spacecraft pSpacecraft) { | ||
375 | return NoLinkToGroundStation.Match.newMatch(pSpacecraft); | ||
376 | } | ||
377 | |||
378 | /** | ||
379 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
380 | * @return the Set of all values or empty set if there are no matches | ||
381 | * | ||
382 | */ | ||
383 | protected Stream<Spacecraft> rawStreamAllValuesOfSpacecraft(final Object[] parameters) { | ||
384 | return rawStreamAllValues(POSITION_SPACECRAFT, parameters).map(Spacecraft.class::cast); | ||
385 | } | ||
386 | |||
387 | /** | ||
388 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
389 | * @return the Set of all values or empty set if there are no matches | ||
390 | * | ||
391 | */ | ||
392 | public Set<Spacecraft> getAllValuesOfSpacecraft() { | ||
393 | return rawStreamAllValuesOfSpacecraft(emptyArray()).collect(Collectors.toSet()); | ||
394 | } | ||
395 | |||
396 | /** | ||
397 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
398 | * @return the Set of all values or empty set if there are no matches | ||
399 | * | ||
400 | */ | ||
401 | public Stream<Spacecraft> streamAllValuesOfSpacecraft() { | ||
402 | return rawStreamAllValuesOfSpacecraft(emptyArray()); | ||
403 | } | ||
404 | |||
405 | @Override | ||
406 | protected NoLinkToGroundStation.Match tupleToMatch(final Tuple t) { | ||
407 | try { | ||
408 | return NoLinkToGroundStation.Match.newMatch((Spacecraft) t.get(POSITION_SPACECRAFT)); | ||
409 | } catch(ClassCastException e) { | ||
410 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
411 | return null; | ||
412 | } | ||
413 | } | ||
414 | |||
415 | @Override | ||
416 | protected NoLinkToGroundStation.Match arrayToMatch(final Object[] match) { | ||
417 | try { | ||
418 | return NoLinkToGroundStation.Match.newMatch((Spacecraft) match[POSITION_SPACECRAFT]); | ||
419 | } catch(ClassCastException e) { | ||
420 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
421 | return null; | ||
422 | } | ||
423 | } | ||
424 | |||
425 | @Override | ||
426 | protected NoLinkToGroundStation.Match arrayToMatchMutable(final Object[] match) { | ||
427 | try { | ||
428 | return NoLinkToGroundStation.Match.newMutableMatch((Spacecraft) match[POSITION_SPACECRAFT]); | ||
429 | } catch(ClassCastException e) { | ||
430 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
431 | return null; | ||
432 | } | ||
433 | } | ||
434 | |||
435 | /** | ||
436 | * @return the singleton instance of the query specification of this pattern | ||
437 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
438 | * | ||
439 | */ | ||
440 | public static IQuerySpecification<NoLinkToGroundStation.Matcher> querySpecification() { | ||
441 | return NoLinkToGroundStation.instance(); | ||
442 | } | ||
443 | } | ||
444 | |||
445 | private NoLinkToGroundStation() { | ||
446 | super(GeneratedPQuery.INSTANCE); | ||
447 | } | ||
448 | |||
449 | /** | ||
450 | * @return the singleton instance of the query specification | ||
451 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
452 | * | ||
453 | */ | ||
454 | public static NoLinkToGroundStation instance() { | ||
455 | try{ | ||
456 | return LazyHolder.INSTANCE; | ||
457 | } catch (ExceptionInInitializerError err) { | ||
458 | throw processInitializerError(err); | ||
459 | } | ||
460 | } | ||
461 | |||
462 | @Override | ||
463 | protected NoLinkToGroundStation.Matcher instantiate(final ViatraQueryEngine engine) { | ||
464 | return NoLinkToGroundStation.Matcher.on(engine); | ||
465 | } | ||
466 | |||
467 | @Override | ||
468 | public NoLinkToGroundStation.Matcher instantiate() { | ||
469 | return NoLinkToGroundStation.Matcher.create(); | ||
470 | } | ||
471 | |||
472 | @Override | ||
473 | public NoLinkToGroundStation.Match newEmptyMatch() { | ||
474 | return NoLinkToGroundStation.Match.newEmptyMatch(); | ||
475 | } | ||
476 | |||
477 | @Override | ||
478 | public NoLinkToGroundStation.Match newMatch(final Object... parameters) { | ||
479 | return NoLinkToGroundStation.Match.newMatch((satellite.Spacecraft) parameters[0]); | ||
480 | } | ||
481 | |||
482 | /** | ||
483 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation (visibility: PUBLIC, simpleName: NoLinkToGroundStation, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
484 | * <b>not</b> at the class load time of the outer class, | ||
485 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation (visibility: PUBLIC, simpleName: NoLinkToGroundStation, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
486 | * | ||
487 | * <p> This workaround is required e.g. to support recursion. | ||
488 | * | ||
489 | */ | ||
490 | private static class LazyHolder { | ||
491 | private static final NoLinkToGroundStation INSTANCE = new NoLinkToGroundStation(); | ||
492 | |||
493 | /** | ||
494 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
495 | * This initialization order is required to support indirect recursion. | ||
496 | * | ||
497 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
498 | * | ||
499 | */ | ||
500 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
501 | |||
502 | public static Object ensureInitialized() { | ||
503 | INSTANCE.ensureInitializedInternal(); | ||
504 | return null; | ||
505 | } | ||
506 | } | ||
507 | |||
508 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
509 | private static final NoLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
510 | |||
511 | private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); | ||
512 | |||
513 | private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); | ||
514 | |||
515 | private GeneratedPQuery() { | ||
516 | super(PVisibility.PUBLIC); | ||
517 | } | ||
518 | |||
519 | @Override | ||
520 | public String getFullyQualifiedName() { | ||
521 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"; | ||
522 | } | ||
523 | |||
524 | @Override | ||
525 | public List<String> getParameterNames() { | ||
526 | return Arrays.asList("Spacecraft"); | ||
527 | } | ||
528 | |||
529 | @Override | ||
530 | public List<PParameter> getParameters() { | ||
531 | return parameters; | ||
532 | } | ||
533 | |||
534 | @Override | ||
535 | public Set<PBody> doGetContainedBodies() { | ||
536 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
537 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
538 | { | ||
539 | PBody body = new PBody(this); | ||
540 | PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); | ||
541 | PVariable var_Mission = body.getOrCreateVariableByName("Mission"); | ||
542 | PVariable var_GroundStation = body.getOrCreateVariableByName("GroundStation"); | ||
543 | new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
544 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
545 | new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) | ||
546 | )); | ||
547 | // ConstellationMission.groundStationNetwork(Mission, GroundStation) | ||
548 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); | ||
549 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
550 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "groundStationNetwork"))); | ||
551 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); | ||
552 | new Equality(body, var__virtual_0_, var_GroundStation); | ||
553 | // ConstellationMission.spacecraft(Mission, Spacecraft) | ||
554 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); | ||
555 | PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); | ||
556 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft"))); | ||
557 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
558 | new Equality(body, var__virtual_1_, var_Spacecraft); | ||
559 | // neg find indirectCommunicationLink(Spacecraft, GroundStation) | ||
560 | new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_GroundStation), IndirectCommunicationLink.instance().getInternalQueryRepresentation()); | ||
561 | bodies.add(body); | ||
562 | } | ||
563 | { | ||
564 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
565 | annotation.addAttribute("severity", "error"); | ||
566 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
567 | new ParameterReference("Spacecraft") | ||
568 | })); | ||
569 | annotation.addAttribute("message", "Spacecraft has no communication path to the ground station."); | ||
570 | addAnnotation(annotation); | ||
571 | } | ||
572 | return bodies; | ||
573 | } | ||
574 | } | ||
575 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java deleted file mode 100644 index 3366de46..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java +++ /dev/null | |||
@@ -1,571 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.Collection; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Optional; | ||
13 | import java.util.Set; | ||
14 | import java.util.function.Consumer; | ||
15 | import java.util.stream.Collectors; | ||
16 | import java.util.stream.Stream; | ||
17 | import org.apache.log4j.Logger; | ||
18 | import org.eclipse.emf.ecore.EClass; | ||
19 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
21 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
26 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
27 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
40 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
41 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
42 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
43 | import satellite.Spacecraft; | ||
44 | |||
45 | /** | ||
46 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
47 | * | ||
48 | * <p>Original source: | ||
49 | * <code><pre> | ||
50 | * {@literal @}Constraint(severity = "error", key = {Spacecraft}, | ||
51 | * message = "Spacecraft has no potential communication path to the ground station.") | ||
52 | * pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) { | ||
53 | * ConstellationMission.groundStationNetwork(Mission, GroundStation); | ||
54 | * ConstellationMission.spacecraft(Mission, Spacecraft); | ||
55 | * neg find indirectLinkAllowed(Spacecraft, GroundStation); | ||
56 | * } | ||
57 | * </pre></code> | ||
58 | * | ||
59 | * @see Matcher | ||
60 | * @see Match | ||
61 | * | ||
62 | */ | ||
63 | @SuppressWarnings("all") | ||
64 | public final class NoPotentialLinkToGroundStation extends BaseGeneratedEMFQuerySpecification<NoPotentialLinkToGroundStation.Matcher> { | ||
65 | /** | ||
66 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation pattern, | ||
67 | * to be used in conjunction with {@link Matcher}. | ||
68 | * | ||
69 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
70 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
71 | * usable to represent a match of the pattern in the result of a query, | ||
72 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
73 | * | ||
74 | * @see Matcher | ||
75 | * | ||
76 | */ | ||
77 | public static abstract class Match extends BasePatternMatch { | ||
78 | private Spacecraft fSpacecraft; | ||
79 | |||
80 | private static List<String> parameterNames = makeImmutableList("Spacecraft"); | ||
81 | |||
82 | private Match(final Spacecraft pSpacecraft) { | ||
83 | this.fSpacecraft = pSpacecraft; | ||
84 | } | ||
85 | |||
86 | @Override | ||
87 | public Object get(final String parameterName) { | ||
88 | if ("Spacecraft".equals(parameterName)) return this.fSpacecraft; | ||
89 | return null; | ||
90 | } | ||
91 | |||
92 | public Spacecraft getSpacecraft() { | ||
93 | return this.fSpacecraft; | ||
94 | } | ||
95 | |||
96 | @Override | ||
97 | public boolean set(final String parameterName, final Object newValue) { | ||
98 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
99 | if ("Spacecraft".equals(parameterName) ) { | ||
100 | this.fSpacecraft = (Spacecraft) newValue; | ||
101 | return true; | ||
102 | } | ||
103 | return false; | ||
104 | } | ||
105 | |||
106 | public void setSpacecraft(final Spacecraft pSpacecraft) { | ||
107 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
108 | this.fSpacecraft = pSpacecraft; | ||
109 | } | ||
110 | |||
111 | @Override | ||
112 | public String patternName() { | ||
113 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"; | ||
114 | } | ||
115 | |||
116 | @Override | ||
117 | public List<String> parameterNames() { | ||
118 | return NoPotentialLinkToGroundStation.Match.parameterNames; | ||
119 | } | ||
120 | |||
121 | @Override | ||
122 | public Object[] toArray() { | ||
123 | return new Object[]{fSpacecraft}; | ||
124 | } | ||
125 | |||
126 | @Override | ||
127 | public NoPotentialLinkToGroundStation.Match toImmutable() { | ||
128 | return isMutable() ? newMatch(fSpacecraft) : this; | ||
129 | } | ||
130 | |||
131 | @Override | ||
132 | public String prettyPrint() { | ||
133 | StringBuilder result = new StringBuilder(); | ||
134 | result.append("\"Spacecraft\"=" + prettyPrintValue(fSpacecraft)); | ||
135 | return result.toString(); | ||
136 | } | ||
137 | |||
138 | @Override | ||
139 | public int hashCode() { | ||
140 | return Objects.hash(fSpacecraft); | ||
141 | } | ||
142 | |||
143 | @Override | ||
144 | public boolean equals(final Object obj) { | ||
145 | if (this == obj) | ||
146 | return true; | ||
147 | if (obj == null) { | ||
148 | return false; | ||
149 | } | ||
150 | if ((obj instanceof NoPotentialLinkToGroundStation.Match)) { | ||
151 | NoPotentialLinkToGroundStation.Match other = (NoPotentialLinkToGroundStation.Match) obj; | ||
152 | return Objects.equals(fSpacecraft, other.fSpacecraft); | ||
153 | } else { | ||
154 | // this should be infrequent | ||
155 | if (!(obj instanceof IPatternMatch)) { | ||
156 | return false; | ||
157 | } | ||
158 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
159 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
160 | } | ||
161 | } | ||
162 | |||
163 | @Override | ||
164 | public NoPotentialLinkToGroundStation specification() { | ||
165 | return NoPotentialLinkToGroundStation.instance(); | ||
166 | } | ||
167 | |||
168 | /** | ||
169 | * Returns an empty, mutable match. | ||
170 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
171 | * | ||
172 | * @return the empty match. | ||
173 | * | ||
174 | */ | ||
175 | public static NoPotentialLinkToGroundStation.Match newEmptyMatch() { | ||
176 | return new Mutable(null); | ||
177 | } | ||
178 | |||
179 | /** | ||
180 | * Returns a mutable (partial) match. | ||
181 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
182 | * | ||
183 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
184 | * @return the new, mutable (partial) match object. | ||
185 | * | ||
186 | */ | ||
187 | public static NoPotentialLinkToGroundStation.Match newMutableMatch(final Spacecraft pSpacecraft) { | ||
188 | return new Mutable(pSpacecraft); | ||
189 | } | ||
190 | |||
191 | /** | ||
192 | * Returns a new (partial) match. | ||
193 | * This can be used e.g. to call the matcher with a partial match. | ||
194 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
195 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
196 | * @return the (partial) match object. | ||
197 | * | ||
198 | */ | ||
199 | public static NoPotentialLinkToGroundStation.Match newMatch(final Spacecraft pSpacecraft) { | ||
200 | return new Immutable(pSpacecraft); | ||
201 | } | ||
202 | |||
203 | private static final class Mutable extends NoPotentialLinkToGroundStation.Match { | ||
204 | Mutable(final Spacecraft pSpacecraft) { | ||
205 | super(pSpacecraft); | ||
206 | } | ||
207 | |||
208 | @Override | ||
209 | public boolean isMutable() { | ||
210 | return true; | ||
211 | } | ||
212 | } | ||
213 | |||
214 | private static final class Immutable extends NoPotentialLinkToGroundStation.Match { | ||
215 | Immutable(final Spacecraft pSpacecraft) { | ||
216 | super(pSpacecraft); | ||
217 | } | ||
218 | |||
219 | @Override | ||
220 | public boolean isMutable() { | ||
221 | return false; | ||
222 | } | ||
223 | } | ||
224 | } | ||
225 | |||
226 | /** | ||
227 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation pattern, | ||
228 | * providing pattern-specific query methods. | ||
229 | * | ||
230 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
231 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
232 | * | ||
233 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
234 | * | ||
235 | * <p>Original source: | ||
236 | * <code><pre> | ||
237 | * {@literal @}Constraint(severity = "error", key = {Spacecraft}, | ||
238 | * message = "Spacecraft has no potential communication path to the ground station.") | ||
239 | * pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) { | ||
240 | * ConstellationMission.groundStationNetwork(Mission, GroundStation); | ||
241 | * ConstellationMission.spacecraft(Mission, Spacecraft); | ||
242 | * neg find indirectLinkAllowed(Spacecraft, GroundStation); | ||
243 | * } | ||
244 | * </pre></code> | ||
245 | * | ||
246 | * @see Match | ||
247 | * @see NoPotentialLinkToGroundStation | ||
248 | * | ||
249 | */ | ||
250 | public static class Matcher extends BaseMatcher<NoPotentialLinkToGroundStation.Match> { | ||
251 | /** | ||
252 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
253 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
254 | * | ||
255 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
256 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
257 | * | ||
258 | */ | ||
259 | public static NoPotentialLinkToGroundStation.Matcher on(final ViatraQueryEngine engine) { | ||
260 | // check if matcher already exists | ||
261 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
262 | if (matcher == null) { | ||
263 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
264 | } | ||
265 | return matcher; | ||
266 | } | ||
267 | |||
268 | /** | ||
269 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
270 | * @return an initialized matcher | ||
271 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
272 | * | ||
273 | */ | ||
274 | public static NoPotentialLinkToGroundStation.Matcher create() { | ||
275 | return new Matcher(); | ||
276 | } | ||
277 | |||
278 | private static final int POSITION_SPACECRAFT = 0; | ||
279 | |||
280 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(NoPotentialLinkToGroundStation.Matcher.class); | ||
281 | |||
282 | /** | ||
283 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
284 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
285 | * | ||
286 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
287 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
288 | * | ||
289 | */ | ||
290 | private Matcher() { | ||
291 | super(querySpecification()); | ||
292 | } | ||
293 | |||
294 | /** | ||
295 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
296 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
297 | * @return matches represented as a Match object. | ||
298 | * | ||
299 | */ | ||
300 | public Collection<NoPotentialLinkToGroundStation.Match> getAllMatches(final Spacecraft pSpacecraft) { | ||
301 | return rawStreamAllMatches(new Object[]{pSpacecraft}).collect(Collectors.toSet()); | ||
302 | } | ||
303 | |||
304 | /** | ||
305 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
306 | * </p> | ||
307 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
308 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
309 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
310 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
311 | * @return a stream of matches represented as a Match object. | ||
312 | * | ||
313 | */ | ||
314 | public Stream<NoPotentialLinkToGroundStation.Match> streamAllMatches(final Spacecraft pSpacecraft) { | ||
315 | return rawStreamAllMatches(new Object[]{pSpacecraft}); | ||
316 | } | ||
317 | |||
318 | /** | ||
319 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
320 | * Neither determinism nor randomness of selection is guaranteed. | ||
321 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
322 | * @return a match represented as a Match object, or null if no match is found. | ||
323 | * | ||
324 | */ | ||
325 | public Optional<NoPotentialLinkToGroundStation.Match> getOneArbitraryMatch(final Spacecraft pSpacecraft) { | ||
326 | return rawGetOneArbitraryMatch(new Object[]{pSpacecraft}); | ||
327 | } | ||
328 | |||
329 | /** | ||
330 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
331 | * under any possible substitution of the unspecified parameters (if any). | ||
332 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
333 | * @return true if the input is a valid (partial) match of the pattern. | ||
334 | * | ||
335 | */ | ||
336 | public boolean hasMatch(final Spacecraft pSpacecraft) { | ||
337 | return rawHasMatch(new Object[]{pSpacecraft}); | ||
338 | } | ||
339 | |||
340 | /** | ||
341 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
342 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
343 | * @return the number of pattern matches found. | ||
344 | * | ||
345 | */ | ||
346 | public int countMatches(final Spacecraft pSpacecraft) { | ||
347 | return rawCountMatches(new Object[]{pSpacecraft}); | ||
348 | } | ||
349 | |||
350 | /** | ||
351 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
352 | * Neither determinism nor randomness of selection is guaranteed. | ||
353 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
354 | * @param processor the action that will process the selected match. | ||
355 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
356 | * | ||
357 | */ | ||
358 | public boolean forOneArbitraryMatch(final Spacecraft pSpacecraft, final Consumer<? super NoPotentialLinkToGroundStation.Match> processor) { | ||
359 | return rawForOneArbitraryMatch(new Object[]{pSpacecraft}, processor); | ||
360 | } | ||
361 | |||
362 | /** | ||
363 | * Returns a new (partial) match. | ||
364 | * This can be used e.g. to call the matcher with a partial match. | ||
365 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
366 | * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. | ||
367 | * @return the (partial) match object. | ||
368 | * | ||
369 | */ | ||
370 | public NoPotentialLinkToGroundStation.Match newMatch(final Spacecraft pSpacecraft) { | ||
371 | return NoPotentialLinkToGroundStation.Match.newMatch(pSpacecraft); | ||
372 | } | ||
373 | |||
374 | /** | ||
375 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
376 | * @return the Set of all values or empty set if there are no matches | ||
377 | * | ||
378 | */ | ||
379 | protected Stream<Spacecraft> rawStreamAllValuesOfSpacecraft(final Object[] parameters) { | ||
380 | return rawStreamAllValues(POSITION_SPACECRAFT, parameters).map(Spacecraft.class::cast); | ||
381 | } | ||
382 | |||
383 | /** | ||
384 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
385 | * @return the Set of all values or empty set if there are no matches | ||
386 | * | ||
387 | */ | ||
388 | public Set<Spacecraft> getAllValuesOfSpacecraft() { | ||
389 | return rawStreamAllValuesOfSpacecraft(emptyArray()).collect(Collectors.toSet()); | ||
390 | } | ||
391 | |||
392 | /** | ||
393 | * Retrieve the set of values that occur in matches for Spacecraft. | ||
394 | * @return the Set of all values or empty set if there are no matches | ||
395 | * | ||
396 | */ | ||
397 | public Stream<Spacecraft> streamAllValuesOfSpacecraft() { | ||
398 | return rawStreamAllValuesOfSpacecraft(emptyArray()); | ||
399 | } | ||
400 | |||
401 | @Override | ||
402 | protected NoPotentialLinkToGroundStation.Match tupleToMatch(final Tuple t) { | ||
403 | try { | ||
404 | return NoPotentialLinkToGroundStation.Match.newMatch((Spacecraft) t.get(POSITION_SPACECRAFT)); | ||
405 | } catch(ClassCastException e) { | ||
406 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
407 | return null; | ||
408 | } | ||
409 | } | ||
410 | |||
411 | @Override | ||
412 | protected NoPotentialLinkToGroundStation.Match arrayToMatch(final Object[] match) { | ||
413 | try { | ||
414 | return NoPotentialLinkToGroundStation.Match.newMatch((Spacecraft) match[POSITION_SPACECRAFT]); | ||
415 | } catch(ClassCastException e) { | ||
416 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
417 | return null; | ||
418 | } | ||
419 | } | ||
420 | |||
421 | @Override | ||
422 | protected NoPotentialLinkToGroundStation.Match arrayToMatchMutable(final Object[] match) { | ||
423 | try { | ||
424 | return NoPotentialLinkToGroundStation.Match.newMutableMatch((Spacecraft) match[POSITION_SPACECRAFT]); | ||
425 | } catch(ClassCastException e) { | ||
426 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
427 | return null; | ||
428 | } | ||
429 | } | ||
430 | |||
431 | /** | ||
432 | * @return the singleton instance of the query specification of this pattern | ||
433 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
434 | * | ||
435 | */ | ||
436 | public static IQuerySpecification<NoPotentialLinkToGroundStation.Matcher> querySpecification() { | ||
437 | return NoPotentialLinkToGroundStation.instance(); | ||
438 | } | ||
439 | } | ||
440 | |||
441 | private NoPotentialLinkToGroundStation() { | ||
442 | super(GeneratedPQuery.INSTANCE); | ||
443 | } | ||
444 | |||
445 | /** | ||
446 | * @return the singleton instance of the query specification | ||
447 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
448 | * | ||
449 | */ | ||
450 | public static NoPotentialLinkToGroundStation instance() { | ||
451 | try{ | ||
452 | return LazyHolder.INSTANCE; | ||
453 | } catch (ExceptionInInitializerError err) { | ||
454 | throw processInitializerError(err); | ||
455 | } | ||
456 | } | ||
457 | |||
458 | @Override | ||
459 | protected NoPotentialLinkToGroundStation.Matcher instantiate(final ViatraQueryEngine engine) { | ||
460 | return NoPotentialLinkToGroundStation.Matcher.on(engine); | ||
461 | } | ||
462 | |||
463 | @Override | ||
464 | public NoPotentialLinkToGroundStation.Matcher instantiate() { | ||
465 | return NoPotentialLinkToGroundStation.Matcher.create(); | ||
466 | } | ||
467 | |||
468 | @Override | ||
469 | public NoPotentialLinkToGroundStation.Match newEmptyMatch() { | ||
470 | return NoPotentialLinkToGroundStation.Match.newEmptyMatch(); | ||
471 | } | ||
472 | |||
473 | @Override | ||
474 | public NoPotentialLinkToGroundStation.Match newMatch(final Object... parameters) { | ||
475 | return NoPotentialLinkToGroundStation.Match.newMatch((satellite.Spacecraft) parameters[0]); | ||
476 | } | ||
477 | |||
478 | /** | ||
479 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation (visibility: PUBLIC, simpleName: NoPotentialLinkToGroundStation, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
480 | * <b>not</b> at the class load time of the outer class, | ||
481 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation (visibility: PUBLIC, simpleName: NoPotentialLinkToGroundStation, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
482 | * | ||
483 | * <p> This workaround is required e.g. to support recursion. | ||
484 | * | ||
485 | */ | ||
486 | private static class LazyHolder { | ||
487 | private static final NoPotentialLinkToGroundStation INSTANCE = new NoPotentialLinkToGroundStation(); | ||
488 | |||
489 | /** | ||
490 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
491 | * This initialization order is required to support indirect recursion. | ||
492 | * | ||
493 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
494 | * | ||
495 | */ | ||
496 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
497 | |||
498 | public static Object ensureInitialized() { | ||
499 | INSTANCE.ensureInitializedInternal(); | ||
500 | return null; | ||
501 | } | ||
502 | } | ||
503 | |||
504 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
505 | private static final NoPotentialLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
506 | |||
507 | private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); | ||
508 | |||
509 | private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft); | ||
510 | |||
511 | private GeneratedPQuery() { | ||
512 | super(PVisibility.PUBLIC); | ||
513 | } | ||
514 | |||
515 | @Override | ||
516 | public String getFullyQualifiedName() { | ||
517 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"; | ||
518 | } | ||
519 | |||
520 | @Override | ||
521 | public List<String> getParameterNames() { | ||
522 | return Arrays.asList("Spacecraft"); | ||
523 | } | ||
524 | |||
525 | @Override | ||
526 | public List<PParameter> getParameters() { | ||
527 | return parameters; | ||
528 | } | ||
529 | |||
530 | @Override | ||
531 | public Set<PBody> doGetContainedBodies() { | ||
532 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
533 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
534 | { | ||
535 | PBody body = new PBody(this); | ||
536 | PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); | ||
537 | PVariable var_Mission = body.getOrCreateVariableByName("Mission"); | ||
538 | PVariable var_GroundStation = body.getOrCreateVariableByName("GroundStation"); | ||
539 | new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
540 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
541 | new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) | ||
542 | )); | ||
543 | // ConstellationMission.groundStationNetwork(Mission, GroundStation) | ||
544 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); | ||
545 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
546 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "groundStationNetwork"))); | ||
547 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); | ||
548 | new Equality(body, var__virtual_0_, var_GroundStation); | ||
549 | // ConstellationMission.spacecraft(Mission, Spacecraft) | ||
550 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); | ||
551 | PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); | ||
552 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft"))); | ||
553 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
554 | new Equality(body, var__virtual_1_, var_Spacecraft); | ||
555 | // neg find indirectLinkAllowed(Spacecraft, GroundStation) | ||
556 | new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_GroundStation), IndirectLinkAllowed.instance().getInternalQueryRepresentation()); | ||
557 | bodies.add(body); | ||
558 | } | ||
559 | { | ||
560 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
561 | annotation.addAttribute("severity", "error"); | ||
562 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
563 | new ParameterReference("Spacecraft") | ||
564 | })); | ||
565 | annotation.addAttribute("message", "Spacecraft has no potential communication path to the ground station."); | ||
566 | addAnnotation(annotation); | ||
567 | } | ||
568 | return bodies; | ||
569 | } | ||
570 | } | ||
571 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java deleted file mode 100644 index bdd97100..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java +++ /dev/null | |||
@@ -1,559 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.Collection; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Optional; | ||
13 | import java.util.Set; | ||
14 | import java.util.function.Consumer; | ||
15 | import java.util.stream.Collectors; | ||
16 | import java.util.stream.Stream; | ||
17 | import org.apache.log4j.Logger; | ||
18 | import org.eclipse.emf.ecore.EClass; | ||
19 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
21 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
26 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
27 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
40 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
41 | import satellite.InterferometryMission; | ||
42 | |||
43 | /** | ||
44 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
45 | * | ||
46 | * <p>Original source: | ||
47 | * <code><pre> | ||
48 | * // At least two spacecraft must have the interferometry payload configured | ||
49 | * | ||
50 | * {@literal @}Constraint(severity = "error", key = {Mission}, | ||
51 | * message = "Interferometry mission needs at least two spacecraft configured with the interferometry payload.") | ||
52 | * pattern notEnoughInterferometryPayloads(Mission : InterferometryMission) { | ||
53 | * InterferometryMission(Mission); | ||
54 | * neg find atLeastTwoInterferometryPayloads(Mission); | ||
55 | * } | ||
56 | * </pre></code> | ||
57 | * | ||
58 | * @see Matcher | ||
59 | * @see Match | ||
60 | * | ||
61 | */ | ||
62 | @SuppressWarnings("all") | ||
63 | public final class NotEnoughInterferometryPayloads extends BaseGeneratedEMFQuerySpecification<NotEnoughInterferometryPayloads.Matcher> { | ||
64 | /** | ||
65 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads pattern, | ||
66 | * to be used in conjunction with {@link Matcher}. | ||
67 | * | ||
68 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
69 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
70 | * usable to represent a match of the pattern in the result of a query, | ||
71 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
72 | * | ||
73 | * @see Matcher | ||
74 | * | ||
75 | */ | ||
76 | public static abstract class Match extends BasePatternMatch { | ||
77 | private InterferometryMission fMission; | ||
78 | |||
79 | private static List<String> parameterNames = makeImmutableList("Mission"); | ||
80 | |||
81 | private Match(final InterferometryMission pMission) { | ||
82 | this.fMission = pMission; | ||
83 | } | ||
84 | |||
85 | @Override | ||
86 | public Object get(final String parameterName) { | ||
87 | if ("Mission".equals(parameterName)) return this.fMission; | ||
88 | return null; | ||
89 | } | ||
90 | |||
91 | public InterferometryMission getMission() { | ||
92 | return this.fMission; | ||
93 | } | ||
94 | |||
95 | @Override | ||
96 | public boolean set(final String parameterName, final Object newValue) { | ||
97 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
98 | if ("Mission".equals(parameterName) ) { | ||
99 | this.fMission = (InterferometryMission) newValue; | ||
100 | return true; | ||
101 | } | ||
102 | return false; | ||
103 | } | ||
104 | |||
105 | public void setMission(final InterferometryMission pMission) { | ||
106 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
107 | this.fMission = pMission; | ||
108 | } | ||
109 | |||
110 | @Override | ||
111 | public String patternName() { | ||
112 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"; | ||
113 | } | ||
114 | |||
115 | @Override | ||
116 | public List<String> parameterNames() { | ||
117 | return NotEnoughInterferometryPayloads.Match.parameterNames; | ||
118 | } | ||
119 | |||
120 | @Override | ||
121 | public Object[] toArray() { | ||
122 | return new Object[]{fMission}; | ||
123 | } | ||
124 | |||
125 | @Override | ||
126 | public NotEnoughInterferometryPayloads.Match toImmutable() { | ||
127 | return isMutable() ? newMatch(fMission) : this; | ||
128 | } | ||
129 | |||
130 | @Override | ||
131 | public String prettyPrint() { | ||
132 | StringBuilder result = new StringBuilder(); | ||
133 | result.append("\"Mission\"=" + prettyPrintValue(fMission)); | ||
134 | return result.toString(); | ||
135 | } | ||
136 | |||
137 | @Override | ||
138 | public int hashCode() { | ||
139 | return Objects.hash(fMission); | ||
140 | } | ||
141 | |||
142 | @Override | ||
143 | public boolean equals(final Object obj) { | ||
144 | if (this == obj) | ||
145 | return true; | ||
146 | if (obj == null) { | ||
147 | return false; | ||
148 | } | ||
149 | if ((obj instanceof NotEnoughInterferometryPayloads.Match)) { | ||
150 | NotEnoughInterferometryPayloads.Match other = (NotEnoughInterferometryPayloads.Match) obj; | ||
151 | return Objects.equals(fMission, other.fMission); | ||
152 | } else { | ||
153 | // this should be infrequent | ||
154 | if (!(obj instanceof IPatternMatch)) { | ||
155 | return false; | ||
156 | } | ||
157 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
158 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
159 | } | ||
160 | } | ||
161 | |||
162 | @Override | ||
163 | public NotEnoughInterferometryPayloads specification() { | ||
164 | return NotEnoughInterferometryPayloads.instance(); | ||
165 | } | ||
166 | |||
167 | /** | ||
168 | * Returns an empty, mutable match. | ||
169 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
170 | * | ||
171 | * @return the empty match. | ||
172 | * | ||
173 | */ | ||
174 | public static NotEnoughInterferometryPayloads.Match newEmptyMatch() { | ||
175 | return new Mutable(null); | ||
176 | } | ||
177 | |||
178 | /** | ||
179 | * Returns a mutable (partial) match. | ||
180 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
181 | * | ||
182 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
183 | * @return the new, mutable (partial) match object. | ||
184 | * | ||
185 | */ | ||
186 | public static NotEnoughInterferometryPayloads.Match newMutableMatch(final InterferometryMission pMission) { | ||
187 | return new Mutable(pMission); | ||
188 | } | ||
189 | |||
190 | /** | ||
191 | * Returns a new (partial) match. | ||
192 | * This can be used e.g. to call the matcher with a partial match. | ||
193 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
194 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
195 | * @return the (partial) match object. | ||
196 | * | ||
197 | */ | ||
198 | public static NotEnoughInterferometryPayloads.Match newMatch(final InterferometryMission pMission) { | ||
199 | return new Immutable(pMission); | ||
200 | } | ||
201 | |||
202 | private static final class Mutable extends NotEnoughInterferometryPayloads.Match { | ||
203 | Mutable(final InterferometryMission pMission) { | ||
204 | super(pMission); | ||
205 | } | ||
206 | |||
207 | @Override | ||
208 | public boolean isMutable() { | ||
209 | return true; | ||
210 | } | ||
211 | } | ||
212 | |||
213 | private static final class Immutable extends NotEnoughInterferometryPayloads.Match { | ||
214 | Immutable(final InterferometryMission pMission) { | ||
215 | super(pMission); | ||
216 | } | ||
217 | |||
218 | @Override | ||
219 | public boolean isMutable() { | ||
220 | return false; | ||
221 | } | ||
222 | } | ||
223 | } | ||
224 | |||
225 | /** | ||
226 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads pattern, | ||
227 | * providing pattern-specific query methods. | ||
228 | * | ||
229 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
230 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
231 | * | ||
232 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
233 | * | ||
234 | * <p>Original source: | ||
235 | * <code><pre> | ||
236 | * // At least two spacecraft must have the interferometry payload configured | ||
237 | * | ||
238 | * {@literal @}Constraint(severity = "error", key = {Mission}, | ||
239 | * message = "Interferometry mission needs at least two spacecraft configured with the interferometry payload.") | ||
240 | * pattern notEnoughInterferometryPayloads(Mission : InterferometryMission) { | ||
241 | * InterferometryMission(Mission); | ||
242 | * neg find atLeastTwoInterferometryPayloads(Mission); | ||
243 | * } | ||
244 | * </pre></code> | ||
245 | * | ||
246 | * @see Match | ||
247 | * @see NotEnoughInterferometryPayloads | ||
248 | * | ||
249 | */ | ||
250 | public static class Matcher extends BaseMatcher<NotEnoughInterferometryPayloads.Match> { | ||
251 | /** | ||
252 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
253 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
254 | * | ||
255 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
256 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
257 | * | ||
258 | */ | ||
259 | public static NotEnoughInterferometryPayloads.Matcher on(final ViatraQueryEngine engine) { | ||
260 | // check if matcher already exists | ||
261 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
262 | if (matcher == null) { | ||
263 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
264 | } | ||
265 | return matcher; | ||
266 | } | ||
267 | |||
268 | /** | ||
269 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
270 | * @return an initialized matcher | ||
271 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
272 | * | ||
273 | */ | ||
274 | public static NotEnoughInterferometryPayloads.Matcher create() { | ||
275 | return new Matcher(); | ||
276 | } | ||
277 | |||
278 | private static final int POSITION_MISSION = 0; | ||
279 | |||
280 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(NotEnoughInterferometryPayloads.Matcher.class); | ||
281 | |||
282 | /** | ||
283 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
284 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
285 | * | ||
286 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
287 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
288 | * | ||
289 | */ | ||
290 | private Matcher() { | ||
291 | super(querySpecification()); | ||
292 | } | ||
293 | |||
294 | /** | ||
295 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
296 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
297 | * @return matches represented as a Match object. | ||
298 | * | ||
299 | */ | ||
300 | public Collection<NotEnoughInterferometryPayloads.Match> getAllMatches(final InterferometryMission pMission) { | ||
301 | return rawStreamAllMatches(new Object[]{pMission}).collect(Collectors.toSet()); | ||
302 | } | ||
303 | |||
304 | /** | ||
305 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
306 | * </p> | ||
307 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
308 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
309 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
310 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
311 | * @return a stream of matches represented as a Match object. | ||
312 | * | ||
313 | */ | ||
314 | public Stream<NotEnoughInterferometryPayloads.Match> streamAllMatches(final InterferometryMission pMission) { | ||
315 | return rawStreamAllMatches(new Object[]{pMission}); | ||
316 | } | ||
317 | |||
318 | /** | ||
319 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
320 | * Neither determinism nor randomness of selection is guaranteed. | ||
321 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
322 | * @return a match represented as a Match object, or null if no match is found. | ||
323 | * | ||
324 | */ | ||
325 | public Optional<NotEnoughInterferometryPayloads.Match> getOneArbitraryMatch(final InterferometryMission pMission) { | ||
326 | return rawGetOneArbitraryMatch(new Object[]{pMission}); | ||
327 | } | ||
328 | |||
329 | /** | ||
330 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
331 | * under any possible substitution of the unspecified parameters (if any). | ||
332 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
333 | * @return true if the input is a valid (partial) match of the pattern. | ||
334 | * | ||
335 | */ | ||
336 | public boolean hasMatch(final InterferometryMission pMission) { | ||
337 | return rawHasMatch(new Object[]{pMission}); | ||
338 | } | ||
339 | |||
340 | /** | ||
341 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
342 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
343 | * @return the number of pattern matches found. | ||
344 | * | ||
345 | */ | ||
346 | public int countMatches(final InterferometryMission pMission) { | ||
347 | return rawCountMatches(new Object[]{pMission}); | ||
348 | } | ||
349 | |||
350 | /** | ||
351 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
352 | * Neither determinism nor randomness of selection is guaranteed. | ||
353 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
354 | * @param processor the action that will process the selected match. | ||
355 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
356 | * | ||
357 | */ | ||
358 | public boolean forOneArbitraryMatch(final InterferometryMission pMission, final Consumer<? super NotEnoughInterferometryPayloads.Match> processor) { | ||
359 | return rawForOneArbitraryMatch(new Object[]{pMission}, processor); | ||
360 | } | ||
361 | |||
362 | /** | ||
363 | * Returns a new (partial) match. | ||
364 | * This can be used e.g. to call the matcher with a partial match. | ||
365 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
366 | * @param pMission the fixed value of pattern parameter Mission, or null if not bound. | ||
367 | * @return the (partial) match object. | ||
368 | * | ||
369 | */ | ||
370 | public NotEnoughInterferometryPayloads.Match newMatch(final InterferometryMission pMission) { | ||
371 | return NotEnoughInterferometryPayloads.Match.newMatch(pMission); | ||
372 | } | ||
373 | |||
374 | /** | ||
375 | * Retrieve the set of values that occur in matches for Mission. | ||
376 | * @return the Set of all values or empty set if there are no matches | ||
377 | * | ||
378 | */ | ||
379 | protected Stream<InterferometryMission> rawStreamAllValuesOfMission(final Object[] parameters) { | ||
380 | return rawStreamAllValues(POSITION_MISSION, parameters).map(InterferometryMission.class::cast); | ||
381 | } | ||
382 | |||
383 | /** | ||
384 | * Retrieve the set of values that occur in matches for Mission. | ||
385 | * @return the Set of all values or empty set if there are no matches | ||
386 | * | ||
387 | */ | ||
388 | public Set<InterferometryMission> getAllValuesOfMission() { | ||
389 | return rawStreamAllValuesOfMission(emptyArray()).collect(Collectors.toSet()); | ||
390 | } | ||
391 | |||
392 | /** | ||
393 | * Retrieve the set of values that occur in matches for Mission. | ||
394 | * @return the Set of all values or empty set if there are no matches | ||
395 | * | ||
396 | */ | ||
397 | public Stream<InterferometryMission> streamAllValuesOfMission() { | ||
398 | return rawStreamAllValuesOfMission(emptyArray()); | ||
399 | } | ||
400 | |||
401 | @Override | ||
402 | protected NotEnoughInterferometryPayloads.Match tupleToMatch(final Tuple t) { | ||
403 | try { | ||
404 | return NotEnoughInterferometryPayloads.Match.newMatch((InterferometryMission) t.get(POSITION_MISSION)); | ||
405 | } catch(ClassCastException e) { | ||
406 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
407 | return null; | ||
408 | } | ||
409 | } | ||
410 | |||
411 | @Override | ||
412 | protected NotEnoughInterferometryPayloads.Match arrayToMatch(final Object[] match) { | ||
413 | try { | ||
414 | return NotEnoughInterferometryPayloads.Match.newMatch((InterferometryMission) match[POSITION_MISSION]); | ||
415 | } catch(ClassCastException e) { | ||
416 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
417 | return null; | ||
418 | } | ||
419 | } | ||
420 | |||
421 | @Override | ||
422 | protected NotEnoughInterferometryPayloads.Match arrayToMatchMutable(final Object[] match) { | ||
423 | try { | ||
424 | return NotEnoughInterferometryPayloads.Match.newMutableMatch((InterferometryMission) match[POSITION_MISSION]); | ||
425 | } catch(ClassCastException e) { | ||
426 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
427 | return null; | ||
428 | } | ||
429 | } | ||
430 | |||
431 | /** | ||
432 | * @return the singleton instance of the query specification of this pattern | ||
433 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
434 | * | ||
435 | */ | ||
436 | public static IQuerySpecification<NotEnoughInterferometryPayloads.Matcher> querySpecification() { | ||
437 | return NotEnoughInterferometryPayloads.instance(); | ||
438 | } | ||
439 | } | ||
440 | |||
441 | private NotEnoughInterferometryPayloads() { | ||
442 | super(GeneratedPQuery.INSTANCE); | ||
443 | } | ||
444 | |||
445 | /** | ||
446 | * @return the singleton instance of the query specification | ||
447 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
448 | * | ||
449 | */ | ||
450 | public static NotEnoughInterferometryPayloads instance() { | ||
451 | try{ | ||
452 | return LazyHolder.INSTANCE; | ||
453 | } catch (ExceptionInInitializerError err) { | ||
454 | throw processInitializerError(err); | ||
455 | } | ||
456 | } | ||
457 | |||
458 | @Override | ||
459 | protected NotEnoughInterferometryPayloads.Matcher instantiate(final ViatraQueryEngine engine) { | ||
460 | return NotEnoughInterferometryPayloads.Matcher.on(engine); | ||
461 | } | ||
462 | |||
463 | @Override | ||
464 | public NotEnoughInterferometryPayloads.Matcher instantiate() { | ||
465 | return NotEnoughInterferometryPayloads.Matcher.create(); | ||
466 | } | ||
467 | |||
468 | @Override | ||
469 | public NotEnoughInterferometryPayloads.Match newEmptyMatch() { | ||
470 | return NotEnoughInterferometryPayloads.Match.newEmptyMatch(); | ||
471 | } | ||
472 | |||
473 | @Override | ||
474 | public NotEnoughInterferometryPayloads.Match newMatch(final Object... parameters) { | ||
475 | return NotEnoughInterferometryPayloads.Match.newMatch((satellite.InterferometryMission) parameters[0]); | ||
476 | } | ||
477 | |||
478 | /** | ||
479 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads (visibility: PUBLIC, simpleName: NotEnoughInterferometryPayloads, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
480 | * <b>not</b> at the class load time of the outer class, | ||
481 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads (visibility: PUBLIC, simpleName: NotEnoughInterferometryPayloads, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
482 | * | ||
483 | * <p> This workaround is required e.g. to support recursion. | ||
484 | * | ||
485 | */ | ||
486 | private static class LazyHolder { | ||
487 | private static final NotEnoughInterferometryPayloads INSTANCE = new NotEnoughInterferometryPayloads(); | ||
488 | |||
489 | /** | ||
490 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
491 | * This initialization order is required to support indirect recursion. | ||
492 | * | ||
493 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
494 | * | ||
495 | */ | ||
496 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
497 | |||
498 | public static Object ensureInitialized() { | ||
499 | INSTANCE.ensureInitializedInternal(); | ||
500 | return null; | ||
501 | } | ||
502 | } | ||
503 | |||
504 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
505 | private static final NotEnoughInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
506 | |||
507 | private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); | ||
508 | |||
509 | private final List<PParameter> parameters = Arrays.asList(parameter_Mission); | ||
510 | |||
511 | private GeneratedPQuery() { | ||
512 | super(PVisibility.PUBLIC); | ||
513 | } | ||
514 | |||
515 | @Override | ||
516 | public String getFullyQualifiedName() { | ||
517 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"; | ||
518 | } | ||
519 | |||
520 | @Override | ||
521 | public List<String> getParameterNames() { | ||
522 | return Arrays.asList("Mission"); | ||
523 | } | ||
524 | |||
525 | @Override | ||
526 | public List<PParameter> getParameters() { | ||
527 | return parameters; | ||
528 | } | ||
529 | |||
530 | @Override | ||
531 | public Set<PBody> doGetContainedBodies() { | ||
532 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
533 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
534 | { | ||
535 | PBody body = new PBody(this); | ||
536 | PVariable var_Mission = body.getOrCreateVariableByName("Mission"); | ||
537 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); | ||
538 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
539 | new ExportedParameter(body, var_Mission, parameter_Mission) | ||
540 | )); | ||
541 | // InterferometryMission(Mission) | ||
542 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); | ||
543 | // neg find atLeastTwoInterferometryPayloads(Mission) | ||
544 | new NegativePatternCall(body, Tuples.flatTupleOf(var_Mission), AtLeastTwoInterferometryPayloads.instance().getInternalQueryRepresentation()); | ||
545 | bodies.add(body); | ||
546 | } | ||
547 | { | ||
548 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
549 | annotation.addAttribute("severity", "error"); | ||
550 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
551 | new ParameterReference("Mission") | ||
552 | })); | ||
553 | annotation.addAttribute("message", "Interferometry mission needs at least two spacecraft configured with the interferometry payload."); | ||
554 | addAnnotation(annotation); | ||
555 | } | ||
556 | return bodies; | ||
557 | } | ||
558 | } | ||
559 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java deleted file mode 100644 index 9025d93a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java +++ /dev/null | |||
@@ -1,141 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; | ||
9 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; | ||
10 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; | ||
11 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; | ||
12 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; | ||
13 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; | ||
14 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink; | ||
15 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
16 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; | ||
17 | |||
18 | /** | ||
19 | * A pattern group formed of all public patterns defined in SatelliteQueries.vql. | ||
20 | * | ||
21 | * <p>Use the static instance as any {@link interface org.eclipse.viatra.query.runtime.api.IQueryGroup}, to conveniently prepare | ||
22 | * a VIATRA Query engine for matching all patterns originally defined in file SatelliteQueries.vql, | ||
23 | * in order to achieve better performance than one-by-one on-demand matcher initialization. | ||
24 | * | ||
25 | * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> | ||
26 | * <li>communicationLinkDoesNotStartAtContainingElement</li> | ||
27 | * <li>notEnoughInterferometryPayloads</li> | ||
28 | * <li>noLinkToGroundStation</li> | ||
29 | * <li>noPotentialLinkToGroundStation</li> | ||
30 | * <li>communicationLoop</li> | ||
31 | * <li>incompatibleSourceAndTargetBand</li> | ||
32 | * <li>threeUCubeSatWithNonUhfCrossLink</li> | ||
33 | * <li>cubeSatWithKaAntenna</li> | ||
34 | * <li>smallSat</li> | ||
35 | * </ul> | ||
36 | * | ||
37 | * @see IQueryGroup | ||
38 | * | ||
39 | */ | ||
40 | @SuppressWarnings("all") | ||
41 | public final class SatelliteQueries extends BaseGeneratedPatternGroup { | ||
42 | /** | ||
43 | * Access the pattern group. | ||
44 | * | ||
45 | * @return the singleton instance of the group | ||
46 | * @throws ViatraQueryRuntimeException if there was an error loading the generated code of pattern specifications | ||
47 | * | ||
48 | */ | ||
49 | public static SatelliteQueries instance() { | ||
50 | if (INSTANCE == null) { | ||
51 | INSTANCE = new SatelliteQueries(); | ||
52 | } | ||
53 | return INSTANCE; | ||
54 | } | ||
55 | |||
56 | private static SatelliteQueries INSTANCE; | ||
57 | |||
58 | private SatelliteQueries() { | ||
59 | querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance()); | ||
60 | querySpecifications.add(NotEnoughInterferometryPayloads.instance()); | ||
61 | querySpecifications.add(NoLinkToGroundStation.instance()); | ||
62 | querySpecifications.add(NoPotentialLinkToGroundStation.instance()); | ||
63 | querySpecifications.add(CommunicationLoop.instance()); | ||
64 | querySpecifications.add(IncompatibleSourceAndTargetBand.instance()); | ||
65 | querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance()); | ||
66 | querySpecifications.add(CubeSatWithKaAntenna.instance()); | ||
67 | querySpecifications.add(SmallSat.instance()); | ||
68 | } | ||
69 | |||
70 | public CommunicationLinkDoesNotStartAtContainingElement getCommunicationLinkDoesNotStartAtContainingElement() { | ||
71 | return CommunicationLinkDoesNotStartAtContainingElement.instance(); | ||
72 | } | ||
73 | |||
74 | public CommunicationLinkDoesNotStartAtContainingElement.Matcher getCommunicationLinkDoesNotStartAtContainingElement(final ViatraQueryEngine engine) { | ||
75 | return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine); | ||
76 | } | ||
77 | |||
78 | public NotEnoughInterferometryPayloads getNotEnoughInterferometryPayloads() { | ||
79 | return NotEnoughInterferometryPayloads.instance(); | ||
80 | } | ||
81 | |||
82 | public NotEnoughInterferometryPayloads.Matcher getNotEnoughInterferometryPayloads(final ViatraQueryEngine engine) { | ||
83 | return NotEnoughInterferometryPayloads.Matcher.on(engine); | ||
84 | } | ||
85 | |||
86 | public NoLinkToGroundStation getNoLinkToGroundStation() { | ||
87 | return NoLinkToGroundStation.instance(); | ||
88 | } | ||
89 | |||
90 | public NoLinkToGroundStation.Matcher getNoLinkToGroundStation(final ViatraQueryEngine engine) { | ||
91 | return NoLinkToGroundStation.Matcher.on(engine); | ||
92 | } | ||
93 | |||
94 | public NoPotentialLinkToGroundStation getNoPotentialLinkToGroundStation() { | ||
95 | return NoPotentialLinkToGroundStation.instance(); | ||
96 | } | ||
97 | |||
98 | public NoPotentialLinkToGroundStation.Matcher getNoPotentialLinkToGroundStation(final ViatraQueryEngine engine) { | ||
99 | return NoPotentialLinkToGroundStation.Matcher.on(engine); | ||
100 | } | ||
101 | |||
102 | public CommunicationLoop getCommunicationLoop() { | ||
103 | return CommunicationLoop.instance(); | ||
104 | } | ||
105 | |||
106 | public CommunicationLoop.Matcher getCommunicationLoop(final ViatraQueryEngine engine) { | ||
107 | return CommunicationLoop.Matcher.on(engine); | ||
108 | } | ||
109 | |||
110 | public IncompatibleSourceAndTargetBand getIncompatibleSourceAndTargetBand() { | ||
111 | return IncompatibleSourceAndTargetBand.instance(); | ||
112 | } | ||
113 | |||
114 | public IncompatibleSourceAndTargetBand.Matcher getIncompatibleSourceAndTargetBand(final ViatraQueryEngine engine) { | ||
115 | return IncompatibleSourceAndTargetBand.Matcher.on(engine); | ||
116 | } | ||
117 | |||
118 | public ThreeUCubeSatWithNonUhfCrossLink getThreeUCubeSatWithNonUhfCrossLink() { | ||
119 | return ThreeUCubeSatWithNonUhfCrossLink.instance(); | ||
120 | } | ||
121 | |||
122 | public ThreeUCubeSatWithNonUhfCrossLink.Matcher getThreeUCubeSatWithNonUhfCrossLink(final ViatraQueryEngine engine) { | ||
123 | return ThreeUCubeSatWithNonUhfCrossLink.Matcher.on(engine); | ||
124 | } | ||
125 | |||
126 | public CubeSatWithKaAntenna getCubeSatWithKaAntenna() { | ||
127 | return CubeSatWithKaAntenna.instance(); | ||
128 | } | ||
129 | |||
130 | public CubeSatWithKaAntenna.Matcher getCubeSatWithKaAntenna(final ViatraQueryEngine engine) { | ||
131 | return CubeSatWithKaAntenna.Matcher.on(engine); | ||
132 | } | ||
133 | |||
134 | public SmallSat getSmallSat() { | ||
135 | return SmallSat.instance(); | ||
136 | } | ||
137 | |||
138 | public SmallSat.Matcher getSmallSat(final ViatraQueryEngine engine) { | ||
139 | return SmallSat.Matcher.on(engine); | ||
140 | } | ||
141 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java deleted file mode 100644 index 4791740e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java +++ /dev/null | |||
@@ -1,533 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.Collection; | ||
8 | import java.util.LinkedHashSet; | ||
9 | import java.util.List; | ||
10 | import java.util.Objects; | ||
11 | import java.util.Optional; | ||
12 | import java.util.Set; | ||
13 | import java.util.function.Consumer; | ||
14 | import java.util.stream.Collectors; | ||
15 | import java.util.stream.Stream; | ||
16 | import org.apache.log4j.Logger; | ||
17 | import org.eclipse.emf.ecore.EClass; | ||
18 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
19 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
20 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
21 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
22 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
25 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
26 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
27 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
28 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
36 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
37 | |||
38 | /** | ||
39 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
40 | * | ||
41 | * <p>Original source: | ||
42 | * <code><pre> | ||
43 | * pattern smallSat(Sat : SmallSat) { | ||
44 | * SmallSat(Sat); | ||
45 | * } | ||
46 | * </pre></code> | ||
47 | * | ||
48 | * @see Matcher | ||
49 | * @see Match | ||
50 | * | ||
51 | */ | ||
52 | @SuppressWarnings("all") | ||
53 | public final class SmallSat extends BaseGeneratedEMFQuerySpecification<SmallSat.Matcher> { | ||
54 | /** | ||
55 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat pattern, | ||
56 | * to be used in conjunction with {@link Matcher}. | ||
57 | * | ||
58 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
59 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
60 | * usable to represent a match of the pattern in the result of a query, | ||
61 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
62 | * | ||
63 | * @see Matcher | ||
64 | * | ||
65 | */ | ||
66 | public static abstract class Match extends BasePatternMatch { | ||
67 | private satellite.SmallSat fSat; | ||
68 | |||
69 | private static List<String> parameterNames = makeImmutableList("Sat"); | ||
70 | |||
71 | private Match(final satellite.SmallSat pSat) { | ||
72 | this.fSat = pSat; | ||
73 | } | ||
74 | |||
75 | @Override | ||
76 | public Object get(final String parameterName) { | ||
77 | if ("Sat".equals(parameterName)) return this.fSat; | ||
78 | return null; | ||
79 | } | ||
80 | |||
81 | public satellite.SmallSat getSat() { | ||
82 | return this.fSat; | ||
83 | } | ||
84 | |||
85 | @Override | ||
86 | public boolean set(final String parameterName, final Object newValue) { | ||
87 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
88 | if ("Sat".equals(parameterName) ) { | ||
89 | this.fSat = (satellite.SmallSat) newValue; | ||
90 | return true; | ||
91 | } | ||
92 | return false; | ||
93 | } | ||
94 | |||
95 | public void setSat(final satellite.SmallSat pSat) { | ||
96 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
97 | this.fSat = pSat; | ||
98 | } | ||
99 | |||
100 | @Override | ||
101 | public String patternName() { | ||
102 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"; | ||
103 | } | ||
104 | |||
105 | @Override | ||
106 | public List<String> parameterNames() { | ||
107 | return SmallSat.Match.parameterNames; | ||
108 | } | ||
109 | |||
110 | @Override | ||
111 | public Object[] toArray() { | ||
112 | return new Object[]{fSat}; | ||
113 | } | ||
114 | |||
115 | @Override | ||
116 | public SmallSat.Match toImmutable() { | ||
117 | return isMutable() ? newMatch(fSat) : this; | ||
118 | } | ||
119 | |||
120 | @Override | ||
121 | public String prettyPrint() { | ||
122 | StringBuilder result = new StringBuilder(); | ||
123 | result.append("\"Sat\"=" + prettyPrintValue(fSat)); | ||
124 | return result.toString(); | ||
125 | } | ||
126 | |||
127 | @Override | ||
128 | public int hashCode() { | ||
129 | return Objects.hash(fSat); | ||
130 | } | ||
131 | |||
132 | @Override | ||
133 | public boolean equals(final Object obj) { | ||
134 | if (this == obj) | ||
135 | return true; | ||
136 | if (obj == null) { | ||
137 | return false; | ||
138 | } | ||
139 | if ((obj instanceof SmallSat.Match)) { | ||
140 | SmallSat.Match other = (SmallSat.Match) obj; | ||
141 | return Objects.equals(fSat, other.fSat); | ||
142 | } else { | ||
143 | // this should be infrequent | ||
144 | if (!(obj instanceof IPatternMatch)) { | ||
145 | return false; | ||
146 | } | ||
147 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
148 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
149 | } | ||
150 | } | ||
151 | |||
152 | @Override | ||
153 | public SmallSat specification() { | ||
154 | return SmallSat.instance(); | ||
155 | } | ||
156 | |||
157 | /** | ||
158 | * Returns an empty, mutable match. | ||
159 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
160 | * | ||
161 | * @return the empty match. | ||
162 | * | ||
163 | */ | ||
164 | public static SmallSat.Match newEmptyMatch() { | ||
165 | return new Mutable(null); | ||
166 | } | ||
167 | |||
168 | /** | ||
169 | * Returns a mutable (partial) match. | ||
170 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
171 | * | ||
172 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
173 | * @return the new, mutable (partial) match object. | ||
174 | * | ||
175 | */ | ||
176 | public static SmallSat.Match newMutableMatch(final satellite.SmallSat pSat) { | ||
177 | return new Mutable(pSat); | ||
178 | } | ||
179 | |||
180 | /** | ||
181 | * Returns a new (partial) match. | ||
182 | * This can be used e.g. to call the matcher with a partial match. | ||
183 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
184 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
185 | * @return the (partial) match object. | ||
186 | * | ||
187 | */ | ||
188 | public static SmallSat.Match newMatch(final satellite.SmallSat pSat) { | ||
189 | return new Immutable(pSat); | ||
190 | } | ||
191 | |||
192 | private static final class Mutable extends SmallSat.Match { | ||
193 | Mutable(final satellite.SmallSat pSat) { | ||
194 | super(pSat); | ||
195 | } | ||
196 | |||
197 | @Override | ||
198 | public boolean isMutable() { | ||
199 | return true; | ||
200 | } | ||
201 | } | ||
202 | |||
203 | private static final class Immutable extends SmallSat.Match { | ||
204 | Immutable(final satellite.SmallSat pSat) { | ||
205 | super(pSat); | ||
206 | } | ||
207 | |||
208 | @Override | ||
209 | public boolean isMutable() { | ||
210 | return false; | ||
211 | } | ||
212 | } | ||
213 | } | ||
214 | |||
215 | /** | ||
216 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat pattern, | ||
217 | * providing pattern-specific query methods. | ||
218 | * | ||
219 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
220 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
221 | * | ||
222 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
223 | * | ||
224 | * <p>Original source: | ||
225 | * <code><pre> | ||
226 | * pattern smallSat(Sat : SmallSat) { | ||
227 | * SmallSat(Sat); | ||
228 | * } | ||
229 | * </pre></code> | ||
230 | * | ||
231 | * @see Match | ||
232 | * @see SmallSat | ||
233 | * | ||
234 | */ | ||
235 | public static class Matcher extends BaseMatcher<SmallSat.Match> { | ||
236 | /** | ||
237 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
238 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
239 | * | ||
240 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
241 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
242 | * | ||
243 | */ | ||
244 | public static SmallSat.Matcher on(final ViatraQueryEngine engine) { | ||
245 | // check if matcher already exists | ||
246 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
247 | if (matcher == null) { | ||
248 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
249 | } | ||
250 | return matcher; | ||
251 | } | ||
252 | |||
253 | /** | ||
254 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
255 | * @return an initialized matcher | ||
256 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
257 | * | ||
258 | */ | ||
259 | public static SmallSat.Matcher create() { | ||
260 | return new Matcher(); | ||
261 | } | ||
262 | |||
263 | private static final int POSITION_SAT = 0; | ||
264 | |||
265 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(SmallSat.Matcher.class); | ||
266 | |||
267 | /** | ||
268 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
269 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
270 | * | ||
271 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
272 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
273 | * | ||
274 | */ | ||
275 | private Matcher() { | ||
276 | super(querySpecification()); | ||
277 | } | ||
278 | |||
279 | /** | ||
280 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
281 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
282 | * @return matches represented as a Match object. | ||
283 | * | ||
284 | */ | ||
285 | public Collection<SmallSat.Match> getAllMatches(final satellite.SmallSat pSat) { | ||
286 | return rawStreamAllMatches(new Object[]{pSat}).collect(Collectors.toSet()); | ||
287 | } | ||
288 | |||
289 | /** | ||
290 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
291 | * </p> | ||
292 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
293 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
294 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
295 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
296 | * @return a stream of matches represented as a Match object. | ||
297 | * | ||
298 | */ | ||
299 | public Stream<SmallSat.Match> streamAllMatches(final satellite.SmallSat pSat) { | ||
300 | return rawStreamAllMatches(new Object[]{pSat}); | ||
301 | } | ||
302 | |||
303 | /** | ||
304 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
305 | * Neither determinism nor randomness of selection is guaranteed. | ||
306 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
307 | * @return a match represented as a Match object, or null if no match is found. | ||
308 | * | ||
309 | */ | ||
310 | public Optional<SmallSat.Match> getOneArbitraryMatch(final satellite.SmallSat pSat) { | ||
311 | return rawGetOneArbitraryMatch(new Object[]{pSat}); | ||
312 | } | ||
313 | |||
314 | /** | ||
315 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
316 | * under any possible substitution of the unspecified parameters (if any). | ||
317 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
318 | * @return true if the input is a valid (partial) match of the pattern. | ||
319 | * | ||
320 | */ | ||
321 | public boolean hasMatch(final satellite.SmallSat pSat) { | ||
322 | return rawHasMatch(new Object[]{pSat}); | ||
323 | } | ||
324 | |||
325 | /** | ||
326 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
327 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
328 | * @return the number of pattern matches found. | ||
329 | * | ||
330 | */ | ||
331 | public int countMatches(final satellite.SmallSat pSat) { | ||
332 | return rawCountMatches(new Object[]{pSat}); | ||
333 | } | ||
334 | |||
335 | /** | ||
336 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
337 | * Neither determinism nor randomness of selection is guaranteed. | ||
338 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
339 | * @param processor the action that will process the selected match. | ||
340 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
341 | * | ||
342 | */ | ||
343 | public boolean forOneArbitraryMatch(final satellite.SmallSat pSat, final Consumer<? super SmallSat.Match> processor) { | ||
344 | return rawForOneArbitraryMatch(new Object[]{pSat}, processor); | ||
345 | } | ||
346 | |||
347 | /** | ||
348 | * Returns a new (partial) match. | ||
349 | * This can be used e.g. to call the matcher with a partial match. | ||
350 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
351 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
352 | * @return the (partial) match object. | ||
353 | * | ||
354 | */ | ||
355 | public SmallSat.Match newMatch(final satellite.SmallSat pSat) { | ||
356 | return SmallSat.Match.newMatch(pSat); | ||
357 | } | ||
358 | |||
359 | /** | ||
360 | * Retrieve the set of values that occur in matches for Sat. | ||
361 | * @return the Set of all values or empty set if there are no matches | ||
362 | * | ||
363 | */ | ||
364 | protected Stream<satellite.SmallSat> rawStreamAllValuesOfSat(final Object[] parameters) { | ||
365 | return rawStreamAllValues(POSITION_SAT, parameters).map(satellite.SmallSat.class::cast); | ||
366 | } | ||
367 | |||
368 | /** | ||
369 | * Retrieve the set of values that occur in matches for Sat. | ||
370 | * @return the Set of all values or empty set if there are no matches | ||
371 | * | ||
372 | */ | ||
373 | public Set<satellite.SmallSat> getAllValuesOfSat() { | ||
374 | return rawStreamAllValuesOfSat(emptyArray()).collect(Collectors.toSet()); | ||
375 | } | ||
376 | |||
377 | /** | ||
378 | * Retrieve the set of values that occur in matches for Sat. | ||
379 | * @return the Set of all values or empty set if there are no matches | ||
380 | * | ||
381 | */ | ||
382 | public Stream<satellite.SmallSat> streamAllValuesOfSat() { | ||
383 | return rawStreamAllValuesOfSat(emptyArray()); | ||
384 | } | ||
385 | |||
386 | @Override | ||
387 | protected SmallSat.Match tupleToMatch(final Tuple t) { | ||
388 | try { | ||
389 | return SmallSat.Match.newMatch((satellite.SmallSat) t.get(POSITION_SAT)); | ||
390 | } catch(ClassCastException e) { | ||
391 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
392 | return null; | ||
393 | } | ||
394 | } | ||
395 | |||
396 | @Override | ||
397 | protected SmallSat.Match arrayToMatch(final Object[] match) { | ||
398 | try { | ||
399 | return SmallSat.Match.newMatch((satellite.SmallSat) match[POSITION_SAT]); | ||
400 | } catch(ClassCastException e) { | ||
401 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
402 | return null; | ||
403 | } | ||
404 | } | ||
405 | |||
406 | @Override | ||
407 | protected SmallSat.Match arrayToMatchMutable(final Object[] match) { | ||
408 | try { | ||
409 | return SmallSat.Match.newMutableMatch((satellite.SmallSat) match[POSITION_SAT]); | ||
410 | } catch(ClassCastException e) { | ||
411 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
412 | return null; | ||
413 | } | ||
414 | } | ||
415 | |||
416 | /** | ||
417 | * @return the singleton instance of the query specification of this pattern | ||
418 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
419 | * | ||
420 | */ | ||
421 | public static IQuerySpecification<SmallSat.Matcher> querySpecification() { | ||
422 | return SmallSat.instance(); | ||
423 | } | ||
424 | } | ||
425 | |||
426 | private SmallSat() { | ||
427 | super(GeneratedPQuery.INSTANCE); | ||
428 | } | ||
429 | |||
430 | /** | ||
431 | * @return the singleton instance of the query specification | ||
432 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
433 | * | ||
434 | */ | ||
435 | public static SmallSat instance() { | ||
436 | try{ | ||
437 | return LazyHolder.INSTANCE; | ||
438 | } catch (ExceptionInInitializerError err) { | ||
439 | throw processInitializerError(err); | ||
440 | } | ||
441 | } | ||
442 | |||
443 | @Override | ||
444 | protected SmallSat.Matcher instantiate(final ViatraQueryEngine engine) { | ||
445 | return SmallSat.Matcher.on(engine); | ||
446 | } | ||
447 | |||
448 | @Override | ||
449 | public SmallSat.Matcher instantiate() { | ||
450 | return SmallSat.Matcher.create(); | ||
451 | } | ||
452 | |||
453 | @Override | ||
454 | public SmallSat.Match newEmptyMatch() { | ||
455 | return SmallSat.Match.newEmptyMatch(); | ||
456 | } | ||
457 | |||
458 | @Override | ||
459 | public SmallSat.Match newMatch(final Object... parameters) { | ||
460 | return SmallSat.Match.newMatch((satellite.SmallSat) parameters[0]); | ||
461 | } | ||
462 | |||
463 | /** | ||
464 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat (visibility: PUBLIC, simpleName: SmallSat, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
465 | * <b>not</b> at the class load time of the outer class, | ||
466 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat (visibility: PUBLIC, simpleName: SmallSat, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
467 | * | ||
468 | * <p> This workaround is required e.g. to support recursion. | ||
469 | * | ||
470 | */ | ||
471 | private static class LazyHolder { | ||
472 | private static final SmallSat INSTANCE = new SmallSat(); | ||
473 | |||
474 | /** | ||
475 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
476 | * This initialization order is required to support indirect recursion. | ||
477 | * | ||
478 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
479 | * | ||
480 | */ | ||
481 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
482 | |||
483 | public static Object ensureInitialized() { | ||
484 | INSTANCE.ensureInitializedInternal(); | ||
485 | return null; | ||
486 | } | ||
487 | } | ||
488 | |||
489 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
490 | private static final SmallSat.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
491 | |||
492 | private final PParameter parameter_Sat = new PParameter("Sat", "satellite.SmallSat", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "SmallSat")), PParameterDirection.INOUT); | ||
493 | |||
494 | private final List<PParameter> parameters = Arrays.asList(parameter_Sat); | ||
495 | |||
496 | private GeneratedPQuery() { | ||
497 | super(PVisibility.PUBLIC); | ||
498 | } | ||
499 | |||
500 | @Override | ||
501 | public String getFullyQualifiedName() { | ||
502 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"; | ||
503 | } | ||
504 | |||
505 | @Override | ||
506 | public List<String> getParameterNames() { | ||
507 | return Arrays.asList("Sat"); | ||
508 | } | ||
509 | |||
510 | @Override | ||
511 | public List<PParameter> getParameters() { | ||
512 | return parameters; | ||
513 | } | ||
514 | |||
515 | @Override | ||
516 | public Set<PBody> doGetContainedBodies() { | ||
517 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
518 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
519 | { | ||
520 | PBody body = new PBody(this); | ||
521 | PVariable var_Sat = body.getOrCreateVariableByName("Sat"); | ||
522 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "SmallSat"))); | ||
523 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
524 | new ExportedParameter(body, var_Sat, parameter_Sat) | ||
525 | )); | ||
526 | // SmallSat(Sat) | ||
527 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "SmallSat"))); | ||
528 | bodies.add(body); | ||
529 | } | ||
530 | return bodies; | ||
531 | } | ||
532 | } | ||
533 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java deleted file mode 100644 index 0fe520c2..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java +++ /dev/null | |||
@@ -1,591 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; | ||
8 | import java.util.Arrays; | ||
9 | import java.util.Collection; | ||
10 | import java.util.LinkedHashSet; | ||
11 | import java.util.List; | ||
12 | import java.util.Objects; | ||
13 | import java.util.Optional; | ||
14 | import java.util.Set; | ||
15 | import java.util.function.Consumer; | ||
16 | import java.util.stream.Collectors; | ||
17 | import java.util.stream.Stream; | ||
18 | import org.apache.log4j.Logger; | ||
19 | import org.eclipse.emf.ecore.EClass; | ||
20 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
21 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
22 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
23 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
24 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; | ||
25 | import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; | ||
26 | import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; | ||
27 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
28 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
29 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
30 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
31 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
32 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
33 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; | ||
34 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
35 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
36 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; | ||
37 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
38 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
39 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
40 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
41 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
42 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
43 | import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | ||
44 | import satellite.CubeSat3U; | ||
45 | |||
46 | /** | ||
47 | * A pattern-specific query specification that can instantiate Matcher in a type-safe way. | ||
48 | * | ||
49 | * <p>Original source: | ||
50 | * <code><pre> | ||
51 | * // 3U CubeSats are assumed to only be able to downlink to Earth using an X-band trasmitter, | ||
52 | * // but cross-link using UHF | ||
53 | * | ||
54 | * {@literal @}Constraint(severity = "error", key = {Sat}, | ||
55 | * message = "3U CubeSats can only cross-link using UHF.") | ||
56 | * pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) { | ||
57 | * CommunicatingElement.commSubsystem(Sat, SourceComm); | ||
58 | * neg find commSubsystemBandUhf(SourceComm); | ||
59 | * CommSubsystem.target(SourceComm, TargetComm); | ||
60 | * CommunicatingElement.commSubsystem(Target, TargetComm); | ||
61 | * neg find groundStationNetwork(Target); | ||
62 | * } | ||
63 | * </pre></code> | ||
64 | * | ||
65 | * @see Matcher | ||
66 | * @see Match | ||
67 | * | ||
68 | */ | ||
69 | @SuppressWarnings("all") | ||
70 | public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuerySpecification<ThreeUCubeSatWithNonUhfCrossLink.Matcher> { | ||
71 | /** | ||
72 | * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink pattern, | ||
73 | * to be used in conjunction with {@link Matcher}. | ||
74 | * | ||
75 | * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. | ||
76 | * Each instance is a (possibly partial) substitution of pattern parameters, | ||
77 | * usable to represent a match of the pattern in the result of a query, | ||
78 | * or to specify the bound (fixed) input parameters when issuing a query. | ||
79 | * | ||
80 | * @see Matcher | ||
81 | * | ||
82 | */ | ||
83 | public static abstract class Match extends BasePatternMatch { | ||
84 | private CubeSat3U fSat; | ||
85 | |||
86 | private static List<String> parameterNames = makeImmutableList("Sat"); | ||
87 | |||
88 | private Match(final CubeSat3U pSat) { | ||
89 | this.fSat = pSat; | ||
90 | } | ||
91 | |||
92 | @Override | ||
93 | public Object get(final String parameterName) { | ||
94 | if ("Sat".equals(parameterName)) return this.fSat; | ||
95 | return null; | ||
96 | } | ||
97 | |||
98 | public CubeSat3U getSat() { | ||
99 | return this.fSat; | ||
100 | } | ||
101 | |||
102 | @Override | ||
103 | public boolean set(final String parameterName, final Object newValue) { | ||
104 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
105 | if ("Sat".equals(parameterName) ) { | ||
106 | this.fSat = (CubeSat3U) newValue; | ||
107 | return true; | ||
108 | } | ||
109 | return false; | ||
110 | } | ||
111 | |||
112 | public void setSat(final CubeSat3U pSat) { | ||
113 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | ||
114 | this.fSat = pSat; | ||
115 | } | ||
116 | |||
117 | @Override | ||
118 | public String patternName() { | ||
119 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"; | ||
120 | } | ||
121 | |||
122 | @Override | ||
123 | public List<String> parameterNames() { | ||
124 | return ThreeUCubeSatWithNonUhfCrossLink.Match.parameterNames; | ||
125 | } | ||
126 | |||
127 | @Override | ||
128 | public Object[] toArray() { | ||
129 | return new Object[]{fSat}; | ||
130 | } | ||
131 | |||
132 | @Override | ||
133 | public ThreeUCubeSatWithNonUhfCrossLink.Match toImmutable() { | ||
134 | return isMutable() ? newMatch(fSat) : this; | ||
135 | } | ||
136 | |||
137 | @Override | ||
138 | public String prettyPrint() { | ||
139 | StringBuilder result = new StringBuilder(); | ||
140 | result.append("\"Sat\"=" + prettyPrintValue(fSat)); | ||
141 | return result.toString(); | ||
142 | } | ||
143 | |||
144 | @Override | ||
145 | public int hashCode() { | ||
146 | return Objects.hash(fSat); | ||
147 | } | ||
148 | |||
149 | @Override | ||
150 | public boolean equals(final Object obj) { | ||
151 | if (this == obj) | ||
152 | return true; | ||
153 | if (obj == null) { | ||
154 | return false; | ||
155 | } | ||
156 | if ((obj instanceof ThreeUCubeSatWithNonUhfCrossLink.Match)) { | ||
157 | ThreeUCubeSatWithNonUhfCrossLink.Match other = (ThreeUCubeSatWithNonUhfCrossLink.Match) obj; | ||
158 | return Objects.equals(fSat, other.fSat); | ||
159 | } else { | ||
160 | // this should be infrequent | ||
161 | if (!(obj instanceof IPatternMatch)) { | ||
162 | return false; | ||
163 | } | ||
164 | IPatternMatch otherSig = (IPatternMatch) obj; | ||
165 | return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); | ||
166 | } | ||
167 | } | ||
168 | |||
169 | @Override | ||
170 | public ThreeUCubeSatWithNonUhfCrossLink specification() { | ||
171 | return ThreeUCubeSatWithNonUhfCrossLink.instance(); | ||
172 | } | ||
173 | |||
174 | /** | ||
175 | * Returns an empty, mutable match. | ||
176 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
177 | * | ||
178 | * @return the empty match. | ||
179 | * | ||
180 | */ | ||
181 | public static ThreeUCubeSatWithNonUhfCrossLink.Match newEmptyMatch() { | ||
182 | return new Mutable(null); | ||
183 | } | ||
184 | |||
185 | /** | ||
186 | * Returns a mutable (partial) match. | ||
187 | * Fields of the mutable match can be filled to create a partial match, usable as matcher input. | ||
188 | * | ||
189 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
190 | * @return the new, mutable (partial) match object. | ||
191 | * | ||
192 | */ | ||
193 | public static ThreeUCubeSatWithNonUhfCrossLink.Match newMutableMatch(final CubeSat3U pSat) { | ||
194 | return new Mutable(pSat); | ||
195 | } | ||
196 | |||
197 | /** | ||
198 | * Returns a new (partial) match. | ||
199 | * This can be used e.g. to call the matcher with a partial match. | ||
200 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
201 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
202 | * @return the (partial) match object. | ||
203 | * | ||
204 | */ | ||
205 | public static ThreeUCubeSatWithNonUhfCrossLink.Match newMatch(final CubeSat3U pSat) { | ||
206 | return new Immutable(pSat); | ||
207 | } | ||
208 | |||
209 | private static final class Mutable extends ThreeUCubeSatWithNonUhfCrossLink.Match { | ||
210 | Mutable(final CubeSat3U pSat) { | ||
211 | super(pSat); | ||
212 | } | ||
213 | |||
214 | @Override | ||
215 | public boolean isMutable() { | ||
216 | return true; | ||
217 | } | ||
218 | } | ||
219 | |||
220 | private static final class Immutable extends ThreeUCubeSatWithNonUhfCrossLink.Match { | ||
221 | Immutable(final CubeSat3U pSat) { | ||
222 | super(pSat); | ||
223 | } | ||
224 | |||
225 | @Override | ||
226 | public boolean isMutable() { | ||
227 | return false; | ||
228 | } | ||
229 | } | ||
230 | } | ||
231 | |||
232 | /** | ||
233 | * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink pattern, | ||
234 | * providing pattern-specific query methods. | ||
235 | * | ||
236 | * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, | ||
237 | * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. | ||
238 | * | ||
239 | * <p>Matches of the pattern will be represented as {@link Match}. | ||
240 | * | ||
241 | * <p>Original source: | ||
242 | * <code><pre> | ||
243 | * // 3U CubeSats are assumed to only be able to downlink to Earth using an X-band trasmitter, | ||
244 | * // but cross-link using UHF | ||
245 | * | ||
246 | * {@literal @}Constraint(severity = "error", key = {Sat}, | ||
247 | * message = "3U CubeSats can only cross-link using UHF.") | ||
248 | * pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) { | ||
249 | * CommunicatingElement.commSubsystem(Sat, SourceComm); | ||
250 | * neg find commSubsystemBandUhf(SourceComm); | ||
251 | * CommSubsystem.target(SourceComm, TargetComm); | ||
252 | * CommunicatingElement.commSubsystem(Target, TargetComm); | ||
253 | * neg find groundStationNetwork(Target); | ||
254 | * } | ||
255 | * </pre></code> | ||
256 | * | ||
257 | * @see Match | ||
258 | * @see ThreeUCubeSatWithNonUhfCrossLink | ||
259 | * | ||
260 | */ | ||
261 | public static class Matcher extends BaseMatcher<ThreeUCubeSatWithNonUhfCrossLink.Match> { | ||
262 | /** | ||
263 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
264 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
265 | * | ||
266 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
267 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
268 | * | ||
269 | */ | ||
270 | public static ThreeUCubeSatWithNonUhfCrossLink.Matcher on(final ViatraQueryEngine engine) { | ||
271 | // check if matcher already exists | ||
272 | Matcher matcher = engine.getExistingMatcher(querySpecification()); | ||
273 | if (matcher == null) { | ||
274 | matcher = (Matcher)engine.getMatcher(querySpecification()); | ||
275 | } | ||
276 | return matcher; | ||
277 | } | ||
278 | |||
279 | /** | ||
280 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
281 | * @return an initialized matcher | ||
282 | * @noreference This method is for internal matcher initialization by the framework, do not call it manually. | ||
283 | * | ||
284 | */ | ||
285 | public static ThreeUCubeSatWithNonUhfCrossLink.Matcher create() { | ||
286 | return new Matcher(); | ||
287 | } | ||
288 | |||
289 | private static final int POSITION_SAT = 0; | ||
290 | |||
291 | private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(ThreeUCubeSatWithNonUhfCrossLink.Matcher.class); | ||
292 | |||
293 | /** | ||
294 | * Initializes the pattern matcher within an existing VIATRA Query engine. | ||
295 | * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. | ||
296 | * | ||
297 | * @param engine the existing VIATRA Query engine in which this matcher will be created. | ||
298 | * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation | ||
299 | * | ||
300 | */ | ||
301 | private Matcher() { | ||
302 | super(querySpecification()); | ||
303 | } | ||
304 | |||
305 | /** | ||
306 | * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. | ||
307 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
308 | * @return matches represented as a Match object. | ||
309 | * | ||
310 | */ | ||
311 | public Collection<ThreeUCubeSatWithNonUhfCrossLink.Match> getAllMatches(final CubeSat3U pSat) { | ||
312 | return rawStreamAllMatches(new Object[]{pSat}).collect(Collectors.toSet()); | ||
313 | } | ||
314 | |||
315 | /** | ||
316 | * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. | ||
317 | * </p> | ||
318 | * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. | ||
319 | * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. | ||
320 | * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. | ||
321 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
322 | * @return a stream of matches represented as a Match object. | ||
323 | * | ||
324 | */ | ||
325 | public Stream<ThreeUCubeSatWithNonUhfCrossLink.Match> streamAllMatches(final CubeSat3U pSat) { | ||
326 | return rawStreamAllMatches(new Object[]{pSat}); | ||
327 | } | ||
328 | |||
329 | /** | ||
330 | * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
331 | * Neither determinism nor randomness of selection is guaranteed. | ||
332 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
333 | * @return a match represented as a Match object, or null if no match is found. | ||
334 | * | ||
335 | */ | ||
336 | public Optional<ThreeUCubeSatWithNonUhfCrossLink.Match> getOneArbitraryMatch(final CubeSat3U pSat) { | ||
337 | return rawGetOneArbitraryMatch(new Object[]{pSat}); | ||
338 | } | ||
339 | |||
340 | /** | ||
341 | * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, | ||
342 | * under any possible substitution of the unspecified parameters (if any). | ||
343 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
344 | * @return true if the input is a valid (partial) match of the pattern. | ||
345 | * | ||
346 | */ | ||
347 | public boolean hasMatch(final CubeSat3U pSat) { | ||
348 | return rawHasMatch(new Object[]{pSat}); | ||
349 | } | ||
350 | |||
351 | /** | ||
352 | * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. | ||
353 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
354 | * @return the number of pattern matches found. | ||
355 | * | ||
356 | */ | ||
357 | public int countMatches(final CubeSat3U pSat) { | ||
358 | return rawCountMatches(new Object[]{pSat}); | ||
359 | } | ||
360 | |||
361 | /** | ||
362 | * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. | ||
363 | * Neither determinism nor randomness of selection is guaranteed. | ||
364 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
365 | * @param processor the action that will process the selected match. | ||
366 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | ||
367 | * | ||
368 | */ | ||
369 | public boolean forOneArbitraryMatch(final CubeSat3U pSat, final Consumer<? super ThreeUCubeSatWithNonUhfCrossLink.Match> processor) { | ||
370 | return rawForOneArbitraryMatch(new Object[]{pSat}, processor); | ||
371 | } | ||
372 | |||
373 | /** | ||
374 | * Returns a new (partial) match. | ||
375 | * This can be used e.g. to call the matcher with a partial match. | ||
376 | * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. | ||
377 | * @param pSat the fixed value of pattern parameter Sat, or null if not bound. | ||
378 | * @return the (partial) match object. | ||
379 | * | ||
380 | */ | ||
381 | public ThreeUCubeSatWithNonUhfCrossLink.Match newMatch(final CubeSat3U pSat) { | ||
382 | return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch(pSat); | ||
383 | } | ||
384 | |||
385 | /** | ||
386 | * Retrieve the set of values that occur in matches for Sat. | ||
387 | * @return the Set of all values or empty set if there are no matches | ||
388 | * | ||
389 | */ | ||
390 | protected Stream<CubeSat3U> rawStreamAllValuesOfSat(final Object[] parameters) { | ||
391 | return rawStreamAllValues(POSITION_SAT, parameters).map(CubeSat3U.class::cast); | ||
392 | } | ||
393 | |||
394 | /** | ||
395 | * Retrieve the set of values that occur in matches for Sat. | ||
396 | * @return the Set of all values or empty set if there are no matches | ||
397 | * | ||
398 | */ | ||
399 | public Set<CubeSat3U> getAllValuesOfSat() { | ||
400 | return rawStreamAllValuesOfSat(emptyArray()).collect(Collectors.toSet()); | ||
401 | } | ||
402 | |||
403 | /** | ||
404 | * Retrieve the set of values that occur in matches for Sat. | ||
405 | * @return the Set of all values or empty set if there are no matches | ||
406 | * | ||
407 | */ | ||
408 | public Stream<CubeSat3U> streamAllValuesOfSat() { | ||
409 | return rawStreamAllValuesOfSat(emptyArray()); | ||
410 | } | ||
411 | |||
412 | @Override | ||
413 | protected ThreeUCubeSatWithNonUhfCrossLink.Match tupleToMatch(final Tuple t) { | ||
414 | try { | ||
415 | return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch((CubeSat3U) t.get(POSITION_SAT)); | ||
416 | } catch(ClassCastException e) { | ||
417 | LOGGER.error("Element(s) in tuple not properly typed!",e); | ||
418 | return null; | ||
419 | } | ||
420 | } | ||
421 | |||
422 | @Override | ||
423 | protected ThreeUCubeSatWithNonUhfCrossLink.Match arrayToMatch(final Object[] match) { | ||
424 | try { | ||
425 | return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch((CubeSat3U) match[POSITION_SAT]); | ||
426 | } catch(ClassCastException e) { | ||
427 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
428 | return null; | ||
429 | } | ||
430 | } | ||
431 | |||
432 | @Override | ||
433 | protected ThreeUCubeSatWithNonUhfCrossLink.Match arrayToMatchMutable(final Object[] match) { | ||
434 | try { | ||
435 | return ThreeUCubeSatWithNonUhfCrossLink.Match.newMutableMatch((CubeSat3U) match[POSITION_SAT]); | ||
436 | } catch(ClassCastException e) { | ||
437 | LOGGER.error("Element(s) in array not properly typed!",e); | ||
438 | return null; | ||
439 | } | ||
440 | } | ||
441 | |||
442 | /** | ||
443 | * @return the singleton instance of the query specification of this pattern | ||
444 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
445 | * | ||
446 | */ | ||
447 | public static IQuerySpecification<ThreeUCubeSatWithNonUhfCrossLink.Matcher> querySpecification() { | ||
448 | return ThreeUCubeSatWithNonUhfCrossLink.instance(); | ||
449 | } | ||
450 | } | ||
451 | |||
452 | private ThreeUCubeSatWithNonUhfCrossLink() { | ||
453 | super(GeneratedPQuery.INSTANCE); | ||
454 | } | ||
455 | |||
456 | /** | ||
457 | * @return the singleton instance of the query specification | ||
458 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
459 | * | ||
460 | */ | ||
461 | public static ThreeUCubeSatWithNonUhfCrossLink instance() { | ||
462 | try{ | ||
463 | return LazyHolder.INSTANCE; | ||
464 | } catch (ExceptionInInitializerError err) { | ||
465 | throw processInitializerError(err); | ||
466 | } | ||
467 | } | ||
468 | |||
469 | @Override | ||
470 | protected ThreeUCubeSatWithNonUhfCrossLink.Matcher instantiate(final ViatraQueryEngine engine) { | ||
471 | return ThreeUCubeSatWithNonUhfCrossLink.Matcher.on(engine); | ||
472 | } | ||
473 | |||
474 | @Override | ||
475 | public ThreeUCubeSatWithNonUhfCrossLink.Matcher instantiate() { | ||
476 | return ThreeUCubeSatWithNonUhfCrossLink.Matcher.create(); | ||
477 | } | ||
478 | |||
479 | @Override | ||
480 | public ThreeUCubeSatWithNonUhfCrossLink.Match newEmptyMatch() { | ||
481 | return ThreeUCubeSatWithNonUhfCrossLink.Match.newEmptyMatch(); | ||
482 | } | ||
483 | |||
484 | @Override | ||
485 | public ThreeUCubeSatWithNonUhfCrossLink.Match newMatch(final Object... parameters) { | ||
486 | return ThreeUCubeSatWithNonUhfCrossLink.Match.newMatch((satellite.CubeSat3U) parameters[0]); | ||
487 | } | ||
488 | |||
489 | /** | ||
490 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink (visibility: PUBLIC, simpleName: ThreeUCubeSatWithNonUhfCrossLink, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
491 | * <b>not</b> at the class load time of the outer class, | ||
492 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink (visibility: PUBLIC, simpleName: ThreeUCubeSatWithNonUhfCrossLink, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
493 | * | ||
494 | * <p> This workaround is required e.g. to support recursion. | ||
495 | * | ||
496 | */ | ||
497 | private static class LazyHolder { | ||
498 | private static final ThreeUCubeSatWithNonUhfCrossLink INSTANCE = new ThreeUCubeSatWithNonUhfCrossLink(); | ||
499 | |||
500 | /** | ||
501 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
502 | * This initialization order is required to support indirect recursion. | ||
503 | * | ||
504 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
505 | * | ||
506 | */ | ||
507 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
508 | |||
509 | public static Object ensureInitialized() { | ||
510 | INSTANCE.ensureInitializedInternal(); | ||
511 | return null; | ||
512 | } | ||
513 | } | ||
514 | |||
515 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
516 | private static final ThreeUCubeSatWithNonUhfCrossLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
517 | |||
518 | private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); | ||
519 | |||
520 | private final List<PParameter> parameters = Arrays.asList(parameter_Sat); | ||
521 | |||
522 | private GeneratedPQuery() { | ||
523 | super(PVisibility.PUBLIC); | ||
524 | } | ||
525 | |||
526 | @Override | ||
527 | public String getFullyQualifiedName() { | ||
528 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"; | ||
529 | } | ||
530 | |||
531 | @Override | ||
532 | public List<String> getParameterNames() { | ||
533 | return Arrays.asList("Sat"); | ||
534 | } | ||
535 | |||
536 | @Override | ||
537 | public List<PParameter> getParameters() { | ||
538 | return parameters; | ||
539 | } | ||
540 | |||
541 | @Override | ||
542 | public Set<PBody> doGetContainedBodies() { | ||
543 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
544 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
545 | { | ||
546 | PBody body = new PBody(this); | ||
547 | PVariable var_Sat = body.getOrCreateVariableByName("Sat"); | ||
548 | PVariable var_SourceComm = body.getOrCreateVariableByName("SourceComm"); | ||
549 | PVariable var_TargetComm = body.getOrCreateVariableByName("TargetComm"); | ||
550 | PVariable var_Target = body.getOrCreateVariableByName("Target"); | ||
551 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); | ||
552 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
553 | new ExportedParameter(body, var_Sat, parameter_Sat) | ||
554 | )); | ||
555 | // CommunicatingElement.commSubsystem(Sat, SourceComm) | ||
556 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
557 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
558 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); | ||
559 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
560 | new Equality(body, var__virtual_0_, var_SourceComm); | ||
561 | // neg find commSubsystemBandUhf(SourceComm) | ||
562 | new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceComm), CommSubsystemBandUhf.instance().getInternalQueryRepresentation()); | ||
563 | // CommSubsystem.target(SourceComm, TargetComm) | ||
564 | new TypeConstraint(body, Tuples.flatTupleOf(var_SourceComm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
565 | PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); | ||
566 | new TypeConstraint(body, Tuples.flatTupleOf(var_SourceComm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target"))); | ||
567 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
568 | new Equality(body, var__virtual_1_, var_TargetComm); | ||
569 | // CommunicatingElement.commSubsystem(Target, TargetComm) | ||
570 | new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
571 | PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); | ||
572 | new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); | ||
573 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
574 | new Equality(body, var__virtual_2_, var_TargetComm); | ||
575 | // neg find groundStationNetwork(Target) | ||
576 | new NegativePatternCall(body, Tuples.flatTupleOf(var_Target), GroundStationNetwork.instance().getInternalQueryRepresentation()); | ||
577 | bodies.add(body); | ||
578 | } | ||
579 | { | ||
580 | PAnnotation annotation = new PAnnotation("Constraint"); | ||
581 | annotation.addAttribute("severity", "error"); | ||
582 | annotation.addAttribute("key", Arrays.asList(new Object[] { | ||
583 | new ParameterReference("Sat") | ||
584 | })); | ||
585 | annotation.addAttribute("message", "3U CubeSats can only cross-link using UHF."); | ||
586 | addAnnotation(annotation); | ||
587 | } | ||
588 | return bodies; | ||
589 | } | ||
590 | } | ||
591 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace deleted file mode 100644 index 09c00a25..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace deleted file mode 100644 index 8b57b000..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore deleted file mode 100644 index 2f9ae41d..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | /.CommunicationLink.java._trace | ||
2 | /.SatelliteQueriesAll.java._trace | ||
3 | /.IndirectCommunicationLink.java._trace | ||
4 | /.DirectCommunicationLink.java._trace | ||
5 | /.SpacecraftWithInterferometryPayload.java._trace | ||
6 | /.SingleInterferometryPayload.java._trace | ||
7 | /.AtLeastTwoInterferometryPayloads.java._trace | ||
8 | /.DirectCommunicationLink2.java._trace | ||
9 | /.CommSubsystemBand.java._trace | ||
10 | /.CommSubsystemGain.java._trace | ||
11 | /.GroundStationNetwork.java._trace | ||
12 | /.SmallSat.java._trace | ||
13 | /.CommSubsystemGainLow.java._trace | ||
14 | /.CommSubsystemGainMedium.java._trace | ||
15 | /.CommSubsystemBandUhf.java._trace | ||
16 | /.MissionCoverage.java._trace | ||
17 | /.SatelliteMetricsAll.java._trace | ||
18 | /.MissionTime.java._trace | ||
19 | /.TimeMetric.java._trace | ||
20 | /.TransmitTime.java._trace | ||
21 | /.TransmitRate.java._trace | ||
22 | /.SpacecraftUplink.java._trace | ||
23 | /.MissionScienceData.java._trace | ||
24 | /.IndirectScienceData.java._trace | ||
25 | /.ScienceData.java._trace | ||
26 | /.IncomingData.java._trace | ||
27 | /.MissionCost.java._trace | ||
28 | /.BasePrice.java._trace | ||
29 | /.SpacecraftOfKind.java._trace | ||
30 | /.InterferometryPayloadCost.java._trace | ||
31 | /.AdditionalCommSubsystemCost.java._trace | ||
32 | /.SpacecraftWithTwoCommSubsystems.java._trace | ||
33 | /.SpacecraftCost.java._trace | ||
34 | /.CrossLinkAllowed.java._trace | ||
35 | /.MatchingAntenna.java._trace | ||
36 | /.CubeSat3U.java._trace | ||
37 | /.LinkAllowed.java._trace | ||
38 | /.IndirectLinkAllowed.java._trace | ||
39 | /AdditionalCommSubsystemCost.java | ||
40 | /AtLeastTwoInterferometryPayloads.java | ||
41 | /BasePrice.java | ||
42 | /CommSubsystemBand.java | ||
43 | /CommSubsystemBandUhf.java | ||
44 | /CommSubsystemGain.java | ||
45 | /CommSubsystemGainLow.java | ||
46 | /CommSubsystemGainMedium.java | ||
47 | /CubeSat3U.java | ||
48 | /DirectCommunicationLink.java | ||
49 | /GroundStationNetwork.java | ||
50 | /IncomingData.java | ||
51 | /IndirectCommunicationLink.java | ||
52 | /IndirectLinkAllowed.java | ||
53 | /InterferometryPayloadCost.java | ||
54 | /LinkAllowed.java | ||
55 | /MatchingAntenna.java | ||
56 | /MissionCost.java | ||
57 | /MissionCoverage.java | ||
58 | /MissionTime.java | ||
59 | /SatelliteQueriesAll.java | ||
60 | /ScienceData.java | ||
61 | /SpacecraftCost.java | ||
62 | /SpacecraftUplink.java | ||
63 | /SpacecraftWithInterferometryPayload.java | ||
64 | /SpacecraftWithTwoCommSubsystems.java | ||
65 | /TransmitRate.java | ||
66 | /TransmitTime.java | ||
67 | /.CubeSat6U.java._trace | ||
68 | /.MatchingCommSubsystem.java._trace | ||
69 | /.TransmittingCommSubsystem.java._trace | ||
70 | /.SpacecraftOfKindCount.java._trace | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java deleted file mode 100644 index 58e7e183..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java +++ /dev/null | |||
@@ -1,138 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.LinkedHashSet; | ||
9 | import java.util.List; | ||
10 | import java.util.Set; | ||
11 | import org.eclipse.emf.ecore.EClass; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
13 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
14 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
24 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
25 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
26 | |||
27 | /** | ||
28 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
29 | * | ||
30 | * <p>Original source: | ||
31 | * <code><pre> | ||
32 | * private pattern atLeastTwoInterferometryPayloads(Mission : InterferometryMission) { | ||
33 | * find spacecraftWithInterferometryPayload(Mission, Spacecraft1); | ||
34 | * find spacecraftWithInterferometryPayload(Mission, Spacecraft2); | ||
35 | * Spacecraft1 != Spacecraft2; | ||
36 | * } | ||
37 | * </pre></code> | ||
38 | * | ||
39 | * @see GenericPatternMatcher | ||
40 | * @see GenericPatternMatch | ||
41 | * | ||
42 | */ | ||
43 | @SuppressWarnings("all") | ||
44 | public final class AtLeastTwoInterferometryPayloads extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
45 | private AtLeastTwoInterferometryPayloads() { | ||
46 | super(GeneratedPQuery.INSTANCE); | ||
47 | } | ||
48 | |||
49 | /** | ||
50 | * @return the singleton instance of the query specification | ||
51 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
52 | * | ||
53 | */ | ||
54 | public static AtLeastTwoInterferometryPayloads instance() { | ||
55 | try{ | ||
56 | return LazyHolder.INSTANCE; | ||
57 | } catch (ExceptionInInitializerError err) { | ||
58 | throw processInitializerError(err); | ||
59 | } | ||
60 | } | ||
61 | |||
62 | /** | ||
63 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads (visibility: PUBLIC, simpleName: AtLeastTwoInterferometryPayloads, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
64 | * <b>not</b> at the class load time of the outer class, | ||
65 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads (visibility: PUBLIC, simpleName: AtLeastTwoInterferometryPayloads, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
66 | * | ||
67 | * <p> This workaround is required e.g. to support recursion. | ||
68 | * | ||
69 | */ | ||
70 | private static class LazyHolder { | ||
71 | private static final AtLeastTwoInterferometryPayloads INSTANCE = new AtLeastTwoInterferometryPayloads(); | ||
72 | |||
73 | /** | ||
74 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
75 | * This initialization order is required to support indirect recursion. | ||
76 | * | ||
77 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
78 | * | ||
79 | */ | ||
80 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
81 | |||
82 | public static Object ensureInitialized() { | ||
83 | INSTANCE.ensureInitializedInternal(); | ||
84 | return null; | ||
85 | } | ||
86 | } | ||
87 | |||
88 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
89 | private static final AtLeastTwoInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
90 | |||
91 | private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); | ||
92 | |||
93 | private final List<PParameter> parameters = Arrays.asList(parameter_Mission); | ||
94 | |||
95 | private GeneratedPQuery() { | ||
96 | super(PVisibility.PRIVATE); | ||
97 | } | ||
98 | |||
99 | @Override | ||
100 | public String getFullyQualifiedName() { | ||
101 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"; | ||
102 | } | ||
103 | |||
104 | @Override | ||
105 | public List<String> getParameterNames() { | ||
106 | return Arrays.asList("Mission"); | ||
107 | } | ||
108 | |||
109 | @Override | ||
110 | public List<PParameter> getParameters() { | ||
111 | return parameters; | ||
112 | } | ||
113 | |||
114 | @Override | ||
115 | public Set<PBody> doGetContainedBodies() { | ||
116 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
117 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
118 | { | ||
119 | PBody body = new PBody(this); | ||
120 | PVariable var_Mission = body.getOrCreateVariableByName("Mission"); | ||
121 | PVariable var_Spacecraft1 = body.getOrCreateVariableByName("Spacecraft1"); | ||
122 | PVariable var_Spacecraft2 = body.getOrCreateVariableByName("Spacecraft2"); | ||
123 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); | ||
124 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
125 | new ExportedParameter(body, var_Mission, parameter_Mission) | ||
126 | )); | ||
127 | // find spacecraftWithInterferometryPayload(Mission, Spacecraft1) | ||
128 | new PositivePatternCall(body, Tuples.flatTupleOf(var_Mission, var_Spacecraft1), SpacecraftWithInterferometryPayload.instance().getInternalQueryRepresentation()); | ||
129 | // find spacecraftWithInterferometryPayload(Mission, Spacecraft2) | ||
130 | new PositivePatternCall(body, Tuples.flatTupleOf(var_Mission, var_Spacecraft2), SpacecraftWithInterferometryPayload.instance().getInternalQueryRepresentation()); | ||
131 | // Spacecraft1 != Spacecraft2 | ||
132 | new Inequality(body, var_Spacecraft1, var_Spacecraft2); | ||
133 | bodies.add(body); | ||
134 | } | ||
135 | return bodies; | ||
136 | } | ||
137 | } | ||
138 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java deleted file mode 100644 index 6acd73c3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
23 | |||
24 | /** | ||
25 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
26 | * | ||
27 | * <p>Original source: | ||
28 | * <code><pre> | ||
29 | * private pattern commSubsystemBandUhf(Comm : UHFCommSubsystem) { | ||
30 | * UHFCommSubsystem(Comm); | ||
31 | * } | ||
32 | * </pre></code> | ||
33 | * | ||
34 | * @see GenericPatternMatcher | ||
35 | * @see GenericPatternMatch | ||
36 | * | ||
37 | */ | ||
38 | @SuppressWarnings("all") | ||
39 | public final class CommSubsystemBandUhf extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
40 | private CommSubsystemBandUhf() { | ||
41 | super(GeneratedPQuery.INSTANCE); | ||
42 | } | ||
43 | |||
44 | /** | ||
45 | * @return the singleton instance of the query specification | ||
46 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
47 | * | ||
48 | */ | ||
49 | public static CommSubsystemBandUhf instance() { | ||
50 | try{ | ||
51 | return LazyHolder.INSTANCE; | ||
52 | } catch (ExceptionInInitializerError err) { | ||
53 | throw processInitializerError(err); | ||
54 | } | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf (visibility: PUBLIC, simpleName: CommSubsystemBandUhf, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
59 | * <b>not</b> at the class load time of the outer class, | ||
60 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf (visibility: PUBLIC, simpleName: CommSubsystemBandUhf, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
61 | * | ||
62 | * <p> This workaround is required e.g. to support recursion. | ||
63 | * | ||
64 | */ | ||
65 | private static class LazyHolder { | ||
66 | private static final CommSubsystemBandUhf INSTANCE = new CommSubsystemBandUhf(); | ||
67 | |||
68 | /** | ||
69 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
70 | * This initialization order is required to support indirect recursion. | ||
71 | * | ||
72 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
73 | * | ||
74 | */ | ||
75 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
76 | |||
77 | public static Object ensureInitialized() { | ||
78 | INSTANCE.ensureInitializedInternal(); | ||
79 | return null; | ||
80 | } | ||
81 | } | ||
82 | |||
83 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
84 | private static final CommSubsystemBandUhf.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
85 | |||
86 | private final PParameter parameter_Comm = new PParameter("Comm", "satellite.UHFCommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "UHFCommSubsystem")), PParameterDirection.INOUT); | ||
87 | |||
88 | private final List<PParameter> parameters = Arrays.asList(parameter_Comm); | ||
89 | |||
90 | private GeneratedPQuery() { | ||
91 | super(PVisibility.PRIVATE); | ||
92 | } | ||
93 | |||
94 | @Override | ||
95 | public String getFullyQualifiedName() { | ||
96 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"; | ||
97 | } | ||
98 | |||
99 | @Override | ||
100 | public List<String> getParameterNames() { | ||
101 | return Arrays.asList("Comm"); | ||
102 | } | ||
103 | |||
104 | @Override | ||
105 | public List<PParameter> getParameters() { | ||
106 | return parameters; | ||
107 | } | ||
108 | |||
109 | @Override | ||
110 | public Set<PBody> doGetContainedBodies() { | ||
111 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
112 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
113 | { | ||
114 | PBody body = new PBody(this); | ||
115 | PVariable var_Comm = body.getOrCreateVariableByName("Comm"); | ||
116 | new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); | ||
117 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
118 | new ExportedParameter(body, var_Comm, parameter_Comm) | ||
119 | )); | ||
120 | // UHFCommSubsystem(Comm) | ||
121 | new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); | ||
122 | bodies.add(body); | ||
123 | } | ||
124 | return bodies; | ||
125 | } | ||
126 | } | ||
127 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java deleted file mode 100644 index acc60475..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
23 | |||
24 | /** | ||
25 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
26 | * | ||
27 | * <p>Original source: | ||
28 | * <code><pre> | ||
29 | * private pattern cubeSat3U(Sat : CubeSat3U) { | ||
30 | * CubeSat3U(Sat); | ||
31 | * } | ||
32 | * </pre></code> | ||
33 | * | ||
34 | * @see GenericPatternMatcher | ||
35 | * @see GenericPatternMatch | ||
36 | * | ||
37 | */ | ||
38 | @SuppressWarnings("all") | ||
39 | public final class CubeSat3U extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
40 | private CubeSat3U() { | ||
41 | super(GeneratedPQuery.INSTANCE); | ||
42 | } | ||
43 | |||
44 | /** | ||
45 | * @return the singleton instance of the query specification | ||
46 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
47 | * | ||
48 | */ | ||
49 | public static CubeSat3U instance() { | ||
50 | try{ | ||
51 | return LazyHolder.INSTANCE; | ||
52 | } catch (ExceptionInInitializerError err) { | ||
53 | throw processInitializerError(err); | ||
54 | } | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U (visibility: PUBLIC, simpleName: CubeSat3U, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
59 | * <b>not</b> at the class load time of the outer class, | ||
60 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U (visibility: PUBLIC, simpleName: CubeSat3U, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
61 | * | ||
62 | * <p> This workaround is required e.g. to support recursion. | ||
63 | * | ||
64 | */ | ||
65 | private static class LazyHolder { | ||
66 | private static final CubeSat3U INSTANCE = new CubeSat3U(); | ||
67 | |||
68 | /** | ||
69 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
70 | * This initialization order is required to support indirect recursion. | ||
71 | * | ||
72 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
73 | * | ||
74 | */ | ||
75 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
76 | |||
77 | public static Object ensureInitialized() { | ||
78 | INSTANCE.ensureInitializedInternal(); | ||
79 | return null; | ||
80 | } | ||
81 | } | ||
82 | |||
83 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
84 | private static final CubeSat3U.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
85 | |||
86 | private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); | ||
87 | |||
88 | private final List<PParameter> parameters = Arrays.asList(parameter_Sat); | ||
89 | |||
90 | private GeneratedPQuery() { | ||
91 | super(PVisibility.PRIVATE); | ||
92 | } | ||
93 | |||
94 | @Override | ||
95 | public String getFullyQualifiedName() { | ||
96 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"; | ||
97 | } | ||
98 | |||
99 | @Override | ||
100 | public List<String> getParameterNames() { | ||
101 | return Arrays.asList("Sat"); | ||
102 | } | ||
103 | |||
104 | @Override | ||
105 | public List<PParameter> getParameters() { | ||
106 | return parameters; | ||
107 | } | ||
108 | |||
109 | @Override | ||
110 | public Set<PBody> doGetContainedBodies() { | ||
111 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
112 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
113 | { | ||
114 | PBody body = new PBody(this); | ||
115 | PVariable var_Sat = body.getOrCreateVariableByName("Sat"); | ||
116 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); | ||
117 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
118 | new ExportedParameter(body, var_Sat, parameter_Sat) | ||
119 | )); | ||
120 | // CubeSat3U(Sat) | ||
121 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); | ||
122 | bodies.add(body); | ||
123 | } | ||
124 | return bodies; | ||
125 | } | ||
126 | } | ||
127 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java deleted file mode 100644 index e4526a02..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
23 | |||
24 | /** | ||
25 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
26 | * | ||
27 | * <p>Original source: | ||
28 | * <code><pre> | ||
29 | * private pattern cubeSat6U(Sat : CubeSat6U) { | ||
30 | * CubeSat6U(Sat); | ||
31 | * } | ||
32 | * </pre></code> | ||
33 | * | ||
34 | * @see GenericPatternMatcher | ||
35 | * @see GenericPatternMatch | ||
36 | * | ||
37 | */ | ||
38 | @SuppressWarnings("all") | ||
39 | public final class CubeSat6U extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
40 | private CubeSat6U() { | ||
41 | super(GeneratedPQuery.INSTANCE); | ||
42 | } | ||
43 | |||
44 | /** | ||
45 | * @return the singleton instance of the query specification | ||
46 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
47 | * | ||
48 | */ | ||
49 | public static CubeSat6U instance() { | ||
50 | try{ | ||
51 | return LazyHolder.INSTANCE; | ||
52 | } catch (ExceptionInInitializerError err) { | ||
53 | throw processInitializerError(err); | ||
54 | } | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U (visibility: PUBLIC, simpleName: CubeSat6U, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
59 | * <b>not</b> at the class load time of the outer class, | ||
60 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U (visibility: PUBLIC, simpleName: CubeSat6U, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
61 | * | ||
62 | * <p> This workaround is required e.g. to support recursion. | ||
63 | * | ||
64 | */ | ||
65 | private static class LazyHolder { | ||
66 | private static final CubeSat6U INSTANCE = new CubeSat6U(); | ||
67 | |||
68 | /** | ||
69 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
70 | * This initialization order is required to support indirect recursion. | ||
71 | * | ||
72 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
73 | * | ||
74 | */ | ||
75 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
76 | |||
77 | public static Object ensureInitialized() { | ||
78 | INSTANCE.ensureInitializedInternal(); | ||
79 | return null; | ||
80 | } | ||
81 | } | ||
82 | |||
83 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
84 | private static final CubeSat6U.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
85 | |||
86 | private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat6U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat6U")), PParameterDirection.INOUT); | ||
87 | |||
88 | private final List<PParameter> parameters = Arrays.asList(parameter_Sat); | ||
89 | |||
90 | private GeneratedPQuery() { | ||
91 | super(PVisibility.PRIVATE); | ||
92 | } | ||
93 | |||
94 | @Override | ||
95 | public String getFullyQualifiedName() { | ||
96 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U"; | ||
97 | } | ||
98 | |||
99 | @Override | ||
100 | public List<String> getParameterNames() { | ||
101 | return Arrays.asList("Sat"); | ||
102 | } | ||
103 | |||
104 | @Override | ||
105 | public List<PParameter> getParameters() { | ||
106 | return parameters; | ||
107 | } | ||
108 | |||
109 | @Override | ||
110 | public Set<PBody> doGetContainedBodies() { | ||
111 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
112 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
113 | { | ||
114 | PBody body = new PBody(this); | ||
115 | PVariable var_Sat = body.getOrCreateVariableByName("Sat"); | ||
116 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U"))); | ||
117 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
118 | new ExportedParameter(body, var_Sat, parameter_Sat) | ||
119 | )); | ||
120 | // CubeSat6U(Sat) | ||
121 | new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U"))); | ||
122 | bodies.add(body); | ||
123 | } | ||
124 | return bodies; | ||
125 | } | ||
126 | } | ||
127 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java deleted file mode 100644 index ee4d8715..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java +++ /dev/null | |||
@@ -1,154 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
24 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
25 | |||
26 | /** | ||
27 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
28 | * | ||
29 | * <p>Original source: | ||
30 | * <code><pre> | ||
31 | * private pattern directCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) { | ||
32 | * CommSubsystem.target(SourceSubsystem, TargetSubsystem); | ||
33 | * CommunicatingElement.commSubsystem(Source, SourceSubsystem); | ||
34 | * CommunicatingElement.commSubsystem(Target, TargetSubsystem); | ||
35 | * } | ||
36 | * </pre></code> | ||
37 | * | ||
38 | * @see GenericPatternMatcher | ||
39 | * @see GenericPatternMatch | ||
40 | * | ||
41 | */ | ||
42 | @SuppressWarnings("all") | ||
43 | public final class DirectCommunicationLink extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
44 | private DirectCommunicationLink() { | ||
45 | super(GeneratedPQuery.INSTANCE); | ||
46 | } | ||
47 | |||
48 | /** | ||
49 | * @return the singleton instance of the query specification | ||
50 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
51 | * | ||
52 | */ | ||
53 | public static DirectCommunicationLink instance() { | ||
54 | try{ | ||
55 | return LazyHolder.INSTANCE; | ||
56 | } catch (ExceptionInInitializerError err) { | ||
57 | throw processInitializerError(err); | ||
58 | } | ||
59 | } | ||
60 | |||
61 | /** | ||
62 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink (visibility: PUBLIC, simpleName: DirectCommunicationLink, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
63 | * <b>not</b> at the class load time of the outer class, | ||
64 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink (visibility: PUBLIC, simpleName: DirectCommunicationLink, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
65 | * | ||
66 | * <p> This workaround is required e.g. to support recursion. | ||
67 | * | ||
68 | */ | ||
69 | private static class LazyHolder { | ||
70 | private static final DirectCommunicationLink INSTANCE = new DirectCommunicationLink(); | ||
71 | |||
72 | /** | ||
73 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
74 | * This initialization order is required to support indirect recursion. | ||
75 | * | ||
76 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
77 | * | ||
78 | */ | ||
79 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
80 | |||
81 | public static Object ensureInitialized() { | ||
82 | INSTANCE.ensureInitializedInternal(); | ||
83 | return null; | ||
84 | } | ||
85 | } | ||
86 | |||
87 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
88 | private static final DirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
89 | |||
90 | private final PParameter parameter_Source = new PParameter("Source", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
91 | |||
92 | private final PParameter parameter_Target = new PParameter("Target", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
93 | |||
94 | private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target); | ||
95 | |||
96 | private GeneratedPQuery() { | ||
97 | super(PVisibility.PRIVATE); | ||
98 | } | ||
99 | |||
100 | @Override | ||
101 | public String getFullyQualifiedName() { | ||
102 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"; | ||
103 | } | ||
104 | |||
105 | @Override | ||
106 | public List<String> getParameterNames() { | ||
107 | return Arrays.asList("Source","Target"); | ||
108 | } | ||
109 | |||
110 | @Override | ||
111 | public List<PParameter> getParameters() { | ||
112 | return parameters; | ||
113 | } | ||
114 | |||
115 | @Override | ||
116 | public Set<PBody> doGetContainedBodies() { | ||
117 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
118 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
119 | { | ||
120 | PBody body = new PBody(this); | ||
121 | PVariable var_Source = body.getOrCreateVariableByName("Source"); | ||
122 | PVariable var_Target = body.getOrCreateVariableByName("Target"); | ||
123 | PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem"); | ||
124 | PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem"); | ||
125 | new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
126 | new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
127 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
128 | new ExportedParameter(body, var_Source, parameter_Source), | ||
129 | new ExportedParameter(body, var_Target, parameter_Target) | ||
130 | )); | ||
131 | // CommSubsystem.target(SourceSubsystem, TargetSubsystem) | ||
132 | new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
133 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
134 | new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target"))); | ||
135 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
136 | new Equality(body, var__virtual_0_, var_TargetSubsystem); | ||
137 | // CommunicatingElement.commSubsystem(Source, SourceSubsystem) | ||
138 | new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
139 | PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); | ||
140 | new TypeConstraint(body, Tuples.flatTupleOf(var_Source, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); | ||
141 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
142 | new Equality(body, var__virtual_1_, var_SourceSubsystem); | ||
143 | // CommunicatingElement.commSubsystem(Target, TargetSubsystem) | ||
144 | new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
145 | PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); | ||
146 | new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); | ||
147 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
148 | new Equality(body, var__virtual_2_, var_TargetSubsystem); | ||
149 | bodies.add(body); | ||
150 | } | ||
151 | return bodies; | ||
152 | } | ||
153 | } | ||
154 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java deleted file mode 100644 index 606cdfed..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
23 | |||
24 | /** | ||
25 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
26 | * | ||
27 | * <p>Original source: | ||
28 | * <code><pre> | ||
29 | * private pattern groundStationNetwork(Network : GroundStationNetwork) { | ||
30 | * GroundStationNetwork(Network); | ||
31 | * } | ||
32 | * </pre></code> | ||
33 | * | ||
34 | * @see GenericPatternMatcher | ||
35 | * @see GenericPatternMatch | ||
36 | * | ||
37 | */ | ||
38 | @SuppressWarnings("all") | ||
39 | public final class GroundStationNetwork extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
40 | private GroundStationNetwork() { | ||
41 | super(GeneratedPQuery.INSTANCE); | ||
42 | } | ||
43 | |||
44 | /** | ||
45 | * @return the singleton instance of the query specification | ||
46 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
47 | * | ||
48 | */ | ||
49 | public static GroundStationNetwork instance() { | ||
50 | try{ | ||
51 | return LazyHolder.INSTANCE; | ||
52 | } catch (ExceptionInInitializerError err) { | ||
53 | throw processInitializerError(err); | ||
54 | } | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork (visibility: PUBLIC, simpleName: GroundStationNetwork, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
59 | * <b>not</b> at the class load time of the outer class, | ||
60 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork (visibility: PUBLIC, simpleName: GroundStationNetwork, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
61 | * | ||
62 | * <p> This workaround is required e.g. to support recursion. | ||
63 | * | ||
64 | */ | ||
65 | private static class LazyHolder { | ||
66 | private static final GroundStationNetwork INSTANCE = new GroundStationNetwork(); | ||
67 | |||
68 | /** | ||
69 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
70 | * This initialization order is required to support indirect recursion. | ||
71 | * | ||
72 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
73 | * | ||
74 | */ | ||
75 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
76 | |||
77 | public static Object ensureInitialized() { | ||
78 | INSTANCE.ensureInitializedInternal(); | ||
79 | return null; | ||
80 | } | ||
81 | } | ||
82 | |||
83 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
84 | private static final GroundStationNetwork.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
85 | |||
86 | private final PParameter parameter_Network = new PParameter("Network", "satellite.GroundStationNetwork", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "GroundStationNetwork")), PParameterDirection.INOUT); | ||
87 | |||
88 | private final List<PParameter> parameters = Arrays.asList(parameter_Network); | ||
89 | |||
90 | private GeneratedPQuery() { | ||
91 | super(PVisibility.PRIVATE); | ||
92 | } | ||
93 | |||
94 | @Override | ||
95 | public String getFullyQualifiedName() { | ||
96 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"; | ||
97 | } | ||
98 | |||
99 | @Override | ||
100 | public List<String> getParameterNames() { | ||
101 | return Arrays.asList("Network"); | ||
102 | } | ||
103 | |||
104 | @Override | ||
105 | public List<PParameter> getParameters() { | ||
106 | return parameters; | ||
107 | } | ||
108 | |||
109 | @Override | ||
110 | public Set<PBody> doGetContainedBodies() { | ||
111 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
112 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
113 | { | ||
114 | PBody body = new PBody(this); | ||
115 | PVariable var_Network = body.getOrCreateVariableByName("Network"); | ||
116 | new TypeConstraint(body, Tuples.flatTupleOf(var_Network), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); | ||
117 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
118 | new ExportedParameter(body, var_Network, parameter_Network) | ||
119 | )); | ||
120 | // GroundStationNetwork(Network) | ||
121 | new TypeConstraint(body, Tuples.flatTupleOf(var_Network), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); | ||
122 | bodies.add(body); | ||
123 | } | ||
124 | return bodies; | ||
125 | } | ||
126 | } | ||
127 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java deleted file mode 100644 index dee8a83c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java +++ /dev/null | |||
@@ -1,134 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.LinkedHashSet; | ||
9 | import java.util.List; | ||
10 | import java.util.Set; | ||
11 | import org.eclipse.emf.ecore.EClass; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
13 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
14 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
24 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
25 | |||
26 | /** | ||
27 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
28 | * | ||
29 | * <p>Original source: | ||
30 | * <code><pre> | ||
31 | * private pattern indirectCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) { | ||
32 | * find directCommunicationLink+(Source, Target); | ||
33 | * } | ||
34 | * </pre></code> | ||
35 | * | ||
36 | * @see GenericPatternMatcher | ||
37 | * @see GenericPatternMatch | ||
38 | * | ||
39 | */ | ||
40 | @SuppressWarnings("all") | ||
41 | public final class IndirectCommunicationLink extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
42 | private IndirectCommunicationLink() { | ||
43 | super(GeneratedPQuery.INSTANCE); | ||
44 | } | ||
45 | |||
46 | /** | ||
47 | * @return the singleton instance of the query specification | ||
48 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
49 | * | ||
50 | */ | ||
51 | public static IndirectCommunicationLink instance() { | ||
52 | try{ | ||
53 | return LazyHolder.INSTANCE; | ||
54 | } catch (ExceptionInInitializerError err) { | ||
55 | throw processInitializerError(err); | ||
56 | } | ||
57 | } | ||
58 | |||
59 | /** | ||
60 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink (visibility: PUBLIC, simpleName: IndirectCommunicationLink, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
61 | * <b>not</b> at the class load time of the outer class, | ||
62 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink (visibility: PUBLIC, simpleName: IndirectCommunicationLink, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
63 | * | ||
64 | * <p> This workaround is required e.g. to support recursion. | ||
65 | * | ||
66 | */ | ||
67 | private static class LazyHolder { | ||
68 | private static final IndirectCommunicationLink INSTANCE = new IndirectCommunicationLink(); | ||
69 | |||
70 | /** | ||
71 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
72 | * This initialization order is required to support indirect recursion. | ||
73 | * | ||
74 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
75 | * | ||
76 | */ | ||
77 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
78 | |||
79 | public static Object ensureInitialized() { | ||
80 | INSTANCE.ensureInitializedInternal(); | ||
81 | return null; | ||
82 | } | ||
83 | } | ||
84 | |||
85 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
86 | private static final IndirectCommunicationLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
87 | |||
88 | private final PParameter parameter_Source = new PParameter("Source", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
89 | |||
90 | private final PParameter parameter_Target = new PParameter("Target", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
91 | |||
92 | private final List<PParameter> parameters = Arrays.asList(parameter_Source, parameter_Target); | ||
93 | |||
94 | private GeneratedPQuery() { | ||
95 | super(PVisibility.PRIVATE); | ||
96 | } | ||
97 | |||
98 | @Override | ||
99 | public String getFullyQualifiedName() { | ||
100 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"; | ||
101 | } | ||
102 | |||
103 | @Override | ||
104 | public List<String> getParameterNames() { | ||
105 | return Arrays.asList("Source","Target"); | ||
106 | } | ||
107 | |||
108 | @Override | ||
109 | public List<PParameter> getParameters() { | ||
110 | return parameters; | ||
111 | } | ||
112 | |||
113 | @Override | ||
114 | public Set<PBody> doGetContainedBodies() { | ||
115 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
116 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
117 | { | ||
118 | PBody body = new PBody(this); | ||
119 | PVariable var_Source = body.getOrCreateVariableByName("Source"); | ||
120 | PVariable var_Target = body.getOrCreateVariableByName("Target"); | ||
121 | new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
122 | new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
123 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
124 | new ExportedParameter(body, var_Source, parameter_Source), | ||
125 | new ExportedParameter(body, var_Target, parameter_Target) | ||
126 | )); | ||
127 | // find directCommunicationLink+(Source, Target) | ||
128 | new BinaryTransitiveClosure(body, Tuples.flatTupleOf(var_Source, var_Target), DirectCommunicationLink.instance().getInternalQueryRepresentation()); | ||
129 | bodies.add(body); | ||
130 | } | ||
131 | return bodies; | ||
132 | } | ||
133 | } | ||
134 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java deleted file mode 100644 index 31381a09..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java +++ /dev/null | |||
@@ -1,134 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.LinkedHashSet; | ||
9 | import java.util.List; | ||
10 | import java.util.Set; | ||
11 | import org.eclipse.emf.ecore.EClass; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
13 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
14 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
24 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
25 | |||
26 | /** | ||
27 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
28 | * | ||
29 | * <p>Original source: | ||
30 | * <code><pre> | ||
31 | * private pattern indirectLinkAllowed(From : Spacecraft, To : CommunicatingElement) { | ||
32 | * find linkAllowed+(From, To); | ||
33 | * } | ||
34 | * </pre></code> | ||
35 | * | ||
36 | * @see GenericPatternMatcher | ||
37 | * @see GenericPatternMatch | ||
38 | * | ||
39 | */ | ||
40 | @SuppressWarnings("all") | ||
41 | public final class IndirectLinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
42 | private IndirectLinkAllowed() { | ||
43 | super(GeneratedPQuery.INSTANCE); | ||
44 | } | ||
45 | |||
46 | /** | ||
47 | * @return the singleton instance of the query specification | ||
48 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
49 | * | ||
50 | */ | ||
51 | public static IndirectLinkAllowed instance() { | ||
52 | try{ | ||
53 | return LazyHolder.INSTANCE; | ||
54 | } catch (ExceptionInInitializerError err) { | ||
55 | throw processInitializerError(err); | ||
56 | } | ||
57 | } | ||
58 | |||
59 | /** | ||
60 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed (visibility: PUBLIC, simpleName: IndirectLinkAllowed, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
61 | * <b>not</b> at the class load time of the outer class, | ||
62 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed (visibility: PUBLIC, simpleName: IndirectLinkAllowed, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
63 | * | ||
64 | * <p> This workaround is required e.g. to support recursion. | ||
65 | * | ||
66 | */ | ||
67 | private static class LazyHolder { | ||
68 | private static final IndirectLinkAllowed INSTANCE = new IndirectLinkAllowed(); | ||
69 | |||
70 | /** | ||
71 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
72 | * This initialization order is required to support indirect recursion. | ||
73 | * | ||
74 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
75 | * | ||
76 | */ | ||
77 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
78 | |||
79 | public static Object ensureInitialized() { | ||
80 | INSTANCE.ensureInitializedInternal(); | ||
81 | return null; | ||
82 | } | ||
83 | } | ||
84 | |||
85 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
86 | private static final IndirectLinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
87 | |||
88 | private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); | ||
89 | |||
90 | private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
91 | |||
92 | private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To); | ||
93 | |||
94 | private GeneratedPQuery() { | ||
95 | super(PVisibility.PRIVATE); | ||
96 | } | ||
97 | |||
98 | @Override | ||
99 | public String getFullyQualifiedName() { | ||
100 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"; | ||
101 | } | ||
102 | |||
103 | @Override | ||
104 | public List<String> getParameterNames() { | ||
105 | return Arrays.asList("From","To"); | ||
106 | } | ||
107 | |||
108 | @Override | ||
109 | public List<PParameter> getParameters() { | ||
110 | return parameters; | ||
111 | } | ||
112 | |||
113 | @Override | ||
114 | public Set<PBody> doGetContainedBodies() { | ||
115 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
116 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
117 | { | ||
118 | PBody body = new PBody(this); | ||
119 | PVariable var_From = body.getOrCreateVariableByName("From"); | ||
120 | PVariable var_To = body.getOrCreateVariableByName("To"); | ||
121 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
122 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
123 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
124 | new ExportedParameter(body, var_From, parameter_From), | ||
125 | new ExportedParameter(body, var_To, parameter_To) | ||
126 | )); | ||
127 | // find linkAllowed+(From, To) | ||
128 | new BinaryTransitiveClosure(body, Tuples.flatTupleOf(var_From, var_To), LinkAllowed.instance().getInternalQueryRepresentation()); | ||
129 | bodies.add(body); | ||
130 | } | ||
131 | return bodies; | ||
132 | } | ||
133 | } | ||
134 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java deleted file mode 100644 index c3f6bb82..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java +++ /dev/null | |||
@@ -1,180 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna; | ||
8 | import java.util.Arrays; | ||
9 | import java.util.LinkedHashSet; | ||
10 | import java.util.List; | ||
11 | import java.util.Set; | ||
12 | import org.eclipse.emf.ecore.EClass; | ||
13 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
14 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
15 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
24 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
25 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
26 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
27 | |||
28 | /** | ||
29 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
30 | * | ||
31 | * <p>Original source: | ||
32 | * <code><pre> | ||
33 | * private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) { | ||
34 | * find matchingAntenna(From, To); | ||
35 | * neg find cubeSat3U(From); | ||
36 | * } or { | ||
37 | * find matchingAntenna(From, To); | ||
38 | * CubeSat3U(From); | ||
39 | * } or { | ||
40 | * find matchingAntenna(From, To); | ||
41 | * CubeSat3U(From); | ||
42 | * GroundStationNetwork(To); | ||
43 | * } | ||
44 | * </pre></code> | ||
45 | * | ||
46 | * @see GenericPatternMatcher | ||
47 | * @see GenericPatternMatch | ||
48 | * | ||
49 | */ | ||
50 | @SuppressWarnings("all") | ||
51 | public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
52 | private LinkAllowed() { | ||
53 | super(GeneratedPQuery.INSTANCE); | ||
54 | } | ||
55 | |||
56 | /** | ||
57 | * @return the singleton instance of the query specification | ||
58 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
59 | * | ||
60 | */ | ||
61 | public static LinkAllowed instance() { | ||
62 | try{ | ||
63 | return LazyHolder.INSTANCE; | ||
64 | } catch (ExceptionInInitializerError err) { | ||
65 | throw processInitializerError(err); | ||
66 | } | ||
67 | } | ||
68 | |||
69 | /** | ||
70 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed (visibility: PUBLIC, simpleName: LinkAllowed, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
71 | * <b>not</b> at the class load time of the outer class, | ||
72 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed (visibility: PUBLIC, simpleName: LinkAllowed, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
73 | * | ||
74 | * <p> This workaround is required e.g. to support recursion. | ||
75 | * | ||
76 | */ | ||
77 | private static class LazyHolder { | ||
78 | private static final LinkAllowed INSTANCE = new LinkAllowed(); | ||
79 | |||
80 | /** | ||
81 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
82 | * This initialization order is required to support indirect recursion. | ||
83 | * | ||
84 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
85 | * | ||
86 | */ | ||
87 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
88 | |||
89 | public static Object ensureInitialized() { | ||
90 | INSTANCE.ensureInitializedInternal(); | ||
91 | return null; | ||
92 | } | ||
93 | } | ||
94 | |||
95 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
96 | private static final LinkAllowed.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
97 | |||
98 | private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); | ||
99 | |||
100 | private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
101 | |||
102 | private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To); | ||
103 | |||
104 | private GeneratedPQuery() { | ||
105 | super(PVisibility.PRIVATE); | ||
106 | } | ||
107 | |||
108 | @Override | ||
109 | public String getFullyQualifiedName() { | ||
110 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"; | ||
111 | } | ||
112 | |||
113 | @Override | ||
114 | public List<String> getParameterNames() { | ||
115 | return Arrays.asList("From","To"); | ||
116 | } | ||
117 | |||
118 | @Override | ||
119 | public List<PParameter> getParameters() { | ||
120 | return parameters; | ||
121 | } | ||
122 | |||
123 | @Override | ||
124 | public Set<PBody> doGetContainedBodies() { | ||
125 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
126 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
127 | { | ||
128 | PBody body = new PBody(this); | ||
129 | PVariable var_From = body.getOrCreateVariableByName("From"); | ||
130 | PVariable var_To = body.getOrCreateVariableByName("To"); | ||
131 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
132 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
133 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
134 | new ExportedParameter(body, var_From, parameter_From), | ||
135 | new ExportedParameter(body, var_To, parameter_To) | ||
136 | )); | ||
137 | // find matchingAntenna(From, To) | ||
138 | new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation()); | ||
139 | // neg find cubeSat3U(From) | ||
140 | new NegativePatternCall(body, Tuples.flatTupleOf(var_From), CubeSat3U.instance().getInternalQueryRepresentation()); | ||
141 | bodies.add(body); | ||
142 | } | ||
143 | { | ||
144 | PBody body = new PBody(this); | ||
145 | PVariable var_From = body.getOrCreateVariableByName("From"); | ||
146 | PVariable var_To = body.getOrCreateVariableByName("To"); | ||
147 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
148 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
149 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
150 | new ExportedParameter(body, var_From, parameter_From), | ||
151 | new ExportedParameter(body, var_To, parameter_To) | ||
152 | )); | ||
153 | // find matchingAntenna(From, To) | ||
154 | new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation()); | ||
155 | // CubeSat3U(From) | ||
156 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); | ||
157 | bodies.add(body); | ||
158 | } | ||
159 | { | ||
160 | PBody body = new PBody(this); | ||
161 | PVariable var_From = body.getOrCreateVariableByName("From"); | ||
162 | PVariable var_To = body.getOrCreateVariableByName("To"); | ||
163 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
164 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
165 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
166 | new ExportedParameter(body, var_From, parameter_From), | ||
167 | new ExportedParameter(body, var_To, parameter_To) | ||
168 | )); | ||
169 | // find matchingAntenna(From, To) | ||
170 | new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation()); | ||
171 | // CubeSat3U(From) | ||
172 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); | ||
173 | // GroundStationNetwork(To) | ||
174 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); | ||
175 | bodies.add(body); | ||
176 | } | ||
177 | return bodies; | ||
178 | } | ||
179 | } | ||
180 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java deleted file mode 100644 index 6ee10814..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java +++ /dev/null | |||
@@ -1,152 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; | ||
7 | import java.util.Arrays; | ||
8 | import java.util.LinkedHashSet; | ||
9 | import java.util.List; | ||
10 | import java.util.Set; | ||
11 | import org.eclipse.emf.ecore.EClass; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
13 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
14 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
15 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
24 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
25 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
26 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
27 | |||
28 | /** | ||
29 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
30 | * | ||
31 | * <p>Original source: | ||
32 | * <code><pre> | ||
33 | * private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement) { | ||
34 | * CommunicatingElement.commSubsystem(From, FromSys); | ||
35 | * CommunicatingElement.commSubsystem(To, ToSys); | ||
36 | * find matchingCommSubsystem(FromSys, ToSys); | ||
37 | * } | ||
38 | * </pre></code> | ||
39 | * | ||
40 | * @see GenericPatternMatcher | ||
41 | * @see GenericPatternMatch | ||
42 | * | ||
43 | */ | ||
44 | @SuppressWarnings("all") | ||
45 | public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
46 | private MatchingAntenna() { | ||
47 | super(GeneratedPQuery.INSTANCE); | ||
48 | } | ||
49 | |||
50 | /** | ||
51 | * @return the singleton instance of the query specification | ||
52 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
53 | * | ||
54 | */ | ||
55 | public static MatchingAntenna instance() { | ||
56 | try{ | ||
57 | return LazyHolder.INSTANCE; | ||
58 | } catch (ExceptionInInitializerError err) { | ||
59 | throw processInitializerError(err); | ||
60 | } | ||
61 | } | ||
62 | |||
63 | /** | ||
64 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna (visibility: PUBLIC, simpleName: MatchingAntenna, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
65 | * <b>not</b> at the class load time of the outer class, | ||
66 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna (visibility: PUBLIC, simpleName: MatchingAntenna, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
67 | * | ||
68 | * <p> This workaround is required e.g. to support recursion. | ||
69 | * | ||
70 | */ | ||
71 | private static class LazyHolder { | ||
72 | private static final MatchingAntenna INSTANCE = new MatchingAntenna(); | ||
73 | |||
74 | /** | ||
75 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
76 | * This initialization order is required to support indirect recursion. | ||
77 | * | ||
78 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
79 | * | ||
80 | */ | ||
81 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
82 | |||
83 | public static Object ensureInitialized() { | ||
84 | INSTANCE.ensureInitializedInternal(); | ||
85 | return null; | ||
86 | } | ||
87 | } | ||
88 | |||
89 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
90 | private static final MatchingAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
91 | |||
92 | private final PParameter parameter_From = new PParameter("From", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); | ||
93 | |||
94 | private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
95 | |||
96 | private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To); | ||
97 | |||
98 | private GeneratedPQuery() { | ||
99 | super(PVisibility.PRIVATE); | ||
100 | } | ||
101 | |||
102 | @Override | ||
103 | public String getFullyQualifiedName() { | ||
104 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"; | ||
105 | } | ||
106 | |||
107 | @Override | ||
108 | public List<String> getParameterNames() { | ||
109 | return Arrays.asList("From","To"); | ||
110 | } | ||
111 | |||
112 | @Override | ||
113 | public List<PParameter> getParameters() { | ||
114 | return parameters; | ||
115 | } | ||
116 | |||
117 | @Override | ||
118 | public Set<PBody> doGetContainedBodies() { | ||
119 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
120 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
121 | { | ||
122 | PBody body = new PBody(this); | ||
123 | PVariable var_From = body.getOrCreateVariableByName("From"); | ||
124 | PVariable var_To = body.getOrCreateVariableByName("To"); | ||
125 | PVariable var_FromSys = body.getOrCreateVariableByName("FromSys"); | ||
126 | PVariable var_ToSys = body.getOrCreateVariableByName("ToSys"); | ||
127 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
128 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
129 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
130 | new ExportedParameter(body, var_From, parameter_From), | ||
131 | new ExportedParameter(body, var_To, parameter_To) | ||
132 | )); | ||
133 | // CommunicatingElement.commSubsystem(From, FromSys) | ||
134 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
135 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
136 | new TypeConstraint(body, Tuples.flatTupleOf(var_From, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); | ||
137 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
138 | new Equality(body, var__virtual_0_, var_FromSys); | ||
139 | // CommunicatingElement.commSubsystem(To, ToSys) | ||
140 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
141 | PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); | ||
142 | new TypeConstraint(body, Tuples.flatTupleOf(var_To, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); | ||
143 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
144 | new Equality(body, var__virtual_1_, var_ToSys); | ||
145 | // find matchingCommSubsystem(FromSys, ToSys) | ||
146 | new PositivePatternCall(body, Tuples.flatTupleOf(var_FromSys, var_ToSys), MatchingCommSubsystem.instance().getInternalQueryRepresentation()); | ||
147 | bodies.add(body); | ||
148 | } | ||
149 | return bodies; | ||
150 | } | ||
151 | } | ||
152 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java deleted file mode 100644 index 24726d21..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java +++ /dev/null | |||
@@ -1,173 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
23 | |||
24 | /** | ||
25 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
26 | * | ||
27 | * <p>Original source: | ||
28 | * <code><pre> | ||
29 | * private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem) { | ||
30 | * UHFCommSubsystem(From); | ||
31 | * UHFCommSubsystem(To); | ||
32 | * } or { | ||
33 | * XCommSubsystem(From); | ||
34 | * XCommSubsystem(To); | ||
35 | * } or { | ||
36 | * KaCommSubsystem(From); | ||
37 | * KaCommSubsystem(To); | ||
38 | * } | ||
39 | * </pre></code> | ||
40 | * | ||
41 | * @see GenericPatternMatcher | ||
42 | * @see GenericPatternMatch | ||
43 | * | ||
44 | */ | ||
45 | @SuppressWarnings("all") | ||
46 | public final class MatchingCommSubsystem extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
47 | private MatchingCommSubsystem() { | ||
48 | super(GeneratedPQuery.INSTANCE); | ||
49 | } | ||
50 | |||
51 | /** | ||
52 | * @return the singleton instance of the query specification | ||
53 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
54 | * | ||
55 | */ | ||
56 | public static MatchingCommSubsystem instance() { | ||
57 | try{ | ||
58 | return LazyHolder.INSTANCE; | ||
59 | } catch (ExceptionInInitializerError err) { | ||
60 | throw processInitializerError(err); | ||
61 | } | ||
62 | } | ||
63 | |||
64 | /** | ||
65 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem (visibility: PUBLIC, simpleName: MatchingCommSubsystem, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
66 | * <b>not</b> at the class load time of the outer class, | ||
67 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem (visibility: PUBLIC, simpleName: MatchingCommSubsystem, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
68 | * | ||
69 | * <p> This workaround is required e.g. to support recursion. | ||
70 | * | ||
71 | */ | ||
72 | private static class LazyHolder { | ||
73 | private static final MatchingCommSubsystem INSTANCE = new MatchingCommSubsystem(); | ||
74 | |||
75 | /** | ||
76 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
77 | * This initialization order is required to support indirect recursion. | ||
78 | * | ||
79 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
80 | * | ||
81 | */ | ||
82 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
83 | |||
84 | public static Object ensureInitialized() { | ||
85 | INSTANCE.ensureInitializedInternal(); | ||
86 | return null; | ||
87 | } | ||
88 | } | ||
89 | |||
90 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
91 | private static final MatchingCommSubsystem.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
92 | |||
93 | private final PParameter parameter_From = new PParameter("From", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); | ||
94 | |||
95 | private final PParameter parameter_To = new PParameter("To", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); | ||
96 | |||
97 | private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To); | ||
98 | |||
99 | private GeneratedPQuery() { | ||
100 | super(PVisibility.PRIVATE); | ||
101 | } | ||
102 | |||
103 | @Override | ||
104 | public String getFullyQualifiedName() { | ||
105 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"; | ||
106 | } | ||
107 | |||
108 | @Override | ||
109 | public List<String> getParameterNames() { | ||
110 | return Arrays.asList("From","To"); | ||
111 | } | ||
112 | |||
113 | @Override | ||
114 | public List<PParameter> getParameters() { | ||
115 | return parameters; | ||
116 | } | ||
117 | |||
118 | @Override | ||
119 | public Set<PBody> doGetContainedBodies() { | ||
120 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
121 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
122 | { | ||
123 | PBody body = new PBody(this); | ||
124 | PVariable var_From = body.getOrCreateVariableByName("From"); | ||
125 | PVariable var_To = body.getOrCreateVariableByName("To"); | ||
126 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
127 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
128 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
129 | new ExportedParameter(body, var_From, parameter_From), | ||
130 | new ExportedParameter(body, var_To, parameter_To) | ||
131 | )); | ||
132 | // UHFCommSubsystem(From) | ||
133 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); | ||
134 | // UHFCommSubsystem(To) | ||
135 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); | ||
136 | bodies.add(body); | ||
137 | } | ||
138 | { | ||
139 | PBody body = new PBody(this); | ||
140 | PVariable var_From = body.getOrCreateVariableByName("From"); | ||
141 | PVariable var_To = body.getOrCreateVariableByName("To"); | ||
142 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
143 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
144 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
145 | new ExportedParameter(body, var_From, parameter_From), | ||
146 | new ExportedParameter(body, var_To, parameter_To) | ||
147 | )); | ||
148 | // XCommSubsystem(From) | ||
149 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "XCommSubsystem"))); | ||
150 | // XCommSubsystem(To) | ||
151 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "XCommSubsystem"))); | ||
152 | bodies.add(body); | ||
153 | } | ||
154 | { | ||
155 | PBody body = new PBody(this); | ||
156 | PVariable var_From = body.getOrCreateVariableByName("From"); | ||
157 | PVariable var_To = body.getOrCreateVariableByName("To"); | ||
158 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
159 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
160 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
161 | new ExportedParameter(body, var_From, parameter_From), | ||
162 | new ExportedParameter(body, var_To, parameter_To) | ||
163 | )); | ||
164 | // KaCommSubsystem(From) | ||
165 | new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); | ||
166 | // KaCommSubsystem(To) | ||
167 | new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); | ||
168 | bodies.add(body); | ||
169 | } | ||
170 | return bodies; | ||
171 | } | ||
172 | } | ||
173 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java deleted file mode 100644 index 4093e2b2..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java +++ /dev/null | |||
@@ -1,105 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement; | ||
7 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; | ||
8 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; | ||
9 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; | ||
10 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; | ||
11 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; | ||
12 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; | ||
13 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; | ||
14 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink; | ||
15 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; | ||
16 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; | ||
17 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U; | ||
18 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U; | ||
19 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink; | ||
20 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; | ||
21 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; | ||
22 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed; | ||
23 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed; | ||
24 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna; | ||
25 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; | ||
26 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; | ||
27 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem; | ||
28 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; | ||
29 | |||
30 | /** | ||
31 | * A pattern group formed of all patterns defined in SatelliteQueries.vql. | ||
32 | * | ||
33 | * <p>A private group that includes private patterns as well. Only intended use case is for pattern testing. | ||
34 | * | ||
35 | * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> | ||
36 | * <li>communicationLinkDoesNotStartAtContainingElement</li> | ||
37 | * <li>transmittingCommSubsystem</li> | ||
38 | * <li>notEnoughInterferometryPayloads</li> | ||
39 | * <li>atLeastTwoInterferometryPayloads</li> | ||
40 | * <li>spacecraftWithInterferometryPayload</li> | ||
41 | * <li>noLinkToGroundStation</li> | ||
42 | * <li>noPotentialLinkToGroundStation</li> | ||
43 | * <li>indirectLinkAllowed</li> | ||
44 | * <li>linkAllowed</li> | ||
45 | * <li>matchingAntenna</li> | ||
46 | * <li>matchingCommSubsystem</li> | ||
47 | * <li>cubeSat3U</li> | ||
48 | * <li>cubeSat6U</li> | ||
49 | * <li>communicationLoop</li> | ||
50 | * <li>indirectCommunicationLink</li> | ||
51 | * <li>directCommunicationLink</li> | ||
52 | * <li>incompatibleSourceAndTargetBand</li> | ||
53 | * <li>threeUCubeSatWithNonUhfCrossLink</li> | ||
54 | * <li>commSubsystemBandUhf</li> | ||
55 | * <li>groundStationNetwork</li> | ||
56 | * <li>cubeSatWithKaAntenna</li> | ||
57 | * <li>smallSat</li> | ||
58 | * </ul> | ||
59 | * | ||
60 | * @see IQueryGroup | ||
61 | * | ||
62 | */ | ||
63 | @SuppressWarnings("all") | ||
64 | public final class SatelliteQueriesAll extends BaseGeneratedPatternGroup { | ||
65 | /** | ||
66 | * Access the pattern group. | ||
67 | * | ||
68 | * @return the singleton instance of the group | ||
69 | * @throws ViatraQueryRuntimeException if there was an error loading the generated code of pattern specifications | ||
70 | * | ||
71 | */ | ||
72 | public static SatelliteQueriesAll instance() { | ||
73 | if (INSTANCE == null) { | ||
74 | INSTANCE = new SatelliteQueriesAll(); | ||
75 | } | ||
76 | return INSTANCE; | ||
77 | } | ||
78 | |||
79 | private static SatelliteQueriesAll INSTANCE; | ||
80 | |||
81 | private SatelliteQueriesAll() { | ||
82 | querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance()); | ||
83 | querySpecifications.add(TransmittingCommSubsystem.instance()); | ||
84 | querySpecifications.add(NotEnoughInterferometryPayloads.instance()); | ||
85 | querySpecifications.add(AtLeastTwoInterferometryPayloads.instance()); | ||
86 | querySpecifications.add(SpacecraftWithInterferometryPayload.instance()); | ||
87 | querySpecifications.add(NoLinkToGroundStation.instance()); | ||
88 | querySpecifications.add(NoPotentialLinkToGroundStation.instance()); | ||
89 | querySpecifications.add(IndirectLinkAllowed.instance()); | ||
90 | querySpecifications.add(LinkAllowed.instance()); | ||
91 | querySpecifications.add(MatchingAntenna.instance()); | ||
92 | querySpecifications.add(MatchingCommSubsystem.instance()); | ||
93 | querySpecifications.add(CubeSat3U.instance()); | ||
94 | querySpecifications.add(CubeSat6U.instance()); | ||
95 | querySpecifications.add(CommunicationLoop.instance()); | ||
96 | querySpecifications.add(IndirectCommunicationLink.instance()); | ||
97 | querySpecifications.add(DirectCommunicationLink.instance()); | ||
98 | querySpecifications.add(IncompatibleSourceAndTargetBand.instance()); | ||
99 | querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance()); | ||
100 | querySpecifications.add(CommSubsystemBandUhf.instance()); | ||
101 | querySpecifications.add(GroundStationNetwork.instance()); | ||
102 | querySpecifications.add(CubeSatWithKaAntenna.instance()); | ||
103 | querySpecifications.add(SmallSat.instance()); | ||
104 | } | ||
105 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java deleted file mode 100644 index 9566c4c5..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java +++ /dev/null | |||
@@ -1,149 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
24 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
25 | |||
26 | /** | ||
27 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
28 | * | ||
29 | * <p>Original source: | ||
30 | * <code><pre> | ||
31 | * private pattern spacecraftWithInterferometryPayload(Mission : ConstellationMission, Spacecraft : Spacecraft) { | ||
32 | * ConstellationMission.spacecraft(Mission, Spacecraft); | ||
33 | * Spacecraft.payload(Spacecraft, Payload); | ||
34 | * InterferometryPayload(Payload); | ||
35 | * } | ||
36 | * </pre></code> | ||
37 | * | ||
38 | * @see GenericPatternMatcher | ||
39 | * @see GenericPatternMatch | ||
40 | * | ||
41 | */ | ||
42 | @SuppressWarnings("all") | ||
43 | public final class SpacecraftWithInterferometryPayload extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
44 | private SpacecraftWithInterferometryPayload() { | ||
45 | super(GeneratedPQuery.INSTANCE); | ||
46 | } | ||
47 | |||
48 | /** | ||
49 | * @return the singleton instance of the query specification | ||
50 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
51 | * | ||
52 | */ | ||
53 | public static SpacecraftWithInterferometryPayload instance() { | ||
54 | try{ | ||
55 | return LazyHolder.INSTANCE; | ||
56 | } catch (ExceptionInInitializerError err) { | ||
57 | throw processInitializerError(err); | ||
58 | } | ||
59 | } | ||
60 | |||
61 | /** | ||
62 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload (visibility: PUBLIC, simpleName: SpacecraftWithInterferometryPayload, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
63 | * <b>not</b> at the class load time of the outer class, | ||
64 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload (visibility: PUBLIC, simpleName: SpacecraftWithInterferometryPayload, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
65 | * | ||
66 | * <p> This workaround is required e.g. to support recursion. | ||
67 | * | ||
68 | */ | ||
69 | private static class LazyHolder { | ||
70 | private static final SpacecraftWithInterferometryPayload INSTANCE = new SpacecraftWithInterferometryPayload(); | ||
71 | |||
72 | /** | ||
73 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
74 | * This initialization order is required to support indirect recursion. | ||
75 | * | ||
76 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
77 | * | ||
78 | */ | ||
79 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
80 | |||
81 | public static Object ensureInitialized() { | ||
82 | INSTANCE.ensureInitializedInternal(); | ||
83 | return null; | ||
84 | } | ||
85 | } | ||
86 | |||
87 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
88 | private static final SpacecraftWithInterferometryPayload.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
89 | |||
90 | private final PParameter parameter_Mission = new PParameter("Mission", "satellite.ConstellationMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "ConstellationMission")), PParameterDirection.INOUT); | ||
91 | |||
92 | private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); | ||
93 | |||
94 | private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft); | ||
95 | |||
96 | private GeneratedPQuery() { | ||
97 | super(PVisibility.PRIVATE); | ||
98 | } | ||
99 | |||
100 | @Override | ||
101 | public String getFullyQualifiedName() { | ||
102 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"; | ||
103 | } | ||
104 | |||
105 | @Override | ||
106 | public List<String> getParameterNames() { | ||
107 | return Arrays.asList("Mission","Spacecraft"); | ||
108 | } | ||
109 | |||
110 | @Override | ||
111 | public List<PParameter> getParameters() { | ||
112 | return parameters; | ||
113 | } | ||
114 | |||
115 | @Override | ||
116 | public Set<PBody> doGetContainedBodies() { | ||
117 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
118 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
119 | { | ||
120 | PBody body = new PBody(this); | ||
121 | PVariable var_Mission = body.getOrCreateVariableByName("Mission"); | ||
122 | PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); | ||
123 | PVariable var_Payload = body.getOrCreateVariableByName("Payload"); | ||
124 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); | ||
125 | new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
126 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
127 | new ExportedParameter(body, var_Mission, parameter_Mission), | ||
128 | new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) | ||
129 | )); | ||
130 | // ConstellationMission.spacecraft(Mission, Spacecraft) | ||
131 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); | ||
132 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
133 | new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft"))); | ||
134 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
135 | new Equality(body, var__virtual_0_, var_Spacecraft); | ||
136 | // Spacecraft.payload(Spacecraft, Payload) | ||
137 | new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); | ||
138 | PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); | ||
139 | new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "Spacecraft", "payload"))); | ||
140 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Payload"))); | ||
141 | new Equality(body, var__virtual_1_, var_Payload); | ||
142 | // InterferometryPayload(Payload) | ||
143 | new TypeConstraint(body, Tuples.flatTupleOf(var_Payload), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryPayload"))); | ||
144 | bodies.add(body); | ||
145 | } | ||
146 | return bodies; | ||
147 | } | ||
148 | } | ||
149 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmittingCommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmittingCommSubsystem.java deleted file mode 100644 index a50536f5..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmittingCommSubsystem.java +++ /dev/null | |||
@@ -1,146 +0,0 @@ | |||
1 | /** | ||
2 | * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
24 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
25 | |||
26 | /** | ||
27 | * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. | ||
28 | * | ||
29 | * <p>Original source: | ||
30 | * <code><pre> | ||
31 | * private pattern transmittingCommSubsystem(Element : CommunicatingElement, Comm : CommSubsystem) { | ||
32 | * CommunicatingElement.commSubsystem(Element, Comm); | ||
33 | * CommSubsystem.target(Comm, _); | ||
34 | * } | ||
35 | * </pre></code> | ||
36 | * | ||
37 | * @see GenericPatternMatcher | ||
38 | * @see GenericPatternMatch | ||
39 | * | ||
40 | */ | ||
41 | @SuppressWarnings("all") | ||
42 | public final class TransmittingCommSubsystem extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { | ||
43 | private TransmittingCommSubsystem() { | ||
44 | super(GeneratedPQuery.INSTANCE); | ||
45 | } | ||
46 | |||
47 | /** | ||
48 | * @return the singleton instance of the query specification | ||
49 | * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded | ||
50 | * | ||
51 | */ | ||
52 | public static TransmittingCommSubsystem instance() { | ||
53 | try{ | ||
54 | return LazyHolder.INSTANCE; | ||
55 | } catch (ExceptionInInitializerError err) { | ||
56 | throw processInitializerError(err); | ||
57 | } | ||
58 | } | ||
59 | |||
60 | /** | ||
61 | * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem (visibility: PUBLIC, simpleName: TransmittingCommSubsystem, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created | ||
62 | * <b>not</b> at the class load time of the outer class, | ||
63 | * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem (visibility: PUBLIC, simpleName: TransmittingCommSubsystem, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. | ||
64 | * | ||
65 | * <p> This workaround is required e.g. to support recursion. | ||
66 | * | ||
67 | */ | ||
68 | private static class LazyHolder { | ||
69 | private static final TransmittingCommSubsystem INSTANCE = new TransmittingCommSubsystem(); | ||
70 | |||
71 | /** | ||
72 | * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. | ||
73 | * This initialization order is required to support indirect recursion. | ||
74 | * | ||
75 | * <p> The static initializer is defined using a helper field to work around limitations of the code generator. | ||
76 | * | ||
77 | */ | ||
78 | private static final Object STATIC_INITIALIZER = ensureInitialized(); | ||
79 | |||
80 | public static Object ensureInitialized() { | ||
81 | INSTANCE.ensureInitializedInternal(); | ||
82 | return null; | ||
83 | } | ||
84 | } | ||
85 | |||
86 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | ||
87 | private static final TransmittingCommSubsystem.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | ||
88 | |||
89 | private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); | ||
90 | |||
91 | private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); | ||
92 | |||
93 | private final List<PParameter> parameters = Arrays.asList(parameter_Element, parameter_Comm); | ||
94 | |||
95 | private GeneratedPQuery() { | ||
96 | super(PVisibility.PRIVATE); | ||
97 | } | ||
98 | |||
99 | @Override | ||
100 | public String getFullyQualifiedName() { | ||
101 | return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingCommSubsystem"; | ||
102 | } | ||
103 | |||
104 | @Override | ||
105 | public List<String> getParameterNames() { | ||
106 | return Arrays.asList("Element","Comm"); | ||
107 | } | ||
108 | |||
109 | @Override | ||
110 | public List<PParameter> getParameters() { | ||
111 | return parameters; | ||
112 | } | ||
113 | |||
114 | @Override | ||
115 | public Set<PBody> doGetContainedBodies() { | ||
116 | setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); | ||
117 | Set<PBody> bodies = new LinkedHashSet<>(); | ||
118 | { | ||
119 | PBody body = new PBody(this); | ||
120 | PVariable var_Element = body.getOrCreateVariableByName("Element"); | ||
121 | PVariable var_Comm = body.getOrCreateVariableByName("Comm"); | ||
122 | PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); | ||
123 | new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
124 | new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
125 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | ||
126 | new ExportedParameter(body, var_Element, parameter_Element), | ||
127 | new ExportedParameter(body, var_Comm, parameter_Comm) | ||
128 | )); | ||
129 | // CommunicatingElement.commSubsystem(Element, Comm) | ||
130 | new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); | ||
131 | PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); | ||
132 | new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); | ||
133 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
134 | new Equality(body, var__virtual_0_, var_Comm); | ||
135 | // CommSubsystem.target(Comm, _) | ||
136 | new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
137 | PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); | ||
138 | new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target"))); | ||
139 | new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); | ||
140 | new Equality(body, var__virtual_1_, var___0_); | ||
141 | bodies.add(body); | ||
142 | } | ||
143 | return bodies; | ||
144 | } | ||
145 | } | ||
146 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql index c7135562..c1d3f7d3 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | |||
@@ -3,7 +3,7 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite.queries | |||
3 | import "http://www.example.org/satellite" | 3 | import "http://www.example.org/satellite" |
4 | 4 | ||
5 | @Constraint(severity = "error", key = {Element}, | 5 | @Constraint(severity = "error", key = {Element}, |
6 | message = "A communicating element may not have two transmitting communication subsystems..") | 6 | message = "A communicating element may not have two transmitting communication subsystems.") |
7 | pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) { | 7 | pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) { |
8 | find transmittingCommSubsystem(Element, Comm1); | 8 | find transmittingCommSubsystem(Element, Comm1); |
9 | find transmittingCommSubsystem(Element, Comm2); | 9 | find transmittingCommSubsystem(Element, Comm2); |
@@ -15,6 +15,12 @@ private pattern transmittingCommSubsystem(Element : CommunicatingElement, Comm : | |||
15 | CommSubsystem.target(Comm, _); | 15 | CommSubsystem.target(Comm, _); |
16 | } | 16 | } |
17 | 17 | ||
18 | @Constraint(severity = "error", key = {Station}, | ||
19 | message = "The ground station network may not have outgoing communication links.") | ||
20 | pattern transmittingGroundStationNetwork(Station : GroundStationNetwork) { | ||
21 | find transmittingCommSubsystem(Station, _); | ||
22 | } | ||
23 | |||
18 | // At least two spacecraft must have the interferometry payload configured | 24 | // At least two spacecraft must have the interferometry payload configured |
19 | 25 | ||
20 | @Constraint(severity = "error", key = {Mission}, | 26 | @Constraint(severity = "error", key = {Mission}, |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend index 3d2cbbc7..5e4e4ef0 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend | |||
@@ -1,6 +1,8 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.satellite.runner | 1 | package hu.bme.mit.inf.dslreasoner.domains.satellite.runner |
2 | 2 | ||
3 | import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor | 3 | import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor |
4 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions | ||
5 | import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory | ||
4 | 6 | ||
5 | final class SatelliteGeneratorMain { | 7 | final class SatelliteGeneratorMain { |
6 | private new() { | 8 | private new() { |
@@ -8,6 +10,8 @@ final class SatelliteGeneratorMain { | |||
8 | } | 10 | } |
9 | 11 | ||
10 | public static def void main(String[] args) { | 12 | public static def void main(String[] args) { |
13 | ViatraQueryEngineOptions.setSystemDefaultBackends(ReteBackendFactory.INSTANCE, ReteBackendFactory.INSTANCE, | ||
14 | ReteBackendFactory.INSTANCE) | ||
11 | println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")) | 15 | println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")) |
12 | } | 16 | } |
13 | } | 17 | } |
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore deleted file mode 100644 index 478b3143..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | /.ExcludedMoeaOptimisation.java._trace | ||
2 | /.ExcludedOptimisationInterpreter.java._trace | ||
3 | /.ExcludedRun.java._trace | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.CostObjective.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.CostObjective.xtendbin deleted file mode 100644 index f8273db1..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.CostObjective.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.LocalSearchEngineManager.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.LocalSearchEngineManager.xtendbin deleted file mode 100644 index b92afd88..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.LocalSearchEngineManager.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.MetricBasedGuidanceFunction.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.MetricBasedGuidanceFunction.xtendbin deleted file mode 100644 index 456c7785..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.MetricBasedGuidanceFunction.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.PatternMatchConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.PatternMatchConstraint.xtendbin deleted file mode 100644 index 3b6e5310..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.PatternMatchConstraint.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.SatelliteMdeOptimiserMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.SatelliteMdeOptimiserMain.xtendbin deleted file mode 100644 index 11cbad32..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.SatelliteMdeOptimiserMain.xtendbin +++ /dev/null | |||
Binary files differ | |||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore deleted file mode 100644 index ed54e06a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | /.SatellineMdeOptimiserMain.java._trace | ||
2 | /.SatelliteMdeOptimiserMain.java._trace | ||
3 | /.ExcludedMoeaOptimisation.java._trace | ||
4 | /.ExcludedOptimisationInterpreter.java._trace | ||
5 | /.ExcludedRun.java._trace | ||
6 | /.LocalSearchEngineManager.java._trace | ||
7 | /.PatternMatchConstraint.java._trace | ||
8 | /.PatternCostConstraint.java._trace | ||
9 | /.MetricBasedGuidanceFunction.java._trace | ||
10 | /.CostObjective.java._trace | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.java deleted file mode 100644 index 18708a37..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.java +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries; | ||
4 | import java.util.WeakHashMap; | ||
5 | import java.util.function.Function; | ||
6 | import org.eclipse.emf.ecore.EObject; | ||
7 | import org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine; | ||
8 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
9 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions; | ||
10 | import org.eclipse.viatra.query.runtime.emf.EMFScope; | ||
11 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHints; | ||
12 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
13 | |||
14 | @SuppressWarnings("all") | ||
15 | public class LocalSearchEngineManager { | ||
16 | public static final LocalSearchEngineManager INSTANCE = new LocalSearchEngineManager(); | ||
17 | |||
18 | private final WeakHashMap<EObject, ViatraQueryEngine> engineMap = new WeakHashMap<EObject, ViatraQueryEngine>(); | ||
19 | |||
20 | private LocalSearchEngineManager() { | ||
21 | } | ||
22 | |||
23 | public ViatraQueryEngine getEngine(final EObject eObject) { | ||
24 | final Function<EObject, ViatraQueryEngine> _function = (EObject it) -> { | ||
25 | ViatraQueryEngine _xblockexpression = null; | ||
26 | { | ||
27 | final EMFScope scope = new EMFScope(it); | ||
28 | final QueryEvaluationHint localSearchHints = LocalSearchHints.getDefault().build(); | ||
29 | final ViatraQueryEngineOptions options = ViatraQueryEngineOptions.defineOptions().withDefaultHint(localSearchHints).withDefaultBackend( | ||
30 | localSearchHints.getQueryBackendFactory()).build(); | ||
31 | final ViatraQueryEngine engine = AdvancedViatraQueryEngine.on(scope, options); | ||
32 | SatelliteQueries.instance().prepare(engine); | ||
33 | _xblockexpression = engine; | ||
34 | } | ||
35 | return _xblockexpression; | ||
36 | }; | ||
37 | return this.engineMap.computeIfAbsent(eObject, _function); | ||
38 | } | ||
39 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.java deleted file mode 100644 index f3dae715..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.java +++ /dev/null | |||
@@ -1,72 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.LocalSearchEngineManager; | ||
4 | import java.util.Iterator; | ||
5 | import org.eclipse.emf.ecore.EObject; | ||
6 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
7 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
8 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
9 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; | ||
10 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
11 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
12 | |||
13 | @SuppressWarnings("all") | ||
14 | public abstract class MetricBasedGuidanceFunction implements IGuidanceFunction { | ||
15 | private final IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> querySpecification; | ||
16 | |||
17 | protected MetricBasedGuidanceFunction(final IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> querySpecification) { | ||
18 | this.querySpecification = querySpecification; | ||
19 | int _size = querySpecification.getParameters().size(); | ||
20 | boolean _notEquals = (_size != 1); | ||
21 | if (_notEquals) { | ||
22 | throw new IllegalArgumentException("Metric must have a single parameter"); | ||
23 | } | ||
24 | } | ||
25 | |||
26 | @Override | ||
27 | public double computeFitness(final Solution model) { | ||
28 | double _xblockexpression = (double) 0; | ||
29 | { | ||
30 | final double value = this.getMetricValue(model); | ||
31 | _xblockexpression = this.computeFitness(value); | ||
32 | } | ||
33 | return _xblockexpression; | ||
34 | } | ||
35 | |||
36 | protected double computeFitness(final double metricValue) { | ||
37 | return metricValue; | ||
38 | } | ||
39 | |||
40 | private double getMetricValue(final Solution solution) { | ||
41 | double _xblockexpression = (double) 0; | ||
42 | { | ||
43 | final EObject model = solution.getModel(); | ||
44 | final ViatraQueryEngine queryEngine = LocalSearchEngineManager.INSTANCE.getEngine(model); | ||
45 | final ViatraQueryMatcher<? extends IPatternMatch> matcher = this.querySpecification.getMatcher(queryEngine); | ||
46 | final Iterator<? extends IPatternMatch> iterator = matcher.getAllMatches().iterator(); | ||
47 | boolean _hasNext = iterator.hasNext(); | ||
48 | boolean _not = (!_hasNext); | ||
49 | if (_not) { | ||
50 | throw new IllegalStateException("Too few matches"); | ||
51 | } | ||
52 | final Object objectValue = iterator.next().get(0); | ||
53 | double _xifexpression = (double) 0; | ||
54 | if ((objectValue instanceof Number)) { | ||
55 | double _xblockexpression_1 = (double) 0; | ||
56 | { | ||
57 | final double doubleValue = ((Number)objectValue).doubleValue(); | ||
58 | boolean _hasNext_1 = iterator.hasNext(); | ||
59 | if (_hasNext_1) { | ||
60 | throw new IllegalStateException("Too many matches"); | ||
61 | } | ||
62 | _xblockexpression_1 = doubleValue; | ||
63 | } | ||
64 | _xifexpression = _xblockexpression_1; | ||
65 | } else { | ||
66 | throw new IllegalStateException("Metric value must be a number"); | ||
67 | } | ||
68 | _xblockexpression = _xifexpression; | ||
69 | } | ||
70 | return _xblockexpression; | ||
71 | } | ||
72 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.java deleted file mode 100644 index f089d469..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.java +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo; | ||
2 | |||
3 | import com.google.common.base.Objects; | ||
4 | import com.google.common.collect.ImmutableList; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.LocalSearchEngineManager; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries; | ||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
9 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
10 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
11 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; | ||
12 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
13 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | ||
14 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
15 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
16 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
17 | |||
18 | @SuppressWarnings("all") | ||
19 | public class PatternMatchConstraint implements IGuidanceFunction { | ||
20 | private static final String CONSTRAINT_ANNOTATION_NAME = "Constraint"; | ||
21 | |||
22 | private final ImmutableList<IQuerySpecification<?>> queries = ImmutableList.<IQuerySpecification<?>>copyOf(IterableExtensions.<IQuerySpecification<?>>filter(SatelliteQueries.instance().getSpecifications(), ((Function1<IQuerySpecification<?>, Boolean>) (IQuerySpecification<?> it) -> { | ||
23 | final Function1<PAnnotation, Boolean> _function = (PAnnotation it_1) -> { | ||
24 | String _name = it_1.getName(); | ||
25 | return Boolean.valueOf(Objects.equal(_name, PatternMatchConstraint.CONSTRAINT_ANNOTATION_NAME)); | ||
26 | }; | ||
27 | return Boolean.valueOf(IterableExtensions.<PAnnotation>exists(it.getAllAnnotations(), _function)); | ||
28 | }))); | ||
29 | |||
30 | @Override | ||
31 | public String getName() { | ||
32 | return "PatternMatch"; | ||
33 | } | ||
34 | |||
35 | @Override | ||
36 | public double computeFitness(final Solution solution) { | ||
37 | int _xblockexpression = (int) 0; | ||
38 | { | ||
39 | final EObject model = solution.getModel(); | ||
40 | final ViatraQueryEngine queryEngine = LocalSearchEngineManager.INSTANCE.getEngine(model); | ||
41 | int matchCount = 0; | ||
42 | for (final IQuerySpecification<?> query : this.queries) { | ||
43 | { | ||
44 | final ViatraQueryMatcher<? extends IPatternMatch> matcher = query.getMatcher(queryEngine); | ||
45 | int _matchCount = matchCount; | ||
46 | int _countMatches = matcher.countMatches(); | ||
47 | matchCount = (_matchCount + _countMatches); | ||
48 | } | ||
49 | } | ||
50 | _xblockexpression = matchCount; | ||
51 | } | ||
52 | return _xblockexpression; | ||
53 | } | ||
54 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.java deleted file mode 100644 index 6cbb08fc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.java +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo; | ||
2 | |||
3 | import java.io.BufferedReader; | ||
4 | import java.io.BufferedWriter; | ||
5 | import java.io.FileReader; | ||
6 | import java.io.FileWriter; | ||
7 | import java.util.Collections; | ||
8 | import java.util.Map; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EPackage; | ||
11 | import org.eclipse.emf.ecore.resource.Resource; | ||
12 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; | ||
13 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; | ||
14 | import org.eclipse.xtext.xbase.lib.Exceptions; | ||
15 | import org.eclipse.xtext.xbase.lib.Pair; | ||
16 | import satellite.SatellitePackage; | ||
17 | import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run; | ||
18 | |||
19 | @SuppressWarnings("all") | ||
20 | public class SatelliteMdeOptimiserMain { | ||
21 | private static final String PROJECT_PATH = "."; | ||
22 | |||
23 | private static final String MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt"; | ||
24 | |||
25 | private SatelliteMdeOptimiserMain() { | ||
26 | new IllegalStateException("This is a static utility class and should not be instantiated directly."); | ||
27 | } | ||
28 | |||
29 | public static void main(final String[] args) { | ||
30 | Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); | ||
31 | XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); | ||
32 | _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); | ||
33 | EPackage.Registry.INSTANCE.put(SatellitePackage.eNS_URI, SatellitePackage.eINSTANCE); | ||
34 | Pair<String, String> _mappedTo = Pair.<String, String>of("satellite.ecore", SatellitePackage.eNS_URI); | ||
35 | SatelliteMdeOptimiserMain.fixupHenshinModel("model/satellite.henshin", "model/satellite_fixup.henshin", | ||
36 | Collections.<String, String>unmodifiableMap(CollectionLiterals.<String, String>newHashMap(_mappedTo))); | ||
37 | Run.main(new String[] { "-p", SatelliteMdeOptimiserMain.PROJECT_PATH, "-m", SatelliteMdeOptimiserMain.MOPT_PATH }); | ||
38 | } | ||
39 | |||
40 | private static void fixupHenshinModel(final String originalPath, final String outputPath, final Map<String, String> remapMap) { | ||
41 | try { | ||
42 | FileReader _fileReader = new FileReader(originalPath); | ||
43 | final BufferedReader reader = new BufferedReader(_fileReader); | ||
44 | try { | ||
45 | FileWriter _fileWriter = new FileWriter(outputPath); | ||
46 | final BufferedWriter writer = new BufferedWriter(_fileWriter); | ||
47 | try { | ||
48 | String line = null; | ||
49 | while (((line = reader.readLine()) != null)) { | ||
50 | { | ||
51 | Set<Map.Entry<String, String>> _entrySet = remapMap.entrySet(); | ||
52 | for (final Map.Entry<String, String> entry : _entrySet) { | ||
53 | line = line.replace(entry.getKey(), entry.getValue()); | ||
54 | } | ||
55 | writer.write(line); | ||
56 | writer.write("\n"); | ||
57 | } | ||
58 | } | ||
59 | } finally { | ||
60 | writer.close(); | ||
61 | } | ||
62 | } finally { | ||
63 | reader.close(); | ||
64 | } | ||
65 | } catch (Throwable _e) { | ||
66 | throw Exceptions.sneakyThrow(_e); | ||
67 | } | ||
68 | } | ||
69 | } | ||
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore deleted file mode 100644 index ff6b1dfc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | /.SatelliteGeneratorMain.java._trace | ||
2 | /.SatelliteGeneratorMain.xtendbin | ||
3 | /SatelliteGeneratorMain.java | ||