diff options
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java')
-rw-r--r-- | Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java | 59 |
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/TooLowAverageHddConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java new file mode 100644 index 00000000..0ff3c795 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java | |||
@@ -0,0 +1,59 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; | ||
4 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; | ||
5 | import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; | ||
6 | import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; | ||
7 | import org.eclipse.emf.common.util.EList; | ||
8 | import org.eclipse.emf.ecore.EObject; | ||
9 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; | ||
10 | import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; | ||
11 | |||
12 | @SuppressWarnings("all") | ||
13 | public class TooLowAverageHddConstraint implements IGuidanceFunction { | ||
14 | private static final double THRESHOLD = 0.25; | ||
15 | |||
16 | @Override | ||
17 | public String getName() { | ||
18 | return "TooLowAverageHdd"; | ||
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.getHddUtilization(host); | ||
39 | double _sumUtilization = sumUtilization; | ||
40 | int _defaultHdd = hostType.getDefaultHdd(); | ||
41 | double _divide = (((double) utilization) / _defaultHdd); | ||
42 | sumUtilization = (_sumUtilization + _divide); | ||
43 | } | ||
44 | } | ||
45 | } | ||
46 | } | ||
47 | final double averageUtilization = (sumUtilization / numHosts); | ||
48 | final double difference = (TooLowAverageHddConstraint.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 | } | ||