From 6eb760ee960cd3efe51ca6e4107153c09838a1da Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 1 Aug 2019 18:38:15 +0200 Subject: Clean up CPS and Satellite domains --- .../.gitignore | 1 + .../domains/cps/cplex/.CbcCpsMain.xtendbin | Bin 7229 -> 0 bytes .../domains/cps/cplex/.CpsToLpTranslator.xtendbin | Bin 11104 -> 0 bytes .../inf/dslreasoner/domains/cps/cplex/.gitignore | 6 - .../dslreasoner/domains/cps/cplex/CbcCpsMain.java | 109 ----- .../domains/cps/cplex/CpsToLpTranslator.java | 505 --------------------- .../domains/cps/dse/.CpsStateCoder.xtendbin | Bin 7626 -> 0 bytes .../domains/cps/dse/.RuleBasedCpsMain.xtendbin | Bin 5193 -> 0 bytes .../domains/cps/dse/.RuleBasedCpsSolver.xtendbin | Bin 7336 -> 0 bytes .../mit/inf/dslreasoner/domains/cps/dse/.gitignore | 9 - .../dslreasoner/domains/cps/dse/CpsStateCoder.java | 316 ------------- .../domains/cps/dse/RuleBasedCpsMain.java | 46 -- .../domains/cps/dse/RuleBasedCpsSolver.java | 93 ---- .../domains/cps/generator/.CpsGenerator.xtendbin | Bin 9849 -> 0 bytes .../dslreasoner/domains/cps/generator/.gitignore | 3 - .../domains/cps/generator/CpsGenerator.java | 177 -------- .../domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin | Bin 6069 -> 0 bytes .../.NonRedundantAllocationsConstraint.xtendbin | Bin 3332 -> 0 bytes .../.NotAllocatedAppInstancesConstraint.xtendbin | Bin 3440 -> 0 bytes .../.NotSatisfiedRequirementsConstraint.xtendbin | Bin 3412 -> 0 bytes .../cps/mdeo/.ResourceUtilizationUtil.xtendbin | Bin 3546 -> 0 bytes .../cps/mdeo/.TooLowAverageHddConstraint.xtendbin | Bin 3790 -> 0 bytes .../mdeo/.TooLowAverageMemoryConstraint.xtendbin | Bin 3797 -> 0 bytes .../cps/mdeo/.TotalCostFitnessFunction.xtendbin | Bin 2975 -> 0 bytes .../cps/mdeo/.UnavailableHddConstraint.xtendbin | Bin 3131 -> 0 bytes .../cps/mdeo/.UnavailableMemoryConstraint.xtendbin | Bin 3130 -> 0 bytes .../inf/dslreasoner/domains/cps/mdeo/.gitignore | 15 - .../domains/cps/mdeo/CpsMdeOptimiserMain.java | 82 ---- .../mdeo/NonRedundantAllocationsConstraint.java | 54 --- .../mdeo/NotAllocatedAppInstancesConstraint.java | 47 -- .../mdeo/NotSatisfiedRequirementsConstraint.java | 55 --- .../domains/cps/mdeo/ResourceUtilizationUtil.java | 67 --- .../cps/mdeo/TooLowAverageHddConstraint.java | 59 --- .../cps/mdeo/TooLowAverageMemoryConstraint.java | 59 --- .../domains/cps/mdeo/TotalCostFitnessFunction.java | 44 -- .../domains/cps/mdeo/UnavailableHddConstraint.java | 45 -- .../cps/mdeo/UnavailableMemoryConstraint.java | 45 -- 37 files changed, 1 insertion(+), 1836 deletions(-) delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore index a71b16b9..2affc42f 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore @@ -1,4 +1,5 @@ /bin/ +/xtend-gen/ /problem.lp /solution.txt /model/cps_fixup.henshin diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin deleted file mode 100644 index 14b2c080..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin deleted file mode 100644 index 9acd8621..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore deleted file mode 100644 index 011600b4..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/.CpsToLpTranslator.java._trace -/.CbcCpsMain.java._trace -/.CbcCpsMain.xtendbin -/.CpsToLpTranslator.xtendbin -/CbcCpsMain.java -/CpsToLpTranslator.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java deleted file mode 100644 index a6ff0d0e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java +++ /dev/null @@ -1,109 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.cplex; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import hu.bme.mit.inf.dslreasoner.domains.cps.cplex.CpsToLpTranslator; -import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.FileReader; -import java.io.FileWriter; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; -import org.eclipse.xtext.xbase.lib.Exceptions; -import org.eclipse.xtext.xbase.lib.Functions.Function1; -import org.eclipse.xtext.xbase.lib.Functions.Function2; -import org.eclipse.xtext.xbase.lib.InputOutput; -import org.eclipse.xtext.xbase.lib.IterableExtensions; -import org.eclipse.xtext.xbase.lib.ListExtensions; - -@SuppressWarnings("all") -public class CbcCpsMain { - private static final String PROBLEM_FILE = "problem.lp"; - - private static final String SOLUTION_FILE = "solution.txt"; - - private static final Pattern VALUE_REGEX = Pattern.compile("Optimal - objective value\\s*([0-9]+(\\.[0-9]+)?)"); - - private CbcCpsMain() { - new IllegalStateException("This is a static utility class and should not be instantiated directly."); - } - - public static void main(final String[] args) { - try { - Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); - XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); - _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); - EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); - final CpsGenerator generator = new CpsGenerator(1, 4, 1); - final CyberPhysicalSystem problem = generator.generateCpsProblem(); - final CpsToLpTranslator toLp = new CpsToLpTranslator(problem, 10, true); - final CharSequence lp = toLp.getLpProblem(); - FileWriter _fileWriter = new FileWriter(CbcCpsMain.PROBLEM_FILE); - final BufferedWriter writer = new BufferedWriter(_fileWriter); - try { - writer.append(lp); - } finally { - writer.close(); - } - final Process process = new ProcessBuilder().inheritIO().command("cbc", CbcCpsMain.PROBLEM_FILE, "solve", "solu", CbcCpsMain.SOLUTION_FILE).start(); - boolean _waitFor = process.waitFor(120, TimeUnit.SECONDS); - boolean _not = (!_waitFor); - if (_not) { - System.err.println("Timeout reached"); - process.destroyForcibly(); - System.exit((-1)); - } - int _exitValue = process.exitValue(); - boolean _notEquals = (_exitValue != 0); - if (_notEquals) { - int _exitValue_1 = process.exitValue(); - String _plus = ("Unexpected exit value " + Integer.valueOf(_exitValue_1)); - System.err.println(_plus); - System.exit((-1)); - } - FileReader _fileReader = new FileReader(CbcCpsMain.SOLUTION_FILE); - final BufferedReader reader = new BufferedReader(_fileReader); - double value = Double.NaN; - try { - String line = null; - while (((line = reader.readLine()) != null)) { - { - InputOutput.println(line); - final Matcher matcher = CbcCpsMain.VALUE_REGEX.matcher(line); - boolean _matches = matcher.matches(); - if (_matches) { - value = Double.parseDouble(matcher.group(1)); - } - } - } - } finally { - reader.close(); - } - final Function1> _function = (Request it) -> { - final Function1 _function_1 = (Requirement it_1) -> { - return Integer.valueOf(it_1.getCount()); - }; - return ListExtensions.map(it.getRequirements(), _function_1); - }; - final Function2 _function_1 = (Integer p1, Integer p2) -> { - return Integer.valueOf(((p1).intValue() + (p2).intValue())); - }; - Integer _reduce = IterableExtensions.reduce(IterableExtensions.flatMap(problem.getRequests(), _function), _function_1); - final int applicationCost = ((_reduce).intValue() * 5); - final double cost = (applicationCost + value); - InputOutput.println(); - InputOutput.println(("Cost: " + Double.valueOf(cost))); - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java deleted file mode 100644 index 20afeee6..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java +++ /dev/null @@ -1,505 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.cplex; - -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import org.eclipse.emf.common.util.EList; -import org.eclipse.xtend2.lib.StringConcatenation; -import org.eclipse.xtext.xbase.lib.CollectionLiterals; -import org.eclipse.xtext.xbase.lib.ExclusiveRange; -import org.eclipse.xtext.xbase.lib.Functions.Function1; -import org.eclipse.xtext.xbase.lib.IterableExtensions; -import org.eclipse.xtext.xbase.lib.ListExtensions; -import org.eclipse.xtext.xbase.lib.Pair; - -@SuppressWarnings("all") -public class CpsToLpTranslator { - private static final double MINIMUM_MEMORY_USAGE = 0.25; - - private static final double MINIMUM_HDD_USAGE = 0.25; - - private final CyberPhysicalSystem cps; - - private final Map> appInstances; - - private final Map> hostInstances; - - private final boolean breakSymmetry; - - public CpsToLpTranslator(final CyberPhysicalSystem cps, final int hostInstanceCount, final boolean breakSymmetry) { - this.cps = cps; - this.appInstances = this.createAppInstances(); - this.hostInstances = this.createHostInstances(hostInstanceCount); - this.breakSymmetry = breakSymmetry; - } - - private ImmutableMap> createAppInstances() { - ImmutableMap> _xblockexpression = null; - { - final ImmutableMap.Builder> builder = ImmutableMap.>builder(); - int i = 0; - Iterable _requirements = this.getRequirements(); - for (final Requirement req : _requirements) { - { - final ImmutableList.Builder listBuilder = ImmutableList.builder(); - for (int j = 0; (j < req.getCount()); j++) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("r"); - _builder.append(i); - _builder.append("a"); - _builder.append(j); - listBuilder.add(_builder.toString()); - } - builder.put(req, listBuilder.build()); - i++; - } - } - _xblockexpression = builder.build(); - } - return _xblockexpression; - } - - private ImmutableMap> createHostInstances(final int hostInstanceCount) { - ImmutableMap> _xblockexpression = null; - { - final ImmutableMap.Builder> builder = ImmutableMap.>builder(); - int i = 0; - EList _hostTypes = this.cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - { - final ImmutableList.Builder listBuilder = ImmutableList.builder(); - for (int j = 0; (j < hostInstanceCount); j++) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("h"); - _builder.append(i); - _builder.append("i"); - _builder.append(j); - listBuilder.add(_builder.toString()); - } - builder.put(hostType, listBuilder.build()); - i++; - } - } - _xblockexpression = builder.build(); - } - return _xblockexpression; - } - - public CharSequence getLpProblem() { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("Minimize"); - _builder.newLine(); - _builder.append("\t"); - _builder.append("total_cost: "); - CharSequence _objective = this.getObjective(); - _builder.append(_objective, "\t"); - _builder.newLineIfNotEmpty(); - _builder.append("Subject To"); - _builder.newLine(); - _builder.append("\t"); - CharSequence _constraints = this.getConstraints(); - _builder.append(_constraints, "\t"); - _builder.newLineIfNotEmpty(); - _builder.append("Bounds"); - _builder.newLine(); - _builder.append("\t"); - CharSequence _bounds = this.getBounds(); - _builder.append(_bounds, "\t"); - _builder.newLineIfNotEmpty(); - _builder.append("Binary"); - _builder.newLine(); - _builder.append("\t"); - CharSequence _binaryVariables = this.getBinaryVariables(); - _builder.append(_binaryVariables, "\t"); - _builder.newLineIfNotEmpty(); - _builder.append("End"); - _builder.newLine(); - return _builder; - } - - private CharSequence getObjective() { - StringConcatenation _builder = new StringConcatenation(); - { - Iterable> _hostInstancesWithType = this.getHostInstancesWithType(); - boolean _hasElements = false; - for(final Pair pair : _hostInstancesWithType) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(" + ", ""); - } - int _cost = pair.getKey().getCost(); - _builder.append(_cost); - _builder.append(" "); - CharSequence _existsVariable = this.getExistsVariable(pair.getValue()); - _builder.append(_existsVariable); - } - } - return _builder; - } - - private CharSequence getConstraints() { - StringConcatenation _builder = new StringConcatenation(); - { - Iterable> _appInstancesWithType = this.getAppInstancesWithType(); - for(final Pair appPair : _appInstancesWithType) { - String _value = appPair.getValue(); - _builder.append(_value); - _builder.append("_allocated: "); - { - Iterable _possibleHostInstances = this.getPossibleHostInstances(appPair.getKey()); - boolean _hasElements = false; - for(final String host : _possibleHostInstances) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(" + ", ""); - } - CharSequence _allocatedToVariable = this.getAllocatedToVariable(appPair.getValue(), host); - _builder.append(_allocatedToVariable); - } - } - _builder.append(" = 1"); - _builder.newLineIfNotEmpty(); - { - Iterable _possibleHostInstances_1 = this.getPossibleHostInstances(appPair.getKey()); - for(final String host_1 : _possibleHostInstances_1) { - String _value_1 = appPair.getValue(); - _builder.append(_value_1); - _builder.append("_to_"); - _builder.append(host_1); - _builder.append("_exists: "); - CharSequence _existsVariable = this.getExistsVariable(host_1); - _builder.append(_existsVariable); - _builder.append(" - "); - CharSequence _allocatedToVariable_1 = this.getAllocatedToVariable(appPair.getValue(), host_1); - _builder.append(_allocatedToVariable_1); - _builder.append(" >= 0"); - _builder.newLineIfNotEmpty(); - } - } - } - } - { - Iterable> _hostInstancesWithType = this.getHostInstancesWithType(); - for(final Pair hostPair : _hostInstancesWithType) { - String _value_2 = hostPair.getValue(); - _builder.append(_value_2); - _builder.append("_mem_use: "); - { - Iterable> _possibleAppInstancesWithRequirements = this.getPossibleAppInstancesWithRequirements(hostPair.getKey()); - boolean _hasElements_1 = false; - for(final Pair appPair_1 : _possibleAppInstancesWithRequirements) { - if (!_hasElements_1) { - _hasElements_1 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - int _requiredMemory = appPair_1.getKey().getRequiredMemory(); - _builder.append(_requiredMemory); - _builder.append(" "); - CharSequence _allocatedToVariable_2 = this.getAllocatedToVariable(appPair_1.getValue(), hostPair.getValue()); - _builder.append(_allocatedToVariable_2); - } - } - _builder.append(" - "); - int _defaultMemory = hostPair.getKey().getDefaultMemory(); - _builder.append(_defaultMemory); - _builder.append(" "); - CharSequence _memoryUsageVariable = this.getMemoryUsageVariable(hostPair.getValue()); - _builder.append(_memoryUsageVariable); - _builder.append(" = 0"); - _builder.newLineIfNotEmpty(); - String _value_3 = hostPair.getValue(); - _builder.append(_value_3); - _builder.append("_hdd_use: "); - { - Iterable> _possibleAppInstancesWithRequirements_1 = this.getPossibleAppInstancesWithRequirements(hostPair.getKey()); - boolean _hasElements_2 = false; - for(final Pair appPair_2 : _possibleAppInstancesWithRequirements_1) { - if (!_hasElements_2) { - _hasElements_2 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - int _requiredHdd = appPair_2.getKey().getRequiredHdd(); - _builder.append(_requiredHdd); - _builder.append(" "); - CharSequence _allocatedToVariable_3 = this.getAllocatedToVariable(appPair_2.getValue(), hostPair.getValue()); - _builder.append(_allocatedToVariable_3); - } - } - _builder.append(" - "); - int _defaultHdd = hostPair.getKey().getDefaultHdd(); - _builder.append(_defaultHdd); - _builder.append(" "); - CharSequence _hddUsageVariable = this.getHddUsageVariable(hostPair.getValue()); - _builder.append(_hddUsageVariable); - _builder.append(" = 0"); - _builder.newLineIfNotEmpty(); - } - } - _builder.append("average_mem: "); - { - Iterable _allHostInstances = this.getAllHostInstances(); - boolean _hasElements_3 = false; - for(final String host_2 : _allHostInstances) { - if (!_hasElements_3) { - _hasElements_3 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - CharSequence _memoryUsageVariable_1 = this.getMemoryUsageVariable(host_2); - _builder.append(_memoryUsageVariable_1); - _builder.append(" - "); - _builder.append(CpsToLpTranslator.MINIMUM_MEMORY_USAGE); - _builder.append(" "); - CharSequence _existsVariable_1 = this.getExistsVariable(host_2); - _builder.append(_existsVariable_1); - } - } - _builder.append(" >= 0"); - _builder.newLineIfNotEmpty(); - _builder.append("average_hdd: "); - { - Iterable _allHostInstances_1 = this.getAllHostInstances(); - boolean _hasElements_4 = false; - for(final String host_3 : _allHostInstances_1) { - if (!_hasElements_4) { - _hasElements_4 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - CharSequence _memoryUsageVariable_2 = this.getMemoryUsageVariable(host_3); - _builder.append(_memoryUsageVariable_2); - _builder.append(" - "); - _builder.append(CpsToLpTranslator.MINIMUM_HDD_USAGE); - _builder.append(" "); - CharSequence _existsVariable_2 = this.getExistsVariable(host_3); - _builder.append(_existsVariable_2); - } - } - _builder.append(" >= 0"); - _builder.newLineIfNotEmpty(); - { - final Function1 _function = (Requirement it) -> { - int _count = it.getCount(); - return Boolean.valueOf((_count > 1)); - }; - Iterable> _indexed = IterableExtensions.indexed(IterableExtensions.filter(this.getRequirements(), _function)); - for(final Pair reqPair : _indexed) { - { - final Function1> _function_1 = (ResourceRequirement it) -> { - return this.hostInstances.get(it.getHostType()); - }; - Iterable _flatMap = IterableExtensions.flatMap(reqPair.getValue().getType().getRequirements(), _function_1); - for(final String host_4 : _flatMap) { - _builder.append("r"); - Integer _key = reqPair.getKey(); - _builder.append(_key); - _builder.append("_"); - _builder.append(host_4); - _builder.append("_redundant: "); - { - List _get = this.appInstances.get(reqPair.getValue()); - boolean _hasElements_5 = false; - for(final String app : _get) { - if (!_hasElements_5) { - _hasElements_5 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - CharSequence _allocatedToVariable_4 = this.getAllocatedToVariable(app, host_4); - _builder.append(_allocatedToVariable_4); - } - } - _builder.append(" <= 1"); - _builder.newLineIfNotEmpty(); - } - } - } - } - { - if (this.breakSymmetry) { - { - Collection> _values = this.hostInstances.values(); - for(final List hosts : _values) { - { - int _size = hosts.size(); - int _minus = (_size - 1); - ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _minus, true); - for(final Integer i : _doubleDotLessThan) { - String _get_1 = hosts.get(((i).intValue() + 1)); - _builder.append(_get_1); - _builder.append("_after_"); - String _get_2 = hosts.get((i).intValue()); - _builder.append(_get_2); - _builder.append(": "); - CharSequence _existsVariable_3 = this.getExistsVariable(hosts.get((i).intValue())); - _builder.append(_existsVariable_3); - _builder.append(" - "); - CharSequence _existsVariable_4 = this.getExistsVariable(hosts.get(((i).intValue() + 1))); - _builder.append(_existsVariable_4); - _builder.append(" >= 0"); - _builder.newLineIfNotEmpty(); - } - } - } - } - } - } - return _builder; - } - - private CharSequence getBounds() { - StringConcatenation _builder = new StringConcatenation(); - { - Iterable _allHostInstances = this.getAllHostInstances(); - for(final String host : _allHostInstances) { - _builder.append("0 <= "); - CharSequence _memoryUsageVariable = this.getMemoryUsageVariable(host); - _builder.append(_memoryUsageVariable); - _builder.append(" <= 1"); - _builder.newLineIfNotEmpty(); - _builder.append("0 <= "); - CharSequence _hddUsageVariable = this.getHddUsageVariable(host); - _builder.append(_hddUsageVariable); - _builder.append(" <= 1"); - _builder.newLineIfNotEmpty(); - } - } - return _builder; - } - - private CharSequence getBinaryVariables() { - StringConcatenation _builder = new StringConcatenation(); - { - Iterable _allHostInstances = this.getAllHostInstances(); - for(final String host : _allHostInstances) { - CharSequence _existsVariable = this.getExistsVariable(host); - _builder.append(_existsVariable); - _builder.newLineIfNotEmpty(); - } - } - { - Iterable> _appInstancesWithType = this.getAppInstancesWithType(); - for(final Pair appPair : _appInstancesWithType) { - { - Iterable _possibleHostInstances = this.getPossibleHostInstances(appPair.getKey()); - for(final String host_1 : _possibleHostInstances) { - CharSequence _allocatedToVariable = this.getAllocatedToVariable(appPair.getValue(), host_1); - _builder.append(_allocatedToVariable); - _builder.newLineIfNotEmpty(); - } - } - } - } - return _builder; - } - - private Iterable getRequirements() { - final Function1> _function = (Request it) -> { - return it.getRequirements(); - }; - return IterableExtensions.flatMap(this.cps.getRequests(), _function); - } - - private Iterable getAllHostInstances() { - final Function1, List> _function = (List it) -> { - return it; - }; - return IterableExtensions.flatMap(this.hostInstances.values(), _function); - } - - private Iterable> getHostInstancesWithType() { - final Function1>, List>> _function = (Map.Entry> pair) -> { - final Function1> _function_1 = (String it) -> { - HostType _key = pair.getKey(); - return Pair.of(_key, it); - }; - return ListExtensions.>map(pair.getValue(), _function_1); - }; - return IterableExtensions.flatMap(this.hostInstances.entrySet(), _function); - } - - private Iterable> getAppInstancesWithType() { - final Function1>, List>> _function = (Map.Entry> pair) -> { - final Function1> _function_1 = (String it) -> { - ApplicationType _type = pair.getKey().getType(); - return Pair.of(_type, it); - }; - return ListExtensions.>map(pair.getValue(), _function_1); - }; - return IterableExtensions.flatMap(this.appInstances.entrySet(), _function); - } - - private Iterable getPossibleHostInstances(final ApplicationType appType) { - final Function1> _function = (ResourceRequirement req) -> { - return this.hostInstances.get(req.getHostType()); - }; - return IterableExtensions.flatMap(appType.getRequirements(), _function); - } - - private Iterable> getPossibleAppInstancesWithRequirements(final HostType hostType) { - final Function1>, List>> _function = (Map.Entry> pair) -> { - List> _xblockexpression = null; - { - final Function1 _function_1 = (ResourceRequirement it) -> { - HostType _hostType = it.getHostType(); - return Boolean.valueOf(Objects.equal(_hostType, hostType)); - }; - final ResourceRequirement resourceReq = IterableExtensions.findFirst(pair.getKey().getType().getRequirements(), _function_1); - List> _xifexpression = null; - if ((resourceReq == null)) { - _xifexpression = CollectionLiterals.>emptyList(); - } else { - final Function1> _function_2 = (String it) -> { - return Pair.of(resourceReq, it); - }; - _xifexpression = ListExtensions.>map(pair.getValue(), _function_2); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - }; - return IterableExtensions.flatMap(this.appInstances.entrySet(), _function); - } - - private CharSequence getExistsVariable(final String hostInstance) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append(hostInstance); - _builder.append("_exists"); - return _builder; - } - - private CharSequence getMemoryUsageVariable(final String hostInstance) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append(hostInstance); - _builder.append("_mem"); - return _builder; - } - - private CharSequence getHddUsageVariable(final String hostInstance) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append(hostInstance); - _builder.append("_hdd"); - return _builder; - } - - private CharSequence getAllocatedToVariable(final String appInstance, final String hostInstance) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append(appInstance); - _builder.append("_to_"); - _builder.append(hostInstance); - return _builder; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin deleted file mode 100644 index ee672cb1..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin deleted file mode 100644 index e58e8b6f..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin deleted file mode 100644 index e29f2d71..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore deleted file mode 100644 index 2338336b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -/.RuleBasedCpsSolver.java._trace -/.RuleBasedCpsMain.java._trace -/.CpsStateCoder.java._trace -/.CpsStateCoder.xtendbin -/.RuleBasedCpsMain.xtendbin -/.RuleBasedCpsSolver.xtendbin -/CpsStateCoder.java -/RuleBasedCpsMain.java -/RuleBasedCpsSolver.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java deleted file mode 100644 index 3ae8e828..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java +++ /dev/null @@ -1,316 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.dse; - -import com.google.common.base.Objects; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -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.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import java.util.Arrays; -import org.eclipse.emf.common.notify.Notifier; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.viatra.dse.statecode.IStateCoder; -import org.eclipse.viatra.dse.statecode.IStateCoderFactory; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.xtend2.lib.StringConcatenation; -import org.eclipse.xtend2.lib.StringConcatenationClient; -import org.eclipse.xtext.xbase.lib.IterableExtensions; - -@SuppressWarnings("all") -public class CpsStateCoder implements IStateCoder { - public static class Factory implements IStateCoderFactory { - @Override - public IStateCoder createStateCoder() { - return new CpsStateCoder(); - } - } - - private CyberPhysicalSystem cps; - - protected CpsStateCoder() { - } - - @Override - public void init(final Notifier notifier) { - CyberPhysicalSystem _switchResult = null; - boolean _matched = false; - if (notifier instanceof ResourceSet) { - _matched=true; - _switchResult = this.getCpsFromResourceSet(((ResourceSet)notifier)); - } - if (!_matched) { - if (notifier instanceof Resource) { - _matched=true; - _switchResult = this.getCpsFromResource(((Resource)notifier)); - } - } - if (!_matched) { - if (notifier instanceof CyberPhysicalSystem) { - _matched=true; - _switchResult = ((CyberPhysicalSystem)notifier); - } - } - if (!_matched) { - throw new IllegalArgumentException("notifier is not a CyberPhysicalSystem"); - } - this.cps = _switchResult; - } - - private CyberPhysicalSystem getCpsFromResourceSet(final ResourceSet resourceSet) { - CyberPhysicalSystem _xblockexpression = null; - { - boolean _isEmpty = resourceSet.getResources().isEmpty(); - if (_isEmpty) { - throw new IllegalArgumentException("No Resource in ResourceSet"); - } - final Resource resource = IterableExtensions.head(resourceSet.getResources()); - _xblockexpression = this.getCpsFromResource(resource); - } - return _xblockexpression; - } - - private CyberPhysicalSystem getCpsFromResource(final Resource resource) { - CyberPhysicalSystem _xblockexpression = null; - { - boolean _isEmpty = resource.getContents().isEmpty(); - if (_isEmpty) { - throw new IllegalArgumentException("No EObject in Resource"); - } - final EObject cps = IterableExtensions.head(resource.getContents()); - CyberPhysicalSystem _xifexpression = null; - if ((cps instanceof CyberPhysicalSystem)) { - _xifexpression = ((CyberPhysicalSystem)cps); - } else { - throw new IllegalArgumentException("EObject in Resource is not a CyberPhysicalSystem"); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } - - @Override - public String createStateCode() { - StringConcatenation _builder = new StringConcatenation(); - StringConcatenationClient _createRequestsCode = this.createRequestsCode(); - _builder.append(_createRequestsCode); - CharSequence _createHostTypesCode = this.createHostTypesCode(); - _builder.append(_createHostTypesCode); - return _builder.toString(); - } - - private StringConcatenationClient createRequestsCode() { - StringConcatenationClient _client = new StringConcatenationClient() { - @Override - protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { - { - EList _requests = CpsStateCoder.this.cps.getRequests(); - for(final Request request : _requests) { - StringConcatenationClient _createRequestCode = CpsStateCoder.this.createRequestCode(request); - _builder.append(_createRequestCode); - } - } - } - }; - return _client; - } - - private StringConcatenationClient createRequestCode(final Request request) { - StringConcatenationClient _client = new StringConcatenationClient() { - @Override - protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { - _builder.append("["); - { - EList _requirements = request.getRequirements(); - for(final Requirement requirement : _requirements) { - StringConcatenationClient _createRequirementCode = CpsStateCoder.this.createRequirementCode(requirement); - _builder.append(_createRequirementCode); - } - } - _builder.append("]"); - } - }; - return _client; - } - - private StringConcatenationClient createRequirementCode(final Requirement requirement) { - StringConcatenationClient _client = new StringConcatenationClient() { - @Override - protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { - _builder.append("["); - { - EList _instances = requirement.getInstances(); - boolean _hasElements = false; - for(final ApplicationInstance app : _instances) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(",", ""); - } - String _createAppCode = CpsStateCoder.this.createAppCode(app); - _builder.append(_createAppCode); - } - } - _builder.append("]"); - } - }; - return _client; - } - - private String createAppCode(final ApplicationInstance app) { - String _xifexpression = null; - HostInstance _allocatedTo = app.getAllocatedTo(); - boolean _tripleEquals = (_allocatedTo == null); - if (_tripleEquals) { - _xifexpression = "-"; - } else { - _xifexpression = this.createMatchArgumentCode(app.getAllocatedTo()); - } - return _xifexpression; - } - - private CharSequence createHostTypesCode() { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("("); - { - EList _hostTypes = this.cps.getHostTypes(); - boolean _hasElements = false; - for(final HostType hostType : _hostTypes) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(",", ""); - } - int _size = hostType.getInstances().size(); - _builder.append(_size); - } - } - _builder.append(")"); - return _builder; - } - - @Override - public String createActivationCode(final IPatternMatch match) { - StringConcatenation _builder = new StringConcatenation(); - String _simpleName = match.specification().getSimpleName(); - _builder.append(_simpleName); - _builder.append("("); - { - Object[] _array = match.toArray(); - boolean _hasElements = false; - for(final Object arg : _array) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(",", ""); - } - String _createMatchArgumentCode = this.createMatchArgumentCode(arg); - _builder.append(_createMatchArgumentCode); - } - } - _builder.append(")"); - return _builder.toString(); - } - - protected String _createMatchArgumentCode(final Requirement requirement) { - String _xblockexpression = null; - { - final EObject request = requirement.eContainer(); - String _xifexpression = null; - if ((request instanceof Request)) { - String _xblockexpression_1 = null; - { - EObject _eContainer = ((Request)request).eContainer(); - boolean _notEquals = (!Objects.equal(_eContainer, this.cps)); - if (_notEquals) { - throw new IllegalArgumentException("Request is not contained in the CPS"); - } - final int requestIndex = this.cps.getRequests().indexOf(request); - final int requirementIndex = ((Request)request).getRequirements().indexOf(requirement); - String _plus = (Integer.valueOf(requestIndex) + "."); - _xblockexpression_1 = (_plus + Integer.valueOf(requirementIndex)); - } - _xifexpression = _xblockexpression_1; - } else { - throw new IllegalArgumentException("Requirement is not contained in a request"); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } - - protected String _createMatchArgumentCode(final ApplicationInstance app) { - String _xblockexpression = null; - { - final Requirement requirement = app.getRequirement(); - if ((requirement == null)) { - throw new IllegalArgumentException("Application instance is not associated with a requirement"); - } - final int instanceIndex = requirement.getInstances().indexOf(app); - String _createMatchArgumentCode = this.createMatchArgumentCode(requirement); - String _plus = (_createMatchArgumentCode + "."); - _xblockexpression = (_plus + Integer.valueOf(instanceIndex)); - } - return _xblockexpression; - } - - protected String _createMatchArgumentCode(final HostInstance host) { - String _xblockexpression = null; - { - final EObject hostType = host.eContainer(); - String _xifexpression = null; - if ((hostType instanceof HostType)) { - String _xblockexpression_1 = null; - { - final int hostIndex = ((HostType)hostType).getInstances().indexOf(host); - String _createMatchArgumentCode = this.createMatchArgumentCode(hostType); - String _plus = (_createMatchArgumentCode + "."); - _xblockexpression_1 = (_plus + Integer.valueOf(hostIndex)); - } - _xifexpression = _xblockexpression_1; - } else { - throw new IllegalArgumentException("Host is not contained in a host type"); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } - - protected String _createMatchArgumentCode(final HostType hostType) { - String _xblockexpression = null; - { - EObject _eContainer = hostType.eContainer(); - boolean _notEquals = (!Objects.equal(_eContainer, this.cps)); - if (_notEquals) { - throw new IllegalArgumentException("Host type is not contained in the CPS"); - } - final int hostTypeIndex = this.cps.getHostTypes().indexOf(hostType); - _xblockexpression = Integer.valueOf(hostTypeIndex).toString(); - } - return _xblockexpression; - } - - protected String _createMatchArgumentCode(final Object object) { - throw new IllegalArgumentException("Unknown match argument: "); - } - - protected String createMatchArgumentCode(final Object app) { - if (app instanceof ApplicationInstance) { - return _createMatchArgumentCode((ApplicationInstance)app); - } else if (app instanceof HostInstance) { - return _createMatchArgumentCode((HostInstance)app); - } else if (app instanceof HostType) { - return _createMatchArgumentCode((HostType)app); - } else if (app instanceof Requirement) { - return _createMatchArgumentCode((Requirement)app); - } else if (app != null) { - return _createMatchArgumentCode(app); - } else { - throw new IllegalArgumentException("Unhandled parameter types: " + - Arrays.asList(app).toString()); - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java deleted file mode 100644 index 7d81f84b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java +++ /dev/null @@ -1,46 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.dse; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.dse.RuleBasedCpsSolver; -import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CpsQueries; -import java.util.Map; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EStructuralFeature; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; -import org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory; -import org.eclipse.viatra.addon.querybasedfeatures.runtime.handler.QueryBasedFeatures; -import org.eclipse.viatra.dse.api.DesignSpaceExplorer; -import org.eclipse.viatra.query.runtime.extensibility.SingletonQueryGroupProvider; -import org.eclipse.viatra.query.runtime.registry.IQuerySpecificationRegistry; -import org.eclipse.viatra.query.runtime.registry.QuerySpecificationRegistry; -import org.eclipse.viatra.query.runtime.registry.connector.QueryGroupProviderSourceConnector; - -@SuppressWarnings("all") -public class RuleBasedCpsMain { - private RuleBasedCpsMain() { - new IllegalStateException("This is a static utility class and should not be instantiated directly."); - } - - public static void main(final String[] args) { - DesignSpaceExplorer.turnOnLogging(DesignSpaceExplorer.DseLoggingLevel.VERBOSE_FULL); - Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); - XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); - _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); - QueryBasedFeatureSettingDelegateFactory _queryBasedFeatureSettingDelegateFactory = new QueryBasedFeatureSettingDelegateFactory(); - EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.put(QueryBasedFeatures.ANNOTATION_SOURCE, _queryBasedFeatureSettingDelegateFactory); - EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); - IQuerySpecificationRegistry _instance = QuerySpecificationRegistry.getInstance(); - CpsQueries _instance_1 = CpsQueries.instance(); - SingletonQueryGroupProvider _singletonQueryGroupProvider = new SingletonQueryGroupProvider(_instance_1); - QueryGroupProviderSourceConnector _queryGroupProviderSourceConnector = new QueryGroupProviderSourceConnector("CpsQueries", _singletonQueryGroupProvider, - true); - _instance.addSource(_queryGroupProviderSourceConnector); - final CpsGenerator generator = new CpsGenerator(1, 4, 1); - final CyberPhysicalSystem problem = generator.generateCpsProblem(); - final RuleBasedCpsSolver solver = new RuleBasedCpsSolver(); - solver.solve(problem); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java deleted file mode 100644 index fd348752..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java +++ /dev/null @@ -1,93 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.dse; - -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsFactory; -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.dse.CpsStateCoder; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.Allocate; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.AverageFreeHddMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.AverageFreeMemoryMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CostMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CreateHostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.GuidanceObjective; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.RequirementNotSatisfied; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.CompositeDirectionalThresholdObjective; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveThreshold; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.QueryBasedObjective; -import java.util.Collection; -import java.util.function.Consumer; -import org.eclipse.emf.common.util.EList; -import org.eclipse.viatra.dse.api.DesignSpaceExplorer; -import org.eclipse.viatra.dse.api.Solution; -import org.eclipse.viatra.dse.evolutionary.EvolutionaryStrategy; -import org.eclipse.viatra.dse.evolutionary.EvolutionaryStrategyBuilder; -import org.eclipse.viatra.dse.objectives.Fitness; -import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRuleFactory; -import org.eclipse.xtext.xbase.lib.Extension; -import org.eclipse.xtext.xbase.lib.InputOutput; - -@SuppressWarnings("all") -public class RuleBasedCpsSolver { - @Extension - private final BatchTransformationRuleFactory _batchTransformationRuleFactory = new BatchTransformationRuleFactory(); - - @Extension - private final CpsFactory _cpsFactory = CpsFactory.eINSTANCE; - - public void solve(final CyberPhysicalSystem problem) { - final DesignSpaceExplorer dse = new DesignSpaceExplorer(); - dse.addMetaModelPackage(CpsPackage.eINSTANCE); - dse.setInitialModel(problem.eResource().getResourceSet()); - final Consumer _function = (RequirementNotSatisfied.Match it) -> { - final ApplicationInstance app = this._cpsFactory.createApplicationInstance(); - EList _instances = it.getReq().getType().getInstances(); - _instances.add(app); - EList _instances_1 = it.getReq().getInstances(); - _instances_1.add(app); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(RequirementNotSatisfied.instance()).action(_function).build()); - final Consumer _function_1 = (Allocate.Match it) -> { - ApplicationInstance _app = it.getApp(); - _app.setAllocatedTo(it.getHost()); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(Allocate.instance()).action(_function_1).build()); - final Consumer _function_2 = (CreateHostInstance.Match it) -> { - EList _instances = it.getHostType().getInstances(); - HostInstance _createHostInstance = this._cpsFactory.createHostInstance(); - _instances.add(_createHostInstance); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(CreateHostInstance.instance()).action(_function_2).build()); - GuidanceObjective _instance = GuidanceObjective.instance(); - ObjectiveThreshold.Inclusive _inclusive = new ObjectiveThreshold.Inclusive(0); - QueryBasedObjective _queryBasedObjective = new QueryBasedObjective(_instance, ObjectiveKind.LOWER_IS_BETTER, _inclusive, 0); - AverageFreeMemoryMetric _instance_1 = AverageFreeMemoryMetric.instance(); - ObjectiveThreshold.Inclusive _inclusive_1 = new ObjectiveThreshold.Inclusive(0.75); - QueryBasedObjective _queryBasedObjective_1 = new QueryBasedObjective(_instance_1, ObjectiveKind.LOWER_IS_BETTER, _inclusive_1, 0); - AverageFreeHddMetric _instance_2 = AverageFreeHddMetric.instance(); - ObjectiveThreshold.Inclusive _inclusive_2 = new ObjectiveThreshold.Inclusive(0.75); - QueryBasedObjective _queryBasedObjective_2 = new QueryBasedObjective(_instance_2, ObjectiveKind.LOWER_IS_BETTER, _inclusive_2, 0); - CompositeDirectionalThresholdObjective _compositeDirectionalThresholdObjective = new CompositeDirectionalThresholdObjective("Composite", _queryBasedObjective, _queryBasedObjective_1, _queryBasedObjective_2); - dse.addObjective(_compositeDirectionalThresholdObjective); - CostMetric _instance_3 = CostMetric.instance(); - QueryBasedObjective _queryBasedObjective_3 = new QueryBasedObjective(_instance_3, ObjectiveKind.LOWER_IS_BETTER, - ObjectiveThreshold.NO_THRESHOLD, 0); - dse.addObjective(_queryBasedObjective_3); - dse.setMaxNumberOfThreads(1); - CpsStateCoder.Factory _factory = new CpsStateCoder.Factory(); - dse.setStateCoderFactory(_factory); - final EvolutionaryStrategy strategy = EvolutionaryStrategyBuilder.createNsga2Strategy(25); - dse.startExplorationWithTimeout(strategy, ((2 * 60) * 1000)); - Collection _solutions = dse.getSolutions(); - for (final Solution solution : _solutions) { - Object _stateCode = solution.getStateCode(); - String _plus = ("Found solution: " + _stateCode); - String _plus_1 = (_plus + " "); - Fitness _fitness = solution.getArbitraryTrajectory().getFitness(); - String _plus_2 = (_plus_1 + _fitness); - InputOutput.println(_plus_2); - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin deleted file mode 100644 index 42bebd02..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore deleted file mode 100644 index 716ffd30..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/.CpsGenerator.java._trace -/.CpsGenerator.xtendbin -/CpsGenerator.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java deleted file mode 100644 index ce0cd02d..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java +++ /dev/null @@ -1,177 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.generator; - -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsFactory; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Random; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.xtext.xbase.lib.CollectionLiterals; -import org.eclipse.xtext.xbase.lib.ExclusiveRange; -import org.eclipse.xtext.xbase.lib.Extension; -import org.eclipse.xtext.xbase.lib.ObjectExtensions; -import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; - -@SuppressWarnings("all") -public class CpsGenerator { - @Extension - private final CpsFactory _cpsFactory = CpsFactory.eINSTANCE; - - private static final int MIN_MEMORY = 1; - - private static final int MAX_MEMORY = 6; - - private static final int MIN_HDD = 1; - - private static final int MAX_HDD = 30; - - private static final int HIGH_CPU_FRACTION = 4; - - private static final int MIN_REPLICAS = 1; - - private static final int MAX_REPLICAS = 4; - - private final Random random; - - private final int applicationTypeCount; - - private final int demandFactor; - - private final boolean populateAppInstances; - - public CpsGenerator(final long randomSeed, final int applicationTypeCount, final int demandFactor) { - this(randomSeed, applicationTypeCount, demandFactor, false); - } - - public CpsGenerator(final long randomSeed, final int applicationTypeCount, final int demandFactor, final boolean populateAppInstances) { - Random _random = new Random(randomSeed); - this.random = _random; - this.applicationTypeCount = applicationTypeCount; - this.demandFactor = demandFactor; - this.populateAppInstances = populateAppInstances; - } - - public CyberPhysicalSystem generateCpsProblem() { - CyberPhysicalSystem _xblockexpression = null; - { - final ResourceSetImpl resourceSet = new ResourceSetImpl(); - final Resource resource = resourceSet.createResource(URI.createFileURI("dummy.dummyext")); - CyberPhysicalSystem _createCyberPhysicalSystem = this._cpsFactory.createCyberPhysicalSystem(); - final Procedure1 _function = (CyberPhysicalSystem it) -> { - final CyberPhysicalSystem cps = it; - EList _contents = resource.getContents(); - _contents.add(cps); - this.createLowCpuHostTypes(it); - final List highCpuHostTypes = this.createHighCpuHostTypes(it); - for (int i = 0; (i < this.applicationTypeCount); i++) { - if (((i % CpsGenerator.HIGH_CPU_FRACTION) == 0)) { - this.createRandomApplicationType(it, highCpuHostTypes); - } else { - this.createRandomApplicationType(it, it.getHostTypes()); - } - } - for (int i = 0; (i < this.demandFactor); i++) { - EList _requests = it.getRequests(); - Request _createRequest = this._cpsFactory.createRequest(); - final Procedure1 _function_1 = (Request it_1) -> { - EList _applicationTypes = cps.getApplicationTypes(); - for (final ApplicationType appType : _applicationTypes) { - EList _requirements = it_1.getRequirements(); - Requirement _createRequirement = this._cpsFactory.createRequirement(); - final Procedure1 _function_2 = (Requirement it_2) -> { - it_2.setCount(this.nextInt(CpsGenerator.MIN_REPLICAS, CpsGenerator.MAX_REPLICAS)); - it_2.setType(appType); - if (this.populateAppInstances) { - int _count = it_2.getCount(); - ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _count, true); - for (final Integer j : _doubleDotLessThan) { - { - final ApplicationInstance app = this._cpsFactory.createApplicationInstance(); - app.setType(appType); - EList _instances = appType.getInstances(); - _instances.add(app); - EList _instances_1 = it_2.getInstances(); - _instances_1.add(app); - } - } - } - }; - Requirement _doubleArrow = ObjectExtensions.operator_doubleArrow(_createRequirement, _function_2); - _requirements.add(_doubleArrow); - } - }; - Request _doubleArrow = ObjectExtensions.operator_doubleArrow(_createRequest, _function_1); - _requests.add(_doubleArrow); - } - }; - _xblockexpression = ObjectExtensions.operator_doubleArrow(_createCyberPhysicalSystem, _function); - } - return _xblockexpression; - } - - private void createRandomApplicationType(final CyberPhysicalSystem it, final Collection allowedHostTypes) { - final ApplicationType appType = this._cpsFactory.createApplicationType(); - final int memory = this.nextInt(CpsGenerator.MIN_MEMORY, CpsGenerator.MAX_MEMORY); - final int hdd = this.nextInt(CpsGenerator.MIN_HDD, CpsGenerator.MAX_HDD); - for (final HostType hostType : allowedHostTypes) { - EList _requirements = appType.getRequirements(); - ResourceRequirement _createResourceRequirement = this._cpsFactory.createResourceRequirement(); - final Procedure1 _function = (ResourceRequirement it_1) -> { - it_1.setHostType(hostType); - it_1.setRequiredMemory(memory); - it_1.setRequiredHdd(hdd); - }; - ResourceRequirement _doubleArrow = ObjectExtensions.operator_doubleArrow(_createResourceRequirement, _function); - _requirements.add(_doubleArrow); - } - EList _applicationTypes = it.getApplicationTypes(); - _applicationTypes.add(appType); - } - - private List createLowCpuHostTypes(final CyberPhysicalSystem it) { - HostType _createHostType = this.createHostType(it, 2, 8, 75); - HostType _createHostType_1 = this.createHostType(it, 4, 16, 150); - HostType _createHostType_2 = this.createHostType(it, 3, 16, 75); - HostType _createHostType_3 = this.createHostType(it, 6, 32, 150); - return Collections.unmodifiableList(CollectionLiterals.newArrayList(_createHostType, _createHostType_1, _createHostType_2, _createHostType_3)); - } - - private List createHighCpuHostTypes(final CyberPhysicalSystem it) { - HostType _createHostType = this.createHostType(it, 2, 4, 50); - HostType _createHostType_1 = this.createHostType(it, 4, 8, 100); - return Collections.unmodifiableList(CollectionLiterals.newArrayList(_createHostType, _createHostType_1)); - } - - private HostType createHostType(final CyberPhysicalSystem it, final int cost, final int memory, final int hdd) { - HostType _xblockexpression = null; - { - HostType _createHostType = this._cpsFactory.createHostType(); - final Procedure1 _function = (HostType it_1) -> { - it_1.setCost(cost); - it_1.setDefaultMemory(memory); - it_1.setDefaultHdd(hdd); - }; - final HostType hostType = ObjectExtensions.operator_doubleArrow(_createHostType, _function); - EList _hostTypes = it.getHostTypes(); - _hostTypes.add(hostType); - _xblockexpression = hostType; - } - return _xblockexpression; - } - - private int nextInt(final int lower, final int upper) { - int _nextInt = this.random.nextInt(((upper - lower) + 1)); - return (lower + _nextInt); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin deleted file mode 100644 index b9f0df1a..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin deleted file mode 100644 index 86913d04..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin deleted file mode 100644 index fd33b1a1..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin deleted file mode 100644 index cc5c52dd..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin deleted file mode 100644 index a80b5bc3..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin deleted file mode 100644 index 24309a53..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin deleted file mode 100644 index 86af43db..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin deleted file mode 100644 index f37b1a5c..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin deleted file mode 100644 index eeef5142..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin deleted file mode 100644 index dd11fbd5..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore deleted file mode 100644 index 51a2537b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -/.TotalCostFitnessFunction.java._trace -/.CpsMdeOptimiserMain.java._trace -/.ExcludedOptimisationInterpreter.java._trace -/.ExcludedMoeaOptimisation.java._trace -/.ExcludedRun.java._trace -/.SatisfiedRequirementsConstraint.java._trace -/.NotSatisfiedRequirementsConstraint.java._trace -/.NotAllocatedAppInstancesConstraint.java._trace -/.NonRedundantAllocationsConstraint.java._trace -/.UnavailableMemoryConstraint.java._trace -/.ResourceUtilizationUtil.java._trace -/.UnavailableHddConstraint.java._trace -/.TooLowAverageMemoryConstraint.java._trace -/.TooLowAverageHddUtilization.java._trace -/.TooLowAverageHddConstraint.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java deleted file mode 100644 index c047f255..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java +++ /dev/null @@ -1,82 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.FileReader; -import java.io.FileWriter; -import java.util.Collections; -import java.util.Map; -import java.util.Set; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; -import org.eclipse.xtext.xbase.lib.CollectionLiterals; -import org.eclipse.xtext.xbase.lib.Exceptions; -import org.eclipse.xtext.xbase.lib.Pair; -import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run; - -@SuppressWarnings("all") -public class CpsMdeOptimiserMain { - private static final String PROJECT_PATH = "."; - - private static final String PROBLEM_PATH = "model/problem.xmi"; - - private static final String MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt"; - - private CpsMdeOptimiserMain() { - new IllegalStateException("This is a static utility class and should not be instantiated directly."); - } - - public static void main(final String[] args) { - try { - Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); - XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); - _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); - EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); - final CpsGenerator generator = new CpsGenerator(1, 4, 1); - final CyberPhysicalSystem problem = generator.generateCpsProblem(); - Resource _eResource = problem.eResource(); - _eResource.setURI(URI.createFileURI(CpsMdeOptimiserMain.PROBLEM_PATH)); - problem.eResource().save(CollectionLiterals.emptyMap()); - Pair _mappedTo = Pair.of("cps.ecore", CpsPackage.eNS_URI); - CpsMdeOptimiserMain.fixupHenshinModel("model/cps.henshin", "model/cps_fixup.henshin", Collections.unmodifiableMap(CollectionLiterals.newHashMap(_mappedTo))); - Run.main(new String[] { "-p", CpsMdeOptimiserMain.PROJECT_PATH, "-m", CpsMdeOptimiserMain.MOPT_PATH }); - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } - - private static void fixupHenshinModel(final String originalPath, final String outputPath, final Map remapMap) { - try { - FileReader _fileReader = new FileReader(originalPath); - final BufferedReader reader = new BufferedReader(_fileReader); - try { - FileWriter _fileWriter = new FileWriter(outputPath); - final BufferedWriter writer = new BufferedWriter(_fileWriter); - try { - String line = null; - while (((line = reader.readLine()) != null)) { - { - Set> _entrySet = remapMap.entrySet(); - for (final Map.Entry entry : _entrySet) { - line = line.replace(entry.getKey(), entry.getValue()); - } - writer.write(line); - writer.write("\n"); - } - } - } finally { - writer.close(); - } - } finally { - reader.close(); - } - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java deleted file mode 100644 index 6100d821..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java +++ /dev/null @@ -1,54 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import com.google.common.collect.HashMultiset; -import com.google.common.collect.Multiset; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -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.Requirement; -import java.util.Set; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class NonRedundantAllocationsConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "NonRedundantAllocations"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final HashMultiset bins = HashMultiset.create(); - EList _applications = host.getApplications(); - for (final ApplicationInstance app : _applications) { - bins.add(app.getRequirement()); - } - Set> _entrySet = bins.entrySet(); - for (final Multiset.Entry entry : _entrySet) { - int _cost = cost; - int _count = entry.getCount(); - int _minus = (_count - 1); - cost = (_cost + _minus); - } - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java deleted file mode 100644 index e9ade5de..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java +++ /dev/null @@ -1,47 +0,0 @@ -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.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -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.emf.ecore.EObject; -import org.eclipse.xtext.xbase.lib.Functions.Function1; -import org.eclipse.xtext.xbase.lib.IterableExtensions; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class NotAllocatedAppInstancesConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "NotAllocatedAppInstances"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _applicationTypes = cps.getApplicationTypes(); - for (final ApplicationType appType : _applicationTypes) { - EList _instances = appType.getInstances(); - for (final ApplicationInstance app : _instances) { - if (((app.getAllocatedTo() == null) || (!IterableExtensions.exists(appType.getRequirements(), ((Function1) (ResourceRequirement it) -> { - HostType _hostType = it.getHostType(); - HostType _type = app.getAllocatedTo().getType(); - return Boolean.valueOf(Objects.equal(_hostType, _type)); - }))))) { - cost++; - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java deleted file mode 100644 index 34f73952..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java +++ /dev/null @@ -1,55 +0,0 @@ -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.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class NotSatisfiedRequirementsConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "NotSatisfiedRequirements"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _requests = cps.getRequests(); - for (final Request request : _requests) { - EList _requirements = request.getRequirements(); - for (final Requirement requirement : _requirements) { - { - int _cost = cost; - int _count = requirement.getCount(); - int _size = requirement.getInstances().size(); - int _minus = (_count - _size); - int _abs = Math.abs(_minus); - cost = (_cost + _abs); - EList _instances = requirement.getInstances(); - for (final ApplicationInstance app : _instances) { - ApplicationType _type = app.getType(); - ApplicationType _type_1 = requirement.getType(); - boolean _notEquals = (!Objects.equal(_type, _type_1)); - if (_notEquals) { - cost++; - } - } - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} 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 deleted file mode 100644 index a03213e3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java +++ /dev/null @@ -1,67 +0,0 @@ -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; - } -} 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 deleted file mode 100644 index 0ff3c795..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java +++ /dev/null @@ -1,59 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -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.mdeo.ResourceUtilizationUtil; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class TooLowAverageHddConstraint implements IGuidanceFunction { - private static final double THRESHOLD = 0.25; - - @Override - public String getName() { - return "TooLowAverageHdd"; - } - - @Override - public double computeFitness(final Solution solution) { - double _xblockexpression = (double) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - double sumUtilization = 0; - int numHosts = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - { - int _numHosts = numHosts; - int _size = hostType.getInstances().size(); - numHosts = (_numHosts + _size); - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final int utilization = ResourceUtilizationUtil.getHddUtilization(host); - double _sumUtilization = sumUtilization; - int _defaultHdd = hostType.getDefaultHdd(); - double _divide = (((double) utilization) / _defaultHdd); - sumUtilization = (_sumUtilization + _divide); - } - } - } - } - final double averageUtilization = (sumUtilization / numHosts); - final double difference = (TooLowAverageHddConstraint.THRESHOLD - averageUtilization); - double _xifexpression = (double) 0; - if ((difference > 0)) { - _xifexpression = difference; - } else { - _xifexpression = 0; - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } -} 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 deleted file mode 100644 index 341925bc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java +++ /dev/null @@ -1,59 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -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.mdeo.ResourceUtilizationUtil; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class TooLowAverageMemoryConstraint implements IGuidanceFunction { - private static final double THRESHOLD = 0.25; - - @Override - public String getName() { - return "TooLowAverageMemory"; - } - - @Override - public double computeFitness(final Solution solution) { - double _xblockexpression = (double) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - double sumUtilization = 0; - int numHosts = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - { - int _numHosts = numHosts; - int _size = hostType.getInstances().size(); - numHosts = (_numHosts + _size); - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final int utilization = ResourceUtilizationUtil.getMemoryUtilization(host); - double _sumUtilization = sumUtilization; - int _defaultMemory = hostType.getDefaultMemory(); - double _divide = (((double) utilization) / _defaultMemory); - sumUtilization = (_sumUtilization + _divide); - } - } - } - } - final double averageUtilization = (sumUtilization / numHosts); - final double difference = (TooLowAverageMemoryConstraint.THRESHOLD - averageUtilization); - double _xifexpression = (double) 0; - if ((difference > 0)) { - _xifexpression = difference; - } else { - _xifexpression = 0; - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java deleted file mode 100644 index 7bb80ca8..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java +++ /dev/null @@ -1,44 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class TotalCostFitnessFunction implements IGuidanceFunction { - @Override - public String getName() { - return "TotalCost"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _applicationTypes = cps.getApplicationTypes(); - for (final ApplicationType appType : _applicationTypes) { - int _cost = cost; - int _size = appType.getInstances().size(); - int _multiply = (5 * _size); - cost = (_cost + _multiply); - } - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - int _cost_1 = cost; - int _cost_2 = hostType.getCost(); - int _size_1 = hostType.getInstances().size(); - int _multiply_1 = (_cost_2 * _size_1); - cost = (_cost_1 + _multiply_1); - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java deleted file mode 100644 index 00d1c4e6..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java +++ /dev/null @@ -1,45 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -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.mdeo.ResourceUtilizationUtil; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class UnavailableHddConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "UnavailableHdd"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final int utilization = ResourceUtilizationUtil.getHddUtilization(host); - int _defaultHdd = hostType.getDefaultHdd(); - final int difference = (utilization - _defaultHdd); - if ((difference > 0)) { - int _cost = cost; - cost = (_cost + difference); - } - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java deleted file mode 100644 index a9be9f1f..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java +++ /dev/null @@ -1,45 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -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.mdeo.ResourceUtilizationUtil; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class UnavailableMemoryConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "UnavailableMemory"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final int utilization = ResourceUtilizationUtil.getMemoryUtilization(host); - int _defaultMemory = hostType.getDefaultMemory(); - final int difference = (utilization - _defaultMemory); - if ((difference > 0)) { - int _cost = cost; - cost = (_cost + difference); - } - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} -- cgit v1.2.3-70-g09d2