aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java59
1 files changed, 59 insertions, 0 deletions
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
new file mode 100644
index 00000000..341925bc
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java
@@ -0,0 +1,59 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
4import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance;
5import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
6import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil;
7import org.eclipse.emf.common.util.EList;
8import org.eclipse.emf.ecore.EObject;
9import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
10import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
11
12@SuppressWarnings("all")
13public 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}