From 9b83e33c055660f6de218d1b672f67734675f1f6 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 7 May 2019 11:53:38 -0400 Subject: Try to restructure satellite case study --- .../domains/satellite/queries/SatelliteQueries.vql | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql index 40553e29..edffd941 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql @@ -2,13 +2,17 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite.queries import "http://www.example.org/satellite" -@Constraint(severity = "error", key = {Link}, - message = "Communication links must start from the containing element.") -pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) { - CommunicatingElement.communicationLink(Element, Link); - DirectedCommunicationLink.source(Link, SourceComm); - CommunicatingElement.commSubsystem(SourceElement, SourceComm); - Element != SourceElement; +@Constraint(severity = "error", key = {Element}, + message = "Only one communication link is allowed per element.") +pattern multipleCommunicationLinks(Element : CommunicatingElement) { + CommunicatingElement.commSubsystem.communicationLink(Element, Link1); + CommunicatingElement.commSubsystem.communicationLink(Element, Link2); + Link1 != Link2; +} + +@QueryBasedFeature(feature = "communicationLink") +pattern communicationLinkOfElement(Element : CommunicatingElement, Link : DirectedCommunicationLink) { + CommunicatingElement.commSubsystem.communicationLink(Element, Link); } // At least two spacecraft must have the interferometry payload configured -- cgit v1.2.3-54-g00ecf