diff options
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries')
-rw-r--r-- | Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql | 283 |
1 files changed, 141 insertions, 142 deletions
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 bdda6ec7..711c7ce6 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 | |||
@@ -158,147 +158,146 @@ pattern smallSat(Sat : SmallSat) { | |||
158 | SmallSat(Sat); | 158 | SmallSat(Sat); |
159 | } | 159 | } |
160 | 160 | ||
161 | //// | ||
162 | //// Metrics | ||
163 | //// | ||
164 | // | 161 | // |
165 | //// Coverage | 162 | // Metrics |
166 | // | 163 | // |
167 | //pattern coverageMetric(Coverage : java Double) { | 164 | |
168 | // Coverage == sum find missionCoverage(_, #_); | 165 | // Coverage |
169 | //} | 166 | |
170 | // | 167 | pattern coverageMetric(Coverage : java Double) { |
171 | //private pattern missionCoverage(Mission : InterferometryMission, Coverage : java Double) { | 168 | Coverage == sum find missionCoverage(_, #_); |
172 | // InterferometryMission.observationTime(Mission, ObservationTime); | 169 | } |
173 | // ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _); | 170 | |
174 | // Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3); | 171 | private pattern missionCoverage(Mission : InterferometryMission, Coverage : java Double) { |
175 | //} | 172 | InterferometryMission.observationTime(Mission, ObservationTime); |
176 | // | 173 | ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _); |
177 | //// Time | 174 | Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3); |
178 | // | 175 | } |
179 | //pattern timeMetric(Time : java Double) { | 176 | |
180 | // Time == sum find missionTime(_, #_); | 177 | // Time |
181 | //} | 178 | |
182 | // | 179 | pattern timeMetric(Time : java Double) { |
183 | //private pattern missionTime(Mission : InterferometryMission, Time : java Double) { | 180 | Time == sum find missionTime(_, #_); |
184 | // InterferometryMission.observationTime(Mission, ObservationTime); | 181 | } |
185 | // TrasmitTime == sum find transmitTime(Mission, _, #_); | 182 | |
186 | // Time == eval(TrasmitTime + 60.0 * ObservationTime); | 183 | private pattern missionTime(Mission : InterferometryMission, Time : java Double) { |
187 | //} | 184 | InterferometryMission.observationTime(Mission, ObservationTime); |
188 | // | 185 | TrasmitTime == sum find transmitTime(Mission, _, #_); |
189 | //private pattern transmitTime(Mission : InterferometryMission, Spacecraft : Spacecraft, TransmitTime : java Double) { | 186 | Time == eval(TrasmitTime + 60.0 * ObservationTime); |
190 | // ConstellationMission.spacecraft(Mission, Spacecraft); | 187 | } |
191 | // find scienceData(Spacecraft, ScienceData); | 188 | |
192 | // IncomingData == sum find incomingData(Spacecraft, _, #_); | 189 | private pattern transmitTime(Mission : InterferometryMission, Spacecraft : Spacecraft, TransmitTime : java Double) { |
193 | // find transmitRate(Spacecraft, TransmitRate); | 190 | ConstellationMission.spacecraft(Mission, Spacecraft); |
194 | // TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate)); | 191 | find scienceData(Spacecraft, ScienceData); |
195 | //} | 192 | IncomingData == sum find incomingData(Spacecraft, _, #_); |
196 | // | 193 | find transmitRate(Spacecraft, TransmitRate); |
197 | //private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) { | 194 | TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate)); |
198 | // find indirectCommunicationLink(Source, Spacecraft); | 195 | } |
199 | // find scienceData(Source, Data); | 196 | |
200 | //} | 197 | private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) { |
201 | // | 198 | find indirectCommunicationLink(Source, Spacecraft); |
202 | //private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) { | 199 | find scienceData(Source, Data); |
203 | // ConstellationMission.spacecraft(Mission, Spacecraft); | 200 | } |
204 | // InterferometryMission.observationTime(Mission, ObservationTime); | 201 | |
205 | // Data == eval(12.0 * ObservationTime); | 202 | private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) { |
206 | //} | 203 | ConstellationMission.spacecraft(Mission, Spacecraft); |
207 | // | 204 | InterferometryMission.observationTime(Mission, ObservationTime); |
208 | //private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) { | 205 | Data == eval(12.0 * ObservationTime); |
209 | // find spacecraftUplink(Spacecraft, Comm, Target); | 206 | } |
210 | // UHFCommSubsystem(Comm); | 207 | |
211 | // Spacecraft(Target); | 208 | private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) { |
212 | // TransmitRate == 5.0; | 209 | find spacecraftUplink(Spacecraft, Comm, Target); |
213 | //} or { | 210 | UHFCommSubsystem(Comm); |
214 | // find spacecraftUplink(Spacecraft, Comm, Target); | 211 | Spacecraft(Target); |
215 | // XCommSubsystem(Comm); | 212 | TransmitRate == 5.0; |
216 | // Spacecraft(Target); | 213 | } or { |
217 | // TransmitRate == 1.6; | 214 | find spacecraftUplink(Spacecraft, Comm, Target); |
218 | //} or { | 215 | XCommSubsystem(Comm); |
219 | // find spacecraftUplink(Spacecraft, Comm, Target); | 216 | Spacecraft(Target); |
220 | // XCommSubsystem(Comm); | 217 | TransmitRate == 1.6; |
221 | // GroundStationNetwork(Target); | 218 | } or { |
222 | // TransmitRate == 0.7; | 219 | find spacecraftUplink(Spacecraft, Comm, Target); |
223 | //} or { | 220 | XCommSubsystem(Comm); |
224 | // find spacecraftUplink(Spacecraft, Comm, Target); | 221 | GroundStationNetwork(Target); |
225 | // KaCommSubsystem(Comm); | 222 | TransmitRate == 0.7; |
226 | // Spacecraft(Target); | 223 | } or { |
227 | // TransmitRate == 220.0; | 224 | find spacecraftUplink(Spacecraft, Comm, Target); |
228 | //} or { | 225 | KaCommSubsystem(Comm); |
229 | // find spacecraftUplink(Spacecraft, Comm, Target); | 226 | Spacecraft(Target); |
230 | // KaCommSubsystem(Comm); | 227 | TransmitRate == 220.0; |
231 | // GroundStationNetwork(Target); | 228 | } or { |
232 | // TransmitRate == 80.0; | 229 | find spacecraftUplink(Spacecraft, Comm, Target); |
233 | //} | 230 | KaCommSubsystem(Comm); |
234 | // | 231 | GroundStationNetwork(Target); |
235 | //private pattern spacecraftUplink(Spacecraft : Spacecraft, TargetSubsystem : CommSubsystem, Target : CommunicatingElement) { | 232 | TransmitRate == 80.0; |
236 | // CommunicatingElement.communicationLink(Spacecraft, Link); | 233 | } |
237 | // DirectedCommunicationLink.target(Link, TargetSubsystem); | 234 | |
238 | // CommunicatingElement.commSubsystem(Target, TargetSubsystem); | 235 | private pattern spacecraftUplink(Spacecraft : Spacecraft, TargetSubsystem : CommSubsystem, Target : CommunicatingElement) { |
239 | //} | 236 | CommunicatingElement.commSubsystem.target(Spacecraft, TargetSubsystem); |
240 | // | 237 | CommunicatingElement.commSubsystem(Target, TargetSubsystem); |
241 | //// Cost | 238 | } |
242 | // | 239 | |
243 | //pattern costMetric(Cost : java Double) { | 240 | // Cost |
244 | // Cost == sum find missionCost(_, #_); | 241 | |
245 | //} | 242 | pattern costMetric(Cost : java Double) { |
246 | // | 243 | Cost == sum find missionCost(_, #_); |
247 | //private pattern missionCost(Mission : InterferometryMission, Cost : java Double) { | 244 | } |
248 | // InterferometryMission.observationTime(Mission, ObservationTime); | 245 | |
249 | // SpacecraftCost == sum find spacecraftCost(Mission, _, #_); | 246 | private pattern missionCost(Mission : InterferometryMission, Cost : java Double) { |
250 | // Cost == eval(SpacecraftCost + 100000.0 * ObservationTime); | 247 | InterferometryMission.observationTime(Mission, ObservationTime); |
251 | //} | 248 | SpacecraftCost == sum find spacecraftCost(Mission, _, #_); |
252 | // | 249 | Cost == eval(SpacecraftCost + 100000.0 * ObservationTime); |
253 | //private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) { | 250 | } |
254 | // ConstellationMission.spacecraft(Mission, Spacecraft); | 251 | |
255 | // find spacecraftOfKindCount(Spacecraft, KindCount); | 252 | private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) { |
256 | // find basePrice(Spacecraft, BasePrice); | 253 | ConstellationMission.spacecraft(Mission, Spacecraft); |
257 | // find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost); | 254 | find spacecraftOfKindCount(Spacecraft, KindCount); |
258 | // find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost); | 255 | find basePrice(Spacecraft, BasePrice); |
259 | // Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost); | 256 | find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost); |
260 | //} | 257 | find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost); |
261 | // | 258 | Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost); |
262 | //private pattern spacecraftOfKindCount(Sat : Spacecraft, Count : java Integer) { | 259 | } |
263 | // CubeSat3U(Sat); | 260 | |
264 | // Count == count find cubeSat3U(_); | 261 | private pattern spacecraftOfKindCount(Sat : Spacecraft, Count : java Integer) { |
265 | //} or { | 262 | CubeSat3U(Sat); |
266 | // CubeSat6U(Sat); | 263 | Count == count find cubeSat3U(_); |
267 | // Count == count find cubeSat6U(_); | 264 | } or { |
268 | //} or { | 265 | CubeSat6U(Sat); |
269 | // SmallSat(Sat); | 266 | Count == count find cubeSat6U(_); |
270 | // Count == count find smallSat(_); | 267 | } or { |
271 | //} | 268 | SmallSat(Sat); |
272 | // | 269 | Count == count find smallSat(_); |
273 | //private pattern basePrice(Spacecraft : Spacecraft, BasePrice : java Double) { | 270 | } |
274 | // CubeSat3U(Spacecraft); | 271 | |
275 | // BasePrice == 250000.0; | 272 | private pattern basePrice(Spacecraft : Spacecraft, BasePrice : java Double) { |
276 | //} or { | 273 | CubeSat3U(Spacecraft); |
277 | // CubeSat6U(Spacecraft); | 274 | BasePrice == 250000.0; |
278 | // BasePrice == 750000.0; | 275 | } or { |
279 | //} or { | 276 | CubeSat6U(Spacecraft); |
280 | // SmallSat(Spacecraft); | 277 | BasePrice == 750000.0; |
281 | // BasePrice == 3000000.0; | 278 | } or { |
282 | //} | 279 | SmallSat(Spacecraft); |
283 | // | 280 | BasePrice == 3000000.0; |
284 | //private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) { | 281 | } |
285 | // find spacecraftWithInterferometryPayload(_, Spacecraft); | 282 | |
286 | // Cost == 50000.0; | 283 | private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) { |
287 | //} or { | 284 | find spacecraftWithInterferometryPayload(_, Spacecraft); |
288 | // neg find spacecraftWithInterferometryPayload(_, Spacecraft); | 285 | Cost == 50000.0; |
289 | // Cost == 0.0; | 286 | } or { |
290 | //} | 287 | neg find spacecraftWithInterferometryPayload(_, Spacecraft); |
291 | // | 288 | Cost == 0.0; |
292 | //private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) { | 289 | } |
293 | // find spacecraftWithTwoCommSubsystems(Spacecraft); | 290 | |
294 | // Cost == 100000.0; | 291 | private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) { |
295 | //} or { | 292 | find spacecraftWithTwoCommSubsystems(Spacecraft); |
296 | // neg find spacecraftWithTwoCommSubsystems(Spacecraft); | 293 | Cost == 100000.0; |
297 | // Cost == 0.0; | 294 | } or { |
298 | //} | 295 | neg find spacecraftWithTwoCommSubsystems(Spacecraft); |
299 | // | 296 | Cost == 0.0; |
300 | //private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) { | 297 | } |
301 | // Spacecraft.commSubsystem(Spacecraft, Subsystem1); | 298 | |
302 | // Spacecraft.commSubsystem(Spacecraft, Subsystem2); | 299 | private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) { |
303 | // Subsystem1 != Subsystem2; | 300 | Spacecraft.commSubsystem(Spacecraft, Subsystem1); |
304 | //} \ No newline at end of file | 301 | Spacecraft.commSubsystem(Spacecraft, Subsystem2); |
302 | Subsystem1 != Subsystem2; | ||
303 | } | ||