From b7ed3353ba34dd837bfc15f7e48c30a2cdc7ce75 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Wed, 22 May 2019 20:38:53 -0400 Subject: MDEOptimiser implementation of CPS benchmark --- .../domains/cps/mdeo/ResourceUtilizationUtil.java | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java new file mode 100644 index 00000000..a03213e3 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java @@ -0,0 +1,67 @@ +package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; + +import com.google.common.base.Objects; +import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; +import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; +import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; +import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; +import org.eclipse.emf.common.util.EList; +import org.eclipse.xtext.xbase.lib.Functions.Function1; +import org.eclipse.xtext.xbase.lib.IterableExtensions; + +@SuppressWarnings("all") +public class ResourceUtilizationUtil { + private ResourceUtilizationUtil() { + new IllegalStateException("This is a static utility class and should not be instantiated directly."); + } + + public static int getMemoryUtilization(final HostInstance host) { + int _xblockexpression = (int) 0; + { + int utilization = 0; + EList _applications = host.getApplications(); + for (final ApplicationInstance app : _applications) { + { + final Function1 _function = (ResourceRequirement it) -> { + HostType _hostType = it.getHostType(); + HostType _type = host.getType(); + return Boolean.valueOf(Objects.equal(_hostType, _type)); + }; + final ResourceRequirement req = IterableExtensions.findFirst(app.getType().getRequirements(), _function); + if ((req != null)) { + int _utilization = utilization; + int _requiredMemory = req.getRequiredMemory(); + utilization = (_utilization + _requiredMemory); + } + } + } + _xblockexpression = utilization; + } + return _xblockexpression; + } + + public static int getHddUtilization(final HostInstance host) { + int _xblockexpression = (int) 0; + { + int utilization = 0; + EList _applications = host.getApplications(); + for (final ApplicationInstance app : _applications) { + { + final Function1 _function = (ResourceRequirement it) -> { + HostType _hostType = it.getHostType(); + HostType _type = host.getType(); + return Boolean.valueOf(Objects.equal(_hostType, _type)); + }; + final ResourceRequirement req = IterableExtensions.findFirst(app.getType().getRequirements(), _function); + if ((req != null)) { + int _utilization = utilization; + int _requiredHdd = req.getRequiredHdd(); + utilization = (_utilization + _requiredHdd); + } + } + } + _xblockexpression = utilization; + } + return _xblockexpression; + } +} -- cgit v1.2.3-70-g09d2