aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend33
1 files changed, 0 insertions, 33 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend
deleted file mode 100644
index e9b47d4c..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend
+++ /dev/null
@@ -1,33 +0,0 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6
7class TooLowAverageMemoryConstraint implements IGuidanceFunction {
8 static val THRESHOLD = 0.25
9
10 override getName() {
11 "TooLowAverageMemory"
12 }
13
14 override computeFitness(Solution solution) {
15 val cps = solution.model as CyberPhysicalSystem
16 var double sumUtilization
17 var int numHosts
18 for (hostType : cps.hostTypes) {
19 numHosts += hostType.instances.size
20 for (host : hostType.instances) {
21 val utilization = ResourceUtilizationUtil.getMemoryUtilization(host)
22 sumUtilization += (utilization as double) / hostType.defaultMemory
23 }
24 }
25 val averageUtilization = sumUtilization / numHosts
26 val difference = THRESHOLD - averageUtilization
27 if (difference > 0) {
28 difference
29 } else {
30 0
31 }
32 }
33}