From 256de89b45a055533650481593e026359d50c203 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 17 May 2019 20:37:45 -0400 Subject: Model generator for CPS case study Added extra constraint for redundancy in CPS deployments --- .../bme/mit/inf/dslreasoner/domains/cps/queries/CpsQueries.vql | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/queries/CpsQueries.vql') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/queries/CpsQueries.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/queries/CpsQueries.vql index 7f7cc5a4..40337443 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/queries/CpsQueries.vql +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/queries/CpsQueries.vql @@ -96,6 +96,16 @@ pattern requirementNotSatisfied(Req : Requirement) { check(Instances < RequiredCount); } +@Constraint(severity = "error", key = {Req}, + message = "Redundant instances must not be allocated to the same host.") +pattern redundantInstancesOnSameHost(Req : Requirement) { + Requirement.instances(Req, App1); + Requirement.instances(Req, App2); + App1 != App2; + ApplicationInstance.allocatedTo(App1, Host); + ApplicationInstance.allocatedTo(App2, Host); +} + pattern averageFreeMemoryMetric(Average : java Double) { Average == avg find freeMemoryPercentage(_, #_); } -- cgit v1.2.3-70-g09d2