From ac2070a5cb070136f5f3dee01fa39387294a0efc Mon Sep 17 00:00:00 2001
From: Albert Zuendorf <zuendorf@cs.uni-kassel.de>
Date: Sun, 3 Jun 2018 21:31:37 +0200
Subject: [PATCH] first running solution, almost as good as the simple solver
 (:

---
 .gitignore                                    |   1 +
 README.md                                     |   3 +-
 jastadd-mquat-benchmark/build.gradle          |   3 +-
 .../inf/st/mquat/benchmark/SolverFactory.java |   8 +-
 .../src/main/resources/scenarios.json         |  21 +-
 jastadd-mquat-solver-emfer/libs/libEMFER.jar  | Bin 8089304 -> 8097501 bytes
 .../src/main/java/uniks/EMFeRSolver.java      | 333 ++++++-------
 .../src/main/java/uniks/EMFeRTrafos.java      | 445 +++++++++++++++++-
 .../inf/st/mquat/solving/EMFeRSolverTest.java |   3 +-
 .../st/mquat/solving/SimpleSolverTest.java    |   2 +-
 settings.gradle                               |   3 +-
 11 files changed, 640 insertions(+), 182 deletions(-)

diff --git a/.gitignore b/.gitignore
index bde6c8e..dc2f2ae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,4 @@ hs_err_pid*
 .settings/
 .classpath
 .project
+results/
diff --git a/README.md b/README.md
index 1cf35c2..2e2f6da 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,8 @@ The following steps need to be completed:
 1. Add an include of your project to `settings.gradle`
 1. Optional step: Create a test case by extending the [`HandwrittenTestSuite`](https://git-st.inf.tu-dresden.de/stgroup/ttc18/blob/master/jastadd-mquat-solver/src/test/java/de/tudresden/inf/st/mquat/solving/HandwrittenTestSuite.java)
 1. Add a compile dependency to your project in `build.gradle` of the project `jastadd-mquat-benchmark`
-1. Update [`de.tudresden.inf.st.mquat.benchmark.SolverFactory.createAvailableSolversIfNeeded`](https://git-st.inf.tu-dresden.de/stgroup/ttc18/blob/master/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java#L22) to create a new instance of your solver
+1. Update [`de.tudresden.inf.st.mquat.benchmark.SolverFactory.createAvailableSolversIfNeeded`]
+   (https://git-st.inf.tu-dresden.de/stgroup/ttc18/blob/master/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java#L22) to create a new instance of your solver
 1. Add the name of your solver to the benchmark settings
 	- Use `jastadd-mquat-benchmark/src/main/resources/scenarios.json` for the Gradle task `benchmarkFull`
 	- Use `jastadd-mquat-benchmark/src/main/resources/local-benchmark-settings.json` for the Gralde task `benchmarkCustom` (see [Custom Benchmark](#custom-benchmark) for details)
diff --git a/jastadd-mquat-benchmark/build.gradle b/jastadd-mquat-benchmark/build.gradle
index eaafbc0..f9da75c 100644
--- a/jastadd-mquat-benchmark/build.gradle
+++ b/jastadd-mquat-benchmark/build.gradle
@@ -11,6 +11,7 @@ dependencies {
     compile project(':jastadd-mquat-base')
     compile project(':jastadd-mquat-solver')
     compile project(':jastadd-mquat-solver-ilp')
+    compile project(':jastadd-mquat-solver-emfer')
     compile project(':jastadd-mquat-solver-simple')
     compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
     compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'
@@ -30,7 +31,7 @@ task benchmarkFull(type: JavaExec, dependsOn: assemble) {
     classpath = sourceSets.test.runtimeClasspath
     main = 'de.tudresden.inf.st.mquat.benchmark.FullBenchmarkMain'
     systemProperty "java.library.path", project.glpkPath
-//    jvmArgs("-Xmx=4096m")
+    // jvmArgs("-Xmx=2g")
     if (project.hasProperty("scenario")) {
         args(scenario.split(','))
     }
diff --git a/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java b/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java
index 3a28cd5..4afb9e4 100644
--- a/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java
+++ b/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java
@@ -4,6 +4,7 @@ import de.tudresden.inf.st.mquat.solving.BenchmarkableSolver;
 import de.tudresden.inf.st.mquat.solving.ilp.ILPDirectSolver;
 import de.tudresden.inf.st.mquat.solving.ilp.ILPExternalSolver;
 import de.tudresden.inf.st.mquat.solving.simple.SimpleSolver;
+import uniks.EMFeRSolver;
 
 import java.util.Map;
 import java.util.function.Function;
@@ -22,9 +23,10 @@ public class SolverFactory {
   private static Map<String, BenchmarkableSolver> createAvailableSolversIfNeeded() {
     if (availableSolvers == null) {
       availableSolvers = Stream.of(
-          new ILPExternalSolver(),
-          new ILPDirectSolver(),
-          new SimpleSolver()
+              new EMFeRSolver(),
+              // new ILPExternalSolver(),
+              new ILPDirectSolver(),
+              new SimpleSolver()
       ).collect(Collectors.toMap(BenchmarkableSolver::getName, Function.identity()));
     }
     return availableSolvers;
diff --git a/jastadd-mquat-benchmark/src/main/resources/scenarios.json b/jastadd-mquat-benchmark/src/main/resources/scenarios.json
index 42a8d7b..d68e08f 100644
--- a/jastadd-mquat-benchmark/src/main/resources/scenarios.json
+++ b/jastadd-mquat-benchmark/src/main/resources/scenarios.json
@@ -2,11 +2,12 @@
   "path": "results",
   "logLevel": "info",
   "solvers": [
-    "ilp-direct"
+    "ilp-direct",
 //    "ilp-external",
-//    "simple"
+    "emfer",
+    "simple"
   ],
-  "timeoutValue": 15,
+  "timeoutValue": 2,
   "timeoutUnit": "MINUTES",
   "seed": 0,
 //  "repetitions": 10,
@@ -17,12 +18,12 @@
     { "id": 3, "name": "small-complex-sw", "variants": 2, "requests": 1, "depth": 5, "resources": 1.5 },
     { "id": 4, "name": "medium", "variants": 10, "requests": 15, "depth": 2, "resources": 1.5 },
     { "id": 5, "name": "medium-many-hw", "variants": 10, "requests": 15, "depth": 2, "resources": 5 },
-    { "id": 6, "name": "medium-complex-sw", "variants": 5, "requests": 10, "depth": 5, "resources": 1.5 },
-    { "id": 7, "name": "large", "variants": 20, "requests": 20, "depth": 2, "resources": 1.5 },
-    { "id": 8, "name": "large-many-hw", "variants": 20, "requests": 20, "depth": 2, "resources": 5 },
-    { "id": 9, "name": "large-complex-sw", "variants": 10, "requests": 20, "depth": 5, "resources": 1.5 },
-    { "id": 10, "name": "huge", "variants": 50, "requests": 50, "depth": 2, "resources": 1.5 },
-    { "id": 11, "name": "huge-many-hw", "variants": 50, "requests": 50, "depth": 2, "resources": 5 },
-    { "id": 12, "name": "huge-complex-sw", "variants": 20, "requests": 50, "depth": 5, "resources": 1.5 }
+    { "id": 6, "name": "medium-complex-sw", "variants": 5, "requests": 10, "depth": 5, "resources": 1.5 }
+//    { "id": 7, "name": "large", "variants": 20, "requests": 20, "depth": 2, "resources": 1.5 },
+//    { "id": 8, "name": "large-many-hw", "variants": 20, "requests": 20, "depth": 2, "resources": 5 },
+//    { "id": 9, "name": "large-complex-sw", "variants": 10, "requests": 20, "depth": 5, "resources": 1.5 },
+//    { "id": 10, "name": "huge", "variants": 50, "requests": 50, "depth": 2, "resources": 1.5 },
+//    { "id": 11, "name": "huge-many-hw", "variants": 50, "requests": 50, "depth": 2, "resources": 5 },
+//    { "id": 12, "name": "huge-complex-sw", "variants": 20, "requests": 50, "depth": 5, "resources": 1.5 }
   ]
 }
diff --git a/jastadd-mquat-solver-emfer/libs/libEMFER.jar b/jastadd-mquat-solver-emfer/libs/libEMFER.jar
index b4797b38d2a2fe903daeac6180408e3ab95512b1..2e9952b882ea7f4b4d91fac33d51afec05e4a234 100644
GIT binary patch
delta 47023
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

delta 38811
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
C`Qf(!

diff --git a/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRSolver.java b/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRSolver.java
index a638bae..b6eaaea 100644
--- a/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRSolver.java
+++ b/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRSolver.java
@@ -6,210 +6,227 @@ import de.tudresden.inf.st.mquat.solving.Solver;
 import de.tudresden.inf.st.mquat.solving.SolverUtils;
 import de.tudresden.inf.st.mquat.solving.SolvingException;
 import de.tudresden.inf.st.mquat.utils.StopWatch;
+import emfer.EMFeR;
+import emfer.reachability.ReachableState;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EcorePackage;
 import uniks.ttc18.EAssignment;
 import uniks.ttc18.ESolution;
 import uniks.ttc18.Ttc18Factory;
 
-import java.util.*;
 import java.util.List;
+import java.util.Set;
+import java.util.Stack;
 import java.util.concurrent.TimeUnit;
 
 public class EMFeRSolver implements BenchmarkableSolver {
 
-  private static final Logger logger = LogManager.getLogger(EMFeRSolver.class);
+   private static final Logger logger = LogManager.getLogger(EMFeRSolver.class);
 
-  private Solution lastSolution;
-  private long lastSolvingTime;
+   private Solution lastSolution;
+   private long lastSolvingTime;
 
-  private int solutionCounter;
+   private int solutionCounter;
 
-  private StopWatch stopWatch;
+   private StopWatch stopWatch;
 
-  private long maxSolvingTime;
-  private boolean timedOut;
+   private long maxSolvingTime;
+   private boolean timedOut;
 
-  public EMFeRSolver() {
-    this(Long.MAX_VALUE);
-  }
+   public EMFeRSolver() {
+      this(Long.MAX_VALUE);
+   }
 
-  public EMFeRSolver(long maxSolvingTime) {
-    this.maxSolvingTime = maxSolvingTime;
-    reset();
-  }
+   public EMFeRSolver(long maxSolvingTime) {
+      this.maxSolvingTime = maxSolvingTime;
+      reset();
+   }
 
-  private static void assignResource(Assignment assignment, Resource resource) {
-    Implementation impl = assignment.getImplementation();
+   private static void assignResource(Assignment assignment, Resource resource) {
+      Implementation impl = assignment.getImplementation();
 
-    ResourceMapping mapping = new ResourceMapping(impl.getResourceRequirement().getInstance(0), resource, new de.tudresden.inf.st.mquat.jastadd.model.List<>());
-    SolverUtils.populateResourceMapping(mapping, impl.getResourceRequirement(), resource);
-    assignment.setResourceMapping(mapping);
-  }
+      ResourceMapping mapping = new ResourceMapping(impl.getResourceRequirement().getInstance(0), resource, new de.tudresden.inf.st.mquat.jastadd.model.List<>());
+      SolverUtils.populateResourceMapping(mapping, impl.getResourceRequirement(), resource);
+      assignment.setResourceMapping(mapping);
+   }
 
-  private int checkAssignment(Solution solution, List<Solution> solutions, List<Assignment> assignments, List<Set<Resource>> possibleResources, int index, Stack<Resource> usedResources) {
-    int checkCounter = 0;
+   private int checkAssignment(Solution solution, List<Solution> solutions, List<Assignment> assignments, List<Set<Resource>> possibleResources, int index, Stack<Resource> usedResources) {
+      int checkCounter = 0;
 
-    Assignment assignment = assignments.get(index);
-    for (Resource resource : possibleResources.get(index)) {
+      Assignment assignment = assignments.get(index);
+      for (Resource resource : possibleResources.get(index)) {
 
-      if (stopWatch.time(TimeUnit.MILLISECONDS) > maxSolvingTime) {
-        return checkCounter;
-      }
-
-      if (usedResources.contains(resource)) continue;
-      assignResource(assignment, resource);
-      usedResources.push(resource);
-      checkCounter++;
-      if (index == assignments.size() - 1) {
-        if (solution.isValid()) {
-          solutionCounter++;
-          if (solutions.isEmpty() || solution.computeObjective() < solutions.get(solutions.size() - 1).computeObjective()) {
-            Solution clone = solution.deepCopy();
-            solutions.add(clone);
-            logger.info("found a better solution with an objective of {}.", solution.computeObjective());
-          }
-
-        }
-      } else {
-        checkCounter += checkAssignment(solution, solutions, assignments, possibleResources, index + 1, usedResources);
-      }
-      usedResources.pop();
-    }
-    return checkCounter;
-  }
+         if (stopWatch.time(TimeUnit.MILLISECONDS) > maxSolvingTime) {
+            return checkCounter;
+         }
 
-  @Override
-  public Solution solve(Root model) throws SolvingException {
-    reset();
-    if (model.getNumRequest() == 0) {
-      return Solution.emptySolutionOf(model);
-    }
+         if (usedResources.contains(resource)) continue;
+         assignResource(assignment, resource);
+         usedResources.push(resource);
+         checkCounter++;
+         if (index == assignments.size() - 1) {
+            if (solution.isValid()) {
+               solutionCounter++;
+               if (solutions.isEmpty() || solution.computeObjective() < solutions.get(solutions.size() - 1).computeObjective()) {
+                  Solution clone = solution.deepCopy();
+                  solutions.add(clone);
+                  logger.info("found a better solution with an objective of {}.", solution.computeObjective());
+               }
 
-    ESolution eSolution = Ttc18Factory.eINSTANCE.createESolution();
+            }
+         } else {
+            checkCounter += checkAssignment(solution, solutions, assignments, possibleResources, index + 1, usedResources);
+         }
+         usedResources.pop();
+      }
+      return checkCounter;
+   }
 
-    EMFeRTrafos emFeRTrafos = new EMFeRTrafos(model);
+   @Override
+   public Solution solve(Root model) throws SolvingException
+   {
+      stopWatch = StopWatch.start();
 
-    emFeRTrafos.createTopLevelAssignments(eSolution);
+      EMFeRTrafos emFeRTrafos = new EMFeRTrafos(model);
 
-    for (EAssignment topAssignment : eSolution.getAssignments())
-    {
-      emFeRTrafos.createSubAssignments(eSolution, topAssignment);
-    }
+      ESolution eSolution = Ttc18Factory.eINSTANCE.createESolution();
+      emFeRTrafos.createTopLevelAssignments(eSolution);
 
-    int numAssignments = 0;
-    int numSoftwareSolutions = 0;
-    int numTotalSoftwareSolutions = 0;
+      EDataType eString = EcorePackage.eINSTANCE.getEString();
+      EObject eObj = null;
 
-    stopWatch = StopWatch.start();
+      // HashMap<String, Collection<String>> implementation2NodeListMap = emFeRTrafos.computeImplementation2NodeListMap();
 
-    List<Solution> solutions = new ArrayList<>();
+      EMFeR emfer = new EMFeR()
+              .withStart(eSolution)
+              .withMaxNoOfNewStates(100 * 1000)
+              .withMetric(root -> -1 * emFeRTrafos.getNumberOfOpenIssues(root))
+              .withTrafo("choose implementation", root -> emFeRTrafos.getImplementationChoices(root), (root, impl) -> emFeRTrafos.applyImplementationChoice(root, impl))
+              .withTrafo("assign node", root -> emFeRTrafos.getComputeNodeChoices(root), (root, node) -> emFeRTrafos.assignComputeNode(root, node))
+              ;
 
-    // iterate all possible assignments
-    // Note, that this only considers assignments of one configuration to each hardware component
+      int noOfStates = emfer.explore();
 
+      Solution bestSolution = null;
+      double bestObjective = Double.MAX_VALUE;
+      int noOfCompleteSolutions = 0;
 
-    Solution currentSolution = Solution.createSoftwareSolution(model);
+      System.out.println("emfer searching for best solution in " + noOfStates);
 
-    Solution emferSolution = emFeRTrafos.transform(eSolution);
+      for (ReachableState state : emfer.getReachabilityGraph().getStates())
+      {
+         ESolution newSolution = (ESolution) state.getRoot();
 
-    boolean valid = emferSolution.isValid();
-    // currentSolution = emferSolution;
-    //    currentSolution.trace().process(new LoggerProcessor());
+         if (bestSolution == null)
+         {
+            bestSolution = emFeRTrafos.transformPartial(newSolution);
+         }
 
-    logger.info("emfer found a solution with an objective of {}.", emferSolution.computeObjective());
+         if (emFeRTrafos.getNumberOfOpenIssues(newSolution) == 0)
+         {
+            noOfCompleteSolutions ++;
+            Solution emferSolution = emFeRTrafos.transformPartial(newSolution);
 
-    de.tudresden.inf.st.mquat.jastadd.model.List<Resource> resources = model.getHardwareModel().getResources();
+            if ( ! emferSolution.isValid())
+            {
+               // System.out.println("solution is invalid: " + newSolution);
+               continue;
+            }
 
-    boolean hasNextSoftwareAssignment;
-    do {
+            double newObjective = emferSolution.computeObjective();
 
-      numTotalSoftwareSolutions++;
+            // System.out.println("objective " + newObjective + "\n" + newSolution);
+            if (newObjective < bestObjective)
+            {
+               bestSolution = emferSolution;
+               bestObjective = newObjective;
+               System.out.println("Found solution with objective: " + bestObjective);
+            }
+         }
+      }
 
-      if (currentSolution.isSoftwareValid()) {
+      if (bestSolution != null)
+      {
+         logger.info("emfer found a solution with an objective of {}. Number of complete solutions {} ", bestSolution.computeObjective(), noOfCompleteSolutions );
+      }
 
-        numSoftwareSolutions++;
+      lastSolvingTime = stopWatch.time(TimeUnit.MILLISECONDS);
 
-        List<Assignment> assignments = currentSolution.allAssignments();
+      return bestSolution;
+   }
 
-        // initialize the lists of possible assignments
-        List<Set<Resource>> possibleResources = new ArrayList<>(assignments.size());
+   private boolean isCompleteSolution(ESolution eSolution)
+   {
+      for (EAssignment eAssignment : eSolution.getAssignments())
+      {
+         if ( ! isCompleteSolution(eAssignment))
+         {
+            return false;
+         }
+      }
 
-        for (Assignment assignment : assignments) {
-          Set<Resource> resourceList = new HashSet<>();
-          for (Resource resource : resources) {
-            // assignResource(assignment, resource);
-            if (assignment.isValid()) {
-              resourceList.add(resource);
+      return true;
+   }
+
+   private boolean isCompleteSolution(EAssignment eAssignment)
+   {
+      if (eAssignment.getImplName() != null && eAssignment.getNodeName() != null)
+      {
+         for (EAssignment kid : eAssignment.getAssignments())
+         {
+            if ( ! isCompleteSolution(kid))
+            {
+               return false;
             }
-          }
-          possibleResources.add(resourceList);
-        }
+         }
 
-        numAssignments += checkAssignment(currentSolution, solutions, assignments, possibleResources, 0, new Stack<>());
+         return true;
       }
-
-      if (stopWatch.time(TimeUnit.MILLISECONDS) > maxSolvingTime) {
-        this.timedOut = true;
-        logger.warn("Timeout! Solving terminated!");
-        break;
+      else
+      {
+         return false;
       }
-
-      hasNextSoftwareAssignment = currentSolution.nextSoftwareAssignment();
-    } while (hasNextSoftwareAssignment);
-
-    logger.info("Number of total software solutions: {}", numTotalSoftwareSolutions);
-    logger.info("Number of iterated software solutions: {}", numSoftwareSolutions);
-    logger.info("Number of iterated solutions: {}", numAssignments);
-    logger.info("Number of correct solutions: {}", solutionCounter);
-
-    if (solutions.size() > 0) {
-      lastSolution = solutions.get(solutions.size() - 1);
-    } else {
-      lastSolution = Solution.emptySolutionOf(model);
-      logger.warn("Found no solution!");
-    }
-
-    lastSolvingTime = stopWatch.time(TimeUnit.MILLISECONDS);
-
-    return lastSolution;
-  }
-
-  private void reset() {
-    this.lastSolution = null;
-    this.solutionCounter = 0;
-    this.lastSolvingTime = 0;
-    this.timedOut = false;
-  }
-
-  @Override
-  public String getName() {
-    return "simple";
-  }
-
-  @Override
-  public long getLastSolvingTime() {
-    return lastSolvingTime;
-  }
-
-  @Override
-  public double getLastObjective() {
-    if (lastSolution != null) {
-      return lastSolution.computeObjective();
-    } else {
-      // TODO throw exception or do something reasonable
-      return 0d;
-    }
-  }
-
-  @Override
-  public Solver setTimeout(long timeoutValue, TimeUnit timeoutUnit) {
-    this.maxSolvingTime = timeoutUnit.toMillis(timeoutValue);
-    return this;
-  }
-
-  @Override
-  public boolean hadTimeout() {
-    return this.timedOut;
-  }
+   }
+
+
+   private void reset() {
+      this.lastSolution = null;
+      this.solutionCounter = 0;
+      this.lastSolvingTime = 0;
+      this.timedOut = false;
+   }
+
+   @Override
+   public String getName() {
+      return "emfer";
+   }
+
+   @Override
+   public long getLastSolvingTime() {
+      return lastSolvingTime;
+   }
+
+   @Override
+   public double getLastObjective() {
+      if (lastSolution != null) {
+         return lastSolution.computeObjective();
+      } else {
+         // TODO throw exception or do something reasonable
+         return 0d;
+      }
+   }
+
+   @Override
+   public Solver setTimeout(long timeoutValue, TimeUnit timeoutUnit) {
+      this.maxSolvingTime = timeoutUnit.toMillis(timeoutValue);
+      return this;
+   }
+
+   @Override
+   public boolean hadTimeout() {
+      return this.timedOut;
+   }
 }
diff --git a/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRTrafos.java b/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRTrafos.java
index 228b6ff..13eec82 100644
--- a/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRTrafos.java
+++ b/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRTrafos.java
@@ -1,12 +1,15 @@
 package uniks;
 
 import de.tudresden.inf.st.mquat.jastadd.model.*;
+import de.tudresden.inf.st.mquat.jastadd.model.List;
 import de.tudresden.inf.st.mquat.solving.SolverUtils;
+import org.eclipse.emf.ecore.EObject;
 import uniks.ttc18.EAssignment;
+import uniks.ttc18.EChoice;
 import uniks.ttc18.ESolution;
 import uniks.ttc18.Ttc18Factory;
 
-import java.util.ArrayList;
+import java.util.*;
 
 public class EMFeRTrafos
 {
@@ -37,9 +40,9 @@ public class EMFeRTrafos
          EAssignment topAssignment = Ttc18Factory.eINSTANCE.createEAssignment();
          topAssignment.setRequestName(requName);
          topAssignment.setCompName(targetName.toString());
-         String nodeName = model.getHardwareModel().getResource(resourceNum).getName().toString();
-         resourceNum++;
-         topAssignment.setNodeName(nodeName);
+         // String nodeName = model.getHardwareModel().getResource(resourceNum).getName().toString();
+         // resourceNum++;
+         // topAssignment.setNodeName(nodeName);
          assignments.add(topAssignment);
       }
    }
@@ -71,6 +74,100 @@ public class EMFeRTrafos
 
    }
 
+
+   public Solution transformPartial(ESolution eSolution)
+   {
+      Solution result = new Solution();
+      result.setModel(model);
+
+      // top level
+      for (EAssignment eAssignment : eSolution.getAssignments())
+      {
+         Assignment dAssignment = new Assignment();
+         Request request = findRequest(eAssignment.getRequestName());
+         dAssignment.setRequest(request);
+         dAssignment.setTopLevel(true);
+
+         Component comp = findComp(model, eAssignment.getCompName());
+         Implementation implementation = findImplementation(comp, eAssignment.getImplName());
+         dAssignment.setImplementation(implementation);
+
+         if (eAssignment.getNodeName() == null)
+         {
+            continue;
+         }
+
+         transformPartialSubAssignments(dAssignment, eAssignment, implementation);
+
+         for (Instance instance : implementation.getResourceRequirement().getInstances())
+         {
+            Resource resource =  findResource(eAssignment.getNodeName());
+            ResourceMapping resourceMapping = new ResourceMapping(instance, resource, new List<>());
+
+            SolverUtils.populateResourceMapping(resourceMapping, implementation.getResourceRequirement(), resource);
+
+            dAssignment.setResourceMapping(resourceMapping);
+
+//            if (dAssignment.isValid())
+//            {
+//               System.out.println("assignment is valid " + dAssignment.getImplementation().getName() + " on " + resource.getName());
+//            }
+         }
+
+         result.addAssignment(dAssignment);
+      }
+
+      return result;
+   }
+
+
+   private void transformPartialSubAssignments(Assignment dAssignment, EAssignment eAssignment, Implementation implementation)
+   {
+      for (EAssignment eSubAssignment : eAssignment.getAssignments())
+      {
+         ComponentMapping componentMapping = new ComponentMapping();
+
+         Assignment dSubAssignment = new Assignment();
+         Request request = dAssignment.getRequest();
+         dSubAssignment.setRequest(request);
+         dSubAssignment.setTopLevel(false);
+
+         Component subComp = findComp(model, eSubAssignment.getCompName());
+         Implementation subImpl = findImplementation(subComp, eSubAssignment.getImplName());
+
+         dSubAssignment.setImplementation(subImpl);
+
+         Instance theInstance = findInstance(implementation, "the_" + eSubAssignment.getCompName());
+
+         componentMapping.setInstance(theInstance);
+         componentMapping.setAssignment(dSubAssignment);
+         dAssignment.getComponentMappings().add(componentMapping);
+
+         transformSubAssignments(dSubAssignment, eSubAssignment, subImpl);
+
+         if (eSubAssignment.getNodeName() == null)
+         {
+            continue;
+         }
+
+         for (Instance instance : subImpl.getResourceRequirement().getInstances())
+         {
+            Resource resource = findResource(eSubAssignment.getNodeName());
+            ResourceMapping resourceMapping = new ResourceMapping(instance, resource, new List<>());
+            SolverUtils.populateResourceMapping(resourceMapping, subImpl.getResourceRequirement(), resource);
+            dSubAssignment.setResourceMapping(resourceMapping);
+
+            if (dSubAssignment.isValid())
+            {
+               break;
+            }
+         }
+
+      }
+   }
+
+
+
    ArrayList<Resource> availableResources = null;
 
    public Solution transform(ESolution eSolution)
@@ -97,6 +194,10 @@ public class EMFeRTrafos
 
          Component comp = findComp(model, eAssignment.getCompName());
          Implementation implementation = findImplementation(comp, eAssignment.getImplName());
+         if (implementation == null)
+         {
+            continue;
+         }
          dAssignment.setImplementation(implementation);
 
          transformSubAssignments(dAssignment, eAssignment, implementation);
@@ -139,7 +240,10 @@ public class EMFeRTrafos
 
          Component subComp = findComp(model, eSubAssignment.getCompName());
          Implementation subImpl = findImplementation(subComp, eSubAssignment.getImplName());
-
+         if (subImpl == null)
+         {
+            continue;
+         }
          dSubAssignment.setImplementation(subImpl);
 
          for (Instance instance : subImpl.getResourceRequirement().getInstances())
@@ -234,4 +338,335 @@ public class EMFeRTrafos
       }
       return null;
    }
+
+   public Collection<EAssignment> getOpenAssignments(ESolution eSolution)
+   {
+      ArrayList<EAssignment> result = new ArrayList<>();
+
+      for (EAssignment eAssignment : eSolution.getAssignments())
+      {
+         if (eAssignment.getImplName() == null)
+         {
+            result.add(eAssignment);
+         }
+
+         getOpenSubAssignments(eAssignment, result);
+      }
+
+      return result;
+   }
+
+   private void getOpenSubAssignments(EAssignment eAssignment, ArrayList<EAssignment> result)
+   {
+      for (EAssignment subAssignment : eAssignment.getAssignments())
+      {
+         if (subAssignment.getImplName() == null)
+         {
+            result.add(subAssignment);
+         }
+
+         getOpenSubAssignments(subAssignment, result);
+      }
+   }
+
+   public Collection<EObject> getImplementationChoices(EObject root)
+   {
+      ArrayList<EObject> result = new ArrayList<>();
+
+      ESolution eSolution = (ESolution) root;
+
+      for (EAssignment eAssignment : getOpenAssignments(eSolution))
+      {
+         Component comp = findComp(model, eAssignment.getCompName());
+
+         for (Implementation dImpl : comp.getImplementations())
+         {
+            EChoice eImpl = Ttc18Factory.eINSTANCE.createEChoice();
+            eImpl.setAssignment(eAssignment);
+            eImpl.setResName(dImpl.getName().toString());
+            result.add(eImpl);
+         }
+
+         return result;
+      }
+
+      return result;
+   }
+
+   public void applyImplementationChoice(EObject root, EObject handle)
+   {
+      EChoice eImpl = (EChoice) handle;
+
+      EAssignment topAssignment = eImpl.getAssignment();
+      topAssignment.setImplName(eImpl.getResName());
+
+      Component comp = findComp(model, topAssignment.getCompName());
+
+      Implementation dImpl = findImplementation(comp, eImpl.getResName());
+
+      for (ComponentRequirement componentRequirement : dImpl.getComponentRequirementList())
+      {
+         String kidCompName = componentRequirement.getComponentRef().getRef().getName().toString();
+
+         EAssignment kidAssignment = Ttc18Factory.eINSTANCE.createEAssignment();
+         kidAssignment.setRequestName(topAssignment.getRequestName());
+         kidAssignment.setCompName(kidCompName);
+
+         topAssignment.getAssignments().add(kidAssignment);
+      }
+   }
+
+   public Collection getComputeNodeChoices(EObject root)
+   {
+      ESolution eSolution = (ESolution) root;
+      ArrayList<EChoice> result = new ArrayList<>();
+
+      // find assignment that is ready to be deployed
+      EAssignment eAssignment = getNextUndeployedAssignment(eSolution);
+
+      if (eAssignment == null)
+      {
+         return result;
+      }
+
+      HashSet<String> alreadInUseComputeNodes = getAlreadInUseComputeNodes(eSolution);
+
+      // loop through all compute nodes
+      for (Resource compNode : model.getHardwareModel().getResourceList())
+      {
+         String compNodeName = compNode.getName().toString();
+
+//         if (alreadInUseComputeNodes.contains(compNodeName))
+//         {
+//            continue;
+//         }
+
+         eAssignment.setNodeName(compNodeName);
+
+         // create dSolution
+         Solution dSolution = transformPartial(eSolution);
+
+
+         // if assignment is valid, add choice
+         boolean allValid = checkAssignments(dSolution);
+
+         if (allValid)
+         {
+            EChoice eChoice = Ttc18Factory.eINSTANCE.createEChoice();
+            eChoice.setAssignment(eAssignment);
+            eChoice.setResName(compNodeName);
+            result.add(eChoice);
+
+//            if (result.size() >= 4)
+//            {
+//               break;
+//            }
+         }
+      }
+
+      eAssignment.setNodeName(null);
+
+      if (result.size() == 0)
+      {
+         System.out.println("did not find hardware for \n" + eAssignment);
+      }
+
+      return result;
+   }
+
+   private boolean checkAssignments(Solution dSolution)
+   {
+      for (Assignment dAssignment : dSolution.getAssignmentList())
+      {
+         if (dAssignment.getResource() != null)
+         {
+            if (dAssignment.isValid())
+            {
+               // check kids
+               checkAssignments(dAssignment);
+            }
+            else
+            {
+               return false;
+            }
+         }
+      }
+
+      return true;
+   }
+
+
+   private boolean checkAssignments(Assignment parent)
+   {
+      for (ComponentMapping componentMapping : parent.getComponentMappingList())
+      {
+         Assignment dAssignment = componentMapping.getAssignment();
+
+         if (dAssignment.getResourceMapping() != null && dAssignment.getResource() != null)
+         {
+            if (dAssignment.isValid())
+            {
+               // check kids
+               checkAssignments(dAssignment);
+            }
+            else
+            {
+               return false;
+            }
+         }
+      }
+
+      return true;
+   }
+
+
+   private EAssignment getNextUndeployedAssignment(ESolution eSolution)
+   {
+      for (EAssignment eAssignment : eSolution.getAssignments())
+      {
+         if ( ! allAssignmentsInTreeHaveAnImplementation(eAssignment))
+         {
+            continue;
+         }
+
+         if (eAssignment.getNodeName() == null)
+         {
+            return eAssignment;
+         }
+
+         EAssignment kid = getNextUndeployedAssignment(eAssignment);
+
+         if (kid != null)
+         {
+            return kid;
+         }
+      }
+
+      return null;
+   }
+
+   private boolean allAssignmentsInTreeHaveAnImplementation(EAssignment eAssignment)
+   {
+      if (eAssignment.getImplName() == null)
+      {
+         return false;
+      }
+
+      for (EAssignment kid : eAssignment.getAssignments())
+      {
+         if (! allAssignmentsInTreeHaveAnImplementation(kid))
+         {
+            return false;
+         }
+      }
+
+      return true;
+   }
+
+   private EAssignment getNextUndeployedAssignment(EAssignment eAssignment)
+   {
+      for (EAssignment kid : eAssignment.getAssignments())
+      {
+         if (kid.getImplName() == null)
+         {
+            continue;
+         }
+
+         if (kid.getNodeName() == null)
+         {
+            return kid;
+         }
+
+         EAssignment grandKid = getNextUndeployedAssignment(kid);
+
+         if (grandKid != null)
+         {
+            return grandKid;
+         }
+      }
+
+      return null;
+   }
+
+
+
+   private HashSet<String> getAlreadInUseComputeNodes(ESolution eSolution)
+   {
+      HashSet<String> result = new HashSet<>();
+
+      for (EAssignment eAssignment : eSolution.getAssignments())
+      {
+         getAlreadInUseComputeNodes(eAssignment, result);
+      }
+
+      return result;
+   }
+
+
+
+      private void getAlreadInUseComputeNodes(EAssignment eAssignment, Set<String> alreadInUseComputeNodes)
+   {
+      if (eAssignment.getNodeName() != null)
+      {
+         alreadInUseComputeNodes.add(eAssignment.getNodeName());
+      }
+
+      for (EAssignment kidAssignment : eAssignment.getAssignments())
+      {
+         getAlreadInUseComputeNodes(kidAssignment, alreadInUseComputeNodes);
+      }
+   }
+
+   private Collection<EAssignment> getNoComputeNodeAssignments(ESolution eSolution)
+   {
+      ArrayList<EAssignment> result = new ArrayList<>();
+
+      for (EAssignment eAssignment : eSolution.getAssignments())
+      {
+         if (eAssignment.getNodeName() == null)
+         {
+            result.add(eAssignment);
+         }
+
+         getOpenSubAssignments(eAssignment, result);
+      }
+
+      return result;
+   }
+
+
+
+   public void assignComputeNode(EObject root, EObject node)
+   {
+      EChoice eChoice = (EChoice) node;
+      eChoice.getAssignment().setNodeName(eChoice.getResName());
+   }
+
+   public double getNumberOfOpenIssues(EObject root)
+   {
+      ESolution eSolution = (ESolution) root;
+
+      int result = 0;
+
+      for (EAssignment eAssignment : eSolution.getAssignments())
+      {
+         result +=  getNumberOfAssignmentOpenIssues(eAssignment);
+      }
+
+      return result;
+   }
+
+   private int getNumberOfAssignmentOpenIssues(EAssignment eAssignment)
+   {
+      int result = 0;
+      if (eAssignment.getImplName() == null) result++;
+      if (eAssignment.getNodeName() == null) result++;
+
+      for (EAssignment kid : eAssignment.getAssignments())
+      {
+         result += getNumberOfAssignmentOpenIssues(kid);
+      }
+
+      return result;
+   }
 }
diff --git a/jastadd-mquat-solver-emfer/src/test/java/de/tudresden/inf/st/mquat/solving/EMFeRSolverTest.java b/jastadd-mquat-solver-emfer/src/test/java/de/tudresden/inf/st/mquat/solving/EMFeRSolverTest.java
index d953849..9d21b68 100644
--- a/jastadd-mquat-solver-emfer/src/test/java/de/tudresden/inf/st/mquat/solving/EMFeRSolverTest.java
+++ b/jastadd-mquat-solver-emfer/src/test/java/de/tudresden/inf/st/mquat/solving/EMFeRSolverTest.java
@@ -40,11 +40,12 @@ public class EMFeRSolverTest {
     int nfp = 0;
     int req = 3;
     int cpu = 1;
-    int seed = 0;
+    int seed = 1;
 
     ScenarioGenerator generator = new ScenarioGenerator(new ScenarioDescription(tlc, iac, isd, cac, csd, dep, imp, res, req, cpu, seed));
 
     Root model = generator.generate();
+
     EMFeRSolver solver = new EMFeRSolver(20000);
 
     Solution solution = solver.solve(model);
diff --git a/jastadd-mquat-solver-simple/src/test/java/de/tudresden/inf/st/mquat/solving/SimpleSolverTest.java b/jastadd-mquat-solver-simple/src/test/java/de/tudresden/inf/st/mquat/solving/SimpleSolverTest.java
index 7647d3e..572b253 100644
--- a/jastadd-mquat-solver-simple/src/test/java/de/tudresden/inf/st/mquat/solving/SimpleSolverTest.java
+++ b/jastadd-mquat-solver-simple/src/test/java/de/tudresden/inf/st/mquat/solving/SimpleSolverTest.java
@@ -37,7 +37,7 @@ public class SimpleSolverTest {
     int nfp = 0;
     int req = 3;
     int cpu = 1;
-    int seed = 0;
+    int seed = 1;
 
     ScenarioGenerator generator = new ScenarioGenerator(new ScenarioDescription(tlc, iac, isd, cac, csd, dep, imp, res, req, cpu, seed));
 
diff --git a/settings.gradle b/settings.gradle
index e6ec605..fcba86c 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,7 +4,6 @@ include ':jastadd-mquat-base'
 include ':jastadd-mquat-benchmark'
 include ':jastadd-mquat-solver'
 include ':jastadd-mquat-solver-ilp'
-include ':jastadd-mquat-solver-simple'
 include ':jastadd-mquat-solver-emfer'
-include 'jastadd-mquat-solver-emfer'
+include ':jastadd-mquat-solver-simple'
 
-- 
GitLab