diff --git a/.gitignore b/.gitignore
index a1c2a238a965f004ff76978ac1086aa6fe95caea..bde6c8e745c0d31daefd49b6ed4dbf9d2a24e29a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+
 # Compiled class file
 *.class
 
@@ -21,3 +22,11 @@
 
 # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
 hs_err_pid*
+*/out/
+*.iml
+/.idea/*
+!.idea/codeStyles
+.gradle
+.settings/
+.classpath
+.project
diff --git a/jastadd-mquat-solver-emfer/build/reports/tests/test/classes/de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest.html b/jastadd-mquat-solver-emfer/build/reports/tests/test/classes/de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest.html
new file mode 100644
index 0000000000000000000000000000000000000000..561b52f3c45dd2b206163fc810b34dd4806769d2
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/reports/tests/test/classes/de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest.html
@@ -0,0 +1,268 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
+<title>Test results - Class de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest</title>
+<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
+<link href="../css/style.css" rel="stylesheet" type="text/css"/>
+<script src="../js/report.js" type="text/javascript"></script>
+</head>
+<body>
+<div id="content">
+<h1>Class de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest</h1>
+<div class="breadcrumbs">
+<a href="../index.html">all</a> &gt; 
+<a href="../packages/de.tudresden.inf.st.mquat.solving.html">de.tudresden.inf.st.mquat.solving</a> &gt; SimpleHandwrittenTest</div>
+<div id="summary">
+<table>
+<tr>
+<td>
+<div class="summaryGroup">
+<table>
+<tr>
+<td>
+<div class="infoBox" id="tests">
+<div class="counter">5</div>
+<p>tests</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="failures">
+<div class="counter">0</div>
+<p>failures</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="ignored">
+<div class="counter">0</div>
+<p>ignored</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="duration">
+<div class="counter">0.581s</div>
+<p>duration</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</td>
+<td>
+<div class="infoBox success" id="successRate">
+<div class="percent">100%</div>
+<p>successful</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div id="tabs">
+<ul class="tabLinks">
+<li>
+<a href="#tab0">Tests</a>
+</li>
+<li>
+<a href="#tab1">Standard output</a>
+</li>
+</ul>
+<div id="tab0" class="tab">
+<h2>Tests</h2>
+<table>
+<thead>
+<tr>
+<th>Test</th>
+<th>Duration</th>
+<th>Result</th>
+</tr>
+</thead>
+<tr>
+<td class="success">test_01</td>
+<td>0.243s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">test_02</td>
+<td>0.014s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">test_03</td>
+<td>0.059s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">test_04</td>
+<td>0.021s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">test_05</td>
+<td>0.244s</td>
+<td class="success">passed</td>
+</tr>
+</table>
+</div>
+<div id="tab1" class="tab">
+<h2>Standard output</h2>
+<span class="code">
+<pre>Loading model DSL file 'test_01.txt'.
+15:31:04.744 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 292427.44.
+15:31:04.751 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 6
+15:31:04.751 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 4
+15:31:04.752 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 3
+15:31:04.753 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+15:31:04.756 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -&gt; config_0i0m0 {
+  compute_resource_0 -&gt; r0 {
+   cpu_1 -&gt; cpu0_0
+  }
+  other -&gt; config_1i0m0 {
+   compute_resource_0 -&gt; r1 {
+    cpu_1 -&gt; cpu1_0
+   }
+  }
+ }
+}
+
+Loading model DSL file 'test_02.txt'.
+15:31:04.772 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 292391.04.
+15:31:04.774 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 6
+15:31:04.774 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 4
+15:31:04.777 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 3
+15:31:04.777 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+15:31:04.778 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -&gt; config_0i0m0 {
+  compute_resource_0 -&gt; r0 {
+   cpu_1 -&gt; cpu0_0
+  }
+  other -&gt; config_1i0m0 {
+   compute_resource_0 -&gt; r1 {
+    cpu_1 -&gt; cpu1_0
+   }
+  }
+ }
+}
+
+Loading model DSL file 'test_03.txt'.
+15:31:04.804 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 324731.04.
+15:31:04.829 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 18
+15:31:04.829 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+15:31:04.830 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 9
+15:31:04.832 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+15:31:04.833 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -&gt; config_0i0m0 {
+  compute_resource_0 -&gt; r0 {
+   cpu_1 -&gt; cpu0_0
+  }
+  other -&gt; config_1i0m0 {
+   compute_resource_0 -&gt; r1 {
+    cpu_1 -&gt; cpu1_0
+   }
+  }
+ }
+ request1 -&gt; config_1i0m0 {
+  compute_resource_0 -&gt; r2 {
+   cpu_1 -&gt; cpu2_0
+  }
+ }
+}
+
+Loading model DSL file 'test_04.txt'.
+15:31:04.850 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 375166.51999999996.
+15:31:04.856 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 12
+15:31:04.857 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+15:31:04.857 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 9
+15:31:04.858 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+15:31:04.860 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -&gt; config_0i0m0 {
+  compute_resource_0 -&gt; r0 {
+   cpu_1 -&gt; cpu0_0
+  }
+  alpha -&gt; config_1i0m0 {
+   compute_resource_0 -&gt; r1 {
+    cpu_1 -&gt; cpu1_0
+   }
+  }
+  beta -&gt; config_2i0m0 {
+   compute_resource_0 -&gt; r2 {
+    cpu_1 -&gt; cpu2_0
+   }
+  }
+ }
+}
+
+Loading model DSL file 'test_05.txt'.
+15:31:04.890 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 396486.6599999999.
+15:31:04.892 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 396308.6599999999.
+15:31:04.894 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 23665.660000000003.
+15:31:04.897 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 23042.660000000003.
+15:31:04.899 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22864.660000000003.
+15:31:04.910 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22699.660000000003.
+15:31:04.925 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22097.66.
+15:31:04.930 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 21919.66.
+15:31:05.002 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 21885.66.
+15:31:05.058 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 192
+15:31:05.059 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+15:31:05.061 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 1584
+15:31:05.062 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 360
+15:31:05.067 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -&gt; configA0 {
+  compute_resource_0 -&gt; r0 {
+   cpu_1 -&gt; cpu0_0
+  }
+  beta -&gt; configB0 {
+   compute_resource_0 -&gt; r1 {
+    cpu_1 -&gt; cpu1_0
+   }
+   chi -&gt; configC0 {
+    compute_resource_0 -&gt; r4 {
+     cpu_1 -&gt; cpu0_0
+    }
+   }
+   delta -&gt; configD0 {
+    compute_resource_0 -&gt; r3 {
+     cpu_1 -&gt; cpu0_0
+    }
+   }
+  }
+  epsilon -&gt; configE0 {
+   compute_resource_0 -&gt; r2 {
+    cpu_1 -&gt; cpu2_0
+   }
+   phi -&gt; configF0 {
+    compute_resource_0 -&gt; r5 {
+     cpu_1 -&gt; cpu0_0
+    }
+   }
+   gamma -&gt; configG0 {
+    compute_resource_0 -&gt; r6 {
+     cpu_1 -&gt; cpu0_0
+    }
+   }
+  }
+ }
+}
+
+</pre>
+</span>
+</div>
+</div>
+<div id="footer">
+<p>
+<div>
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
+</label>
+</div>Generated by 
+<a href="http://www.gradle.org">Gradle 3.3</a> at 12.05.2018 15:31:06</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/jastadd-mquat-solver-emfer/build/reports/tests/test/classes/de.tudresden.inf.st.mquat.solving.SimpleSolverTest.html b/jastadd-mquat-solver-emfer/build/reports/tests/test/classes/de.tudresden.inf.st.mquat.solving.SimpleSolverTest.html
new file mode 100644
index 0000000000000000000000000000000000000000..d24eb99d2ad1d245a9b7ed898adf5e9c9df559af
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/reports/tests/test/classes/de.tudresden.inf.st.mquat.solving.SimpleSolverTest.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
+<title>Test results - Class de.tudresden.inf.st.mquat.solving.SimpleSolverTest</title>
+<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
+<link href="../css/style.css" rel="stylesheet" type="text/css"/>
+<script src="../js/report.js" type="text/javascript"></script>
+</head>
+<body>
+<div id="content">
+<h1>Class de.tudresden.inf.st.mquat.solving.SimpleSolverTest</h1>
+<div class="breadcrumbs">
+<a href="../index.html">all</a> &gt; 
+<a href="../packages/de.tudresden.inf.st.mquat.solving.html">de.tudresden.inf.st.mquat.solving</a> &gt; SimpleSolverTest</div>
+<div id="summary">
+<table>
+<tr>
+<td>
+<div class="summaryGroup">
+<table>
+<tr>
+<td>
+<div class="infoBox" id="tests">
+<div class="counter">1</div>
+<p>tests</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="failures">
+<div class="counter">0</div>
+<p>failures</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="ignored">
+<div class="counter">0</div>
+<p>ignored</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="duration">
+<div class="counter">0.881s</div>
+<p>duration</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</td>
+<td>
+<div class="infoBox success" id="successRate">
+<div class="percent">100%</div>
+<p>successful</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div id="tabs">
+<ul class="tabLinks">
+<li>
+<a href="#tab0">Tests</a>
+</li>
+<li>
+<a href="#tab1">Standard output</a>
+</li>
+</ul>
+<div id="tab0" class="tab">
+<h2>Tests</h2>
+<table>
+<thead>
+<tr>
+<th>Test</th>
+<th>Duration</th>
+<th>Result</th>
+</tr>
+</thead>
+<tr>
+<td class="success">testSimpleSolver</td>
+<td>0.881s</td>
+<td class="success">passed</td>
+</tr>
+</table>
+</div>
+<div id="tab1" class="tab">
+<h2>Standard output</h2>
+<span class="code">
+<pre>15:31:05.159 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 523393.9.
+15:31:05.201 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 523267.42000000004.
+15:31:06.008 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 1
+15:31:06.009 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 1
+15:31:06.010 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 10148
+15:31:06.010 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 3456
+15:31:06.012 INFO  d.t.i.s.m.s.SimpleSolverTest - the best solution is valid and has an objective of 523267.42000000004.
+</pre>
+</span>
+</div>
+</div>
+<div id="footer">
+<p>
+<div>
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
+</label>
+</div>Generated by 
+<a href="http://www.gradle.org">Gradle 3.3</a> at 12.05.2018 15:31:06</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/jastadd-mquat-solver-emfer/build/reports/tests/test/css/base-style.css b/jastadd-mquat-solver-emfer/build/reports/tests/test/css/base-style.css
new file mode 100644
index 0000000000000000000000000000000000000000..4afa73e3ddcf5e21bdd0a22ac575dc99b2e3d826
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/reports/tests/test/css/base-style.css
@@ -0,0 +1,179 @@
+
+body {
+    margin: 0;
+    padding: 0;
+    font-family: sans-serif;
+    font-size: 12pt;
+}
+
+body, a, a:visited {
+    color: #303030;
+}
+
+#content {
+    padding-left: 50px;
+    padding-right: 50px;
+    padding-top: 30px;
+    padding-bottom: 30px;
+}
+
+#content h1 {
+    font-size: 160%;
+    margin-bottom: 10px;
+}
+
+#footer {
+    margin-top: 100px;
+    font-size: 80%;
+    white-space: nowrap;
+}
+
+#footer, #footer a {
+    color: #a0a0a0;
+}
+
+#line-wrapping-toggle {
+    vertical-align: middle;
+}
+
+#label-for-line-wrapping-toggle {
+    vertical-align: middle;
+}
+
+ul {
+    margin-left: 0;
+}
+
+h1, h2, h3 {
+    white-space: nowrap;
+}
+
+h2 {
+    font-size: 120%;
+}
+
+ul.tabLinks {
+    padding-left: 0;
+    padding-top: 10px;
+    padding-bottom: 10px;
+    overflow: auto;
+    min-width: 800px;
+    width: auto !important;
+    width: 800px;
+}
+
+ul.tabLinks li {
+    float: left;
+    height: 100%;
+    list-style: none;
+    padding-left: 10px;
+    padding-right: 10px;
+    padding-top: 5px;
+    padding-bottom: 5px;
+    margin-bottom: 0;
+    -moz-border-radius: 7px;
+    border-radius: 7px;
+    margin-right: 25px;
+    border: solid 1px #d4d4d4;
+    background-color: #f0f0f0;
+}
+
+ul.tabLinks li:hover {
+    background-color: #fafafa;
+}
+
+ul.tabLinks li.selected {
+    background-color: #c5f0f5;
+    border-color: #c5f0f5;
+}
+
+ul.tabLinks a {
+    font-size: 120%;
+    display: block;
+    outline: none;
+    text-decoration: none;
+    margin: 0;
+    padding: 0;
+}
+
+ul.tabLinks li h2 {
+    margin: 0;
+    padding: 0;
+}
+
+div.tab {
+}
+
+div.selected {
+    display: block;
+}
+
+div.deselected {
+    display: none;
+}
+
+div.tab table {
+    min-width: 350px;
+    width: auto !important;
+    width: 350px;
+    border-collapse: collapse;
+}
+
+div.tab th, div.tab table {
+    border-bottom: solid #d0d0d0 1px;
+}
+
+div.tab th {
+    text-align: left;
+    white-space: nowrap;
+    padding-left: 6em;
+}
+
+div.tab th:first-child {
+    padding-left: 0;
+}
+
+div.tab td {
+    white-space: nowrap;
+    padding-left: 6em;
+    padding-top: 5px;
+    padding-bottom: 5px;
+}
+
+div.tab td:first-child {
+    padding-left: 0;
+}
+
+div.tab td.numeric, div.tab th.numeric {
+    text-align: right;
+}
+
+span.code {
+    display: inline-block;
+    margin-top: 0em;
+    margin-bottom: 1em;
+}
+
+span.code pre {
+    font-size: 11pt;
+    padding-top: 10px;
+    padding-bottom: 10px;
+    padding-left: 10px;
+    padding-right: 10px;
+    margin: 0;
+    background-color: #f7f7f7;
+    border: solid 1px #d0d0d0;
+    min-width: 700px;
+    width: auto !important;
+    width: 700px;
+}
+
+span.wrapped pre {
+    word-wrap: break-word;
+    white-space: pre-wrap;
+    word-break: break-all;
+}
+
+label.hidden {
+    display: none;
+}
\ No newline at end of file
diff --git a/jastadd-mquat-solver-emfer/build/reports/tests/test/css/style.css b/jastadd-mquat-solver-emfer/build/reports/tests/test/css/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..3dc4913e7a077a1f1f3810b1f20cc9275fb236bf
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/reports/tests/test/css/style.css
@@ -0,0 +1,84 @@
+
+#summary {
+    margin-top: 30px;
+    margin-bottom: 40px;
+}
+
+#summary table {
+    border-collapse: collapse;
+}
+
+#summary td {
+    vertical-align: top;
+}
+
+.breadcrumbs, .breadcrumbs a {
+    color: #606060;
+}
+
+.infoBox {
+    width: 110px;
+    padding-top: 15px;
+    padding-bottom: 15px;
+    text-align: center;
+}
+
+.infoBox p {
+    margin: 0;
+}
+
+.counter, .percent {
+    font-size: 120%;
+    font-weight: bold;
+    margin-bottom: 8px;
+}
+
+#duration {
+    width: 125px;
+}
+
+#successRate, .summaryGroup {
+    border: solid 2px #d0d0d0;
+    -moz-border-radius: 10px;
+    border-radius: 10px;
+}
+
+#successRate {
+    width: 140px;
+    margin-left: 35px;
+}
+
+#successRate .percent {
+    font-size: 180%;
+}
+
+.success, .success a {
+    color: #008000;
+}
+
+div.success, #successRate.success {
+    background-color: #bbd9bb;
+    border-color: #008000;
+}
+
+.failures, .failures a {
+    color: #b60808;
+}
+
+.skipped, .skipped a {
+    color: #c09853;
+}
+
+div.failures, #successRate.failures {
+    background-color: #ecdada;
+    border-color: #b60808;
+}
+
+ul.linkList {
+    padding-left: 0;
+}
+
+ul.linkList li {
+    list-style: none;
+    margin-bottom: 5px;
+}
diff --git a/jastadd-mquat-solver-emfer/build/reports/tests/test/index.html b/jastadd-mquat-solver-emfer/build/reports/tests/test/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..d4676005a1fa1b26197966f157f0e8e4e3d8149b
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/reports/tests/test/index.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
+<title>Test results - Test Summary</title>
+<link href="css/base-style.css" rel="stylesheet" type="text/css"/>
+<link href="css/style.css" rel="stylesheet" type="text/css"/>
+<script src="js/report.js" type="text/javascript"></script>
+</head>
+<body>
+<div id="content">
+<h1>Test Summary</h1>
+<div id="summary">
+<table>
+<tr>
+<td>
+<div class="summaryGroup">
+<table>
+<tr>
+<td>
+<div class="infoBox" id="tests">
+<div class="counter">6</div>
+<p>tests</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="failures">
+<div class="counter">0</div>
+<p>failures</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="ignored">
+<div class="counter">0</div>
+<p>ignored</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="duration">
+<div class="counter">1.462s</div>
+<p>duration</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</td>
+<td>
+<div class="infoBox success" id="successRate">
+<div class="percent">100%</div>
+<p>successful</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div id="tabs">
+<ul class="tabLinks">
+<li>
+<a href="#tab0">Packages</a>
+</li>
+<li>
+<a href="#tab1">Classes</a>
+</li>
+</ul>
+<div id="tab0" class="tab">
+<h2>Packages</h2>
+<table>
+<thead>
+<tr>
+<th>Package</th>
+<th>Tests</th>
+<th>Failures</th>
+<th>Ignored</th>
+<th>Duration</th>
+<th>Success rate</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="success">
+<a href="packages/de.tudresden.inf.st.mquat.solving.html">de.tudresden.inf.st.mquat.solving</a>
+</td>
+<td>6</td>
+<td>0</td>
+<td>0</td>
+<td>1.462s</td>
+<td class="success">100%</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div id="tab1" class="tab">
+<h2>Classes</h2>
+<table>
+<thead>
+<tr>
+<th>Class</th>
+<th>Tests</th>
+<th>Failures</th>
+<th>Ignored</th>
+<th>Duration</th>
+<th>Success rate</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="success"/>
+<a href="classes/de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest.html">de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest</a>
+<td>5</td>
+<td>0</td>
+<td>0</td>
+<td>0.581s</td>
+<td class="success">100%</td>
+</tr>
+<tr>
+<td class="success"/>
+<a href="classes/de.tudresden.inf.st.mquat.solving.SimpleSolverTest.html">de.tudresden.inf.st.mquat.solving.SimpleSolverTest</a>
+<td>1</td>
+<td>0</td>
+<td>0</td>
+<td>0.881s</td>
+<td class="success">100%</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div id="footer">
+<p>
+<div>
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
+</label>
+</div>Generated by 
+<a href="http://www.gradle.org">Gradle 3.3</a> at 12.05.2018 15:31:06</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/jastadd-mquat-solver-emfer/build/reports/tests/test/js/report.js b/jastadd-mquat-solver-emfer/build/reports/tests/test/js/report.js
new file mode 100644
index 0000000000000000000000000000000000000000..83bab4a19f36a6f460c6747ad6b7252f63a1fad3
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/reports/tests/test/js/report.js
@@ -0,0 +1,194 @@
+(function (window, document) {
+    "use strict";
+
+    var tabs = {};
+
+    function changeElementClass(element, classValue) {
+        if (element.getAttribute("className")) {
+            element.setAttribute("className", classValue);
+        } else {
+            element.setAttribute("class", classValue);
+        }
+    }
+
+    function getClassAttribute(element) {
+        if (element.getAttribute("className")) {
+            return element.getAttribute("className");
+        } else {
+            return element.getAttribute("class");
+        }
+    }
+
+    function addClass(element, classValue) {
+        changeElementClass(element, getClassAttribute(element) + " " + classValue);
+    }
+
+    function removeClass(element, classValue) {
+        changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
+    }
+
+    function initTabs() {
+        var container = document.getElementById("tabs");
+
+        tabs.tabs = findTabs(container);
+        tabs.titles = findTitles(tabs.tabs);
+        tabs.headers = findHeaders(container);
+        tabs.select = select;
+        tabs.deselectAll = deselectAll;
+        tabs.select(0);
+
+        return true;
+    }
+
+    function getCheckBox() {
+        return document.getElementById("line-wrapping-toggle");
+    }
+
+    function getLabelForCheckBox() {
+        return document.getElementById("label-for-line-wrapping-toggle");
+    }
+
+    function findCodeBlocks() {
+        var spans = document.getElementById("tabs").getElementsByTagName("span");
+        var codeBlocks = [];
+        for (var i = 0; i < spans.length; ++i) {
+            if (spans[i].className.indexOf("code") >= 0) {
+                codeBlocks.push(spans[i]);
+            }
+        }
+        return codeBlocks;
+    }
+
+    function forAllCodeBlocks(operation) {
+        var codeBlocks = findCodeBlocks();
+
+        for (var i = 0; i < codeBlocks.length; ++i) {
+            operation(codeBlocks[i], "wrapped");
+        }
+    }
+
+    function toggleLineWrapping() {
+        var checkBox = getCheckBox();
+
+        if (checkBox.checked) {
+            forAllCodeBlocks(addClass);
+        } else {
+            forAllCodeBlocks(removeClass);
+        }
+    }
+
+    function initControls() {
+        if (findCodeBlocks().length > 0) {
+            var checkBox = getCheckBox();
+            var label = getLabelForCheckBox();
+
+            checkBox.onclick = toggleLineWrapping;
+            checkBox.checked = false;
+
+            removeClass(label, "hidden");
+         }
+    }
+
+    function switchTab() {
+        var id = this.id.substr(1);
+
+        for (var i = 0; i < tabs.tabs.length; i++) {
+            if (tabs.tabs[i].id === id) {
+                tabs.select(i);
+                break;
+            }
+        }
+
+        return false;
+    }
+
+    function select(i) {
+        this.deselectAll();
+
+        changeElementClass(this.tabs[i], "tab selected");
+        changeElementClass(this.headers[i], "selected");
+
+        while (this.headers[i].firstChild) {
+            this.headers[i].removeChild(this.headers[i].firstChild);
+        }
+
+        var h2 = document.createElement("H2");
+
+        h2.appendChild(document.createTextNode(this.titles[i]));
+        this.headers[i].appendChild(h2);
+    }
+
+    function deselectAll() {
+        for (var i = 0; i < this.tabs.length; i++) {
+            changeElementClass(this.tabs[i], "tab deselected");
+            changeElementClass(this.headers[i], "deselected");
+
+            while (this.headers[i].firstChild) {
+                this.headers[i].removeChild(this.headers[i].firstChild);
+            }
+
+            var a = document.createElement("A");
+
+            a.setAttribute("id", "ltab" + i);
+            a.setAttribute("href", "#tab" + i);
+            a.onclick = switchTab;
+            a.appendChild(document.createTextNode(this.titles[i]));
+
+            this.headers[i].appendChild(a);
+        }
+    }
+
+    function findTabs(container) {
+        return findChildElements(container, "DIV", "tab");
+    }
+
+    function findHeaders(container) {
+        var owner = findChildElements(container, "UL", "tabLinks");
+        return findChildElements(owner[0], "LI", null);
+    }
+
+    function findTitles(tabs) {
+        var titles = [];
+
+        for (var i = 0; i < tabs.length; i++) {
+            var tab = tabs[i];
+            var header = findChildElements(tab, "H2", null)[0];
+
+            header.parentNode.removeChild(header);
+
+            if (header.innerText) {
+                titles.push(header.innerText);
+            } else {
+                titles.push(header.textContent);
+            }
+        }
+
+        return titles;
+    }
+
+    function findChildElements(container, name, targetClass) {
+        var elements = [];
+        var children = container.childNodes;
+
+        for (var i = 0; i < children.length; i++) {
+            var child = children.item(i);
+
+            if (child.nodeType === 1 && child.nodeName === name) {
+                if (targetClass && child.className.indexOf(targetClass) < 0) {
+                    continue;
+                }
+
+                elements.push(child);
+            }
+        }
+
+        return elements;
+    }
+
+    // Entry point.
+
+    window.onload = function() {
+        initTabs();
+        initControls();
+    };
+} (window, window.document));
\ No newline at end of file
diff --git a/jastadd-mquat-solver-emfer/build/reports/tests/test/packages/de.tudresden.inf.st.mquat.solving.html b/jastadd-mquat-solver-emfer/build/reports/tests/test/packages/de.tudresden.inf.st.mquat.solving.html
new file mode 100644
index 0000000000000000000000000000000000000000..6b4d9475e07b2f38b393899f4c54ea0a27587dd7
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/reports/tests/test/packages/de.tudresden.inf.st.mquat.solving.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
+<title>Test results - Package de.tudresden.inf.st.mquat.solving</title>
+<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
+<link href="../css/style.css" rel="stylesheet" type="text/css"/>
+<script src="../js/report.js" type="text/javascript"></script>
+</head>
+<body>
+<div id="content">
+<h1>Package de.tudresden.inf.st.mquat.solving</h1>
+<div class="breadcrumbs">
+<a href="../index.html">all</a> &gt; de.tudresden.inf.st.mquat.solving</div>
+<div id="summary">
+<table>
+<tr>
+<td>
+<div class="summaryGroup">
+<table>
+<tr>
+<td>
+<div class="infoBox" id="tests">
+<div class="counter">6</div>
+<p>tests</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="failures">
+<div class="counter">0</div>
+<p>failures</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="ignored">
+<div class="counter">0</div>
+<p>ignored</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="duration">
+<div class="counter">1.462s</div>
+<p>duration</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</td>
+<td>
+<div class="infoBox success" id="successRate">
+<div class="percent">100%</div>
+<p>successful</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div id="tabs">
+<ul class="tabLinks">
+<li>
+<a href="#tab0">Classes</a>
+</li>
+</ul>
+<div id="tab0" class="tab">
+<h2>Classes</h2>
+<table>
+<thread>
+<tr>
+<th>Class</th>
+<th>Tests</th>
+<th>Failures</th>
+<th>Ignored</th>
+<th>Duration</th>
+<th>Success rate</th>
+</tr>
+</thread>
+<tr>
+<td class="success">
+<a href="../classes/de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest.html">SimpleHandwrittenTest</a>
+</td>
+<td>5</td>
+<td>0</td>
+<td>0</td>
+<td>0.581s</td>
+<td class="success">100%</td>
+</tr>
+<tr>
+<td class="success">
+<a href="../classes/de.tudresden.inf.st.mquat.solving.SimpleSolverTest.html">SimpleSolverTest</a>
+</td>
+<td>1</td>
+<td>0</td>
+<td>0</td>
+<td>0.881s</td>
+<td class="success">100%</td>
+</tr>
+</table>
+</div>
+</div>
+<div id="footer">
+<p>
+<div>
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
+</label>
+</div>Generated by 
+<a href="http://www.gradle.org">Gradle 3.3</a> at 12.05.2018 15:31:06</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/jastadd-mquat-solver-emfer/build/test-results/test/TEST-de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest.xml b/jastadd-mquat-solver-emfer/build/test-results/test/TEST-de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d27639a87fb292c9cdabe0fc2b310cdcb269172e
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/test-results/test/TEST-de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest" tests="5" skipped="0" failures="0" errors="0" timestamp="2018-05-12T13:31:04" hostname="zuendorf-laptop" time="0.589">
+  <properties/>
+  <testcase name="test_01" classname="de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest" time="0.243"/>
+  <testcase name="test_02" classname="de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest" time="0.014"/>
+  <testcase name="test_03" classname="de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest" time="0.059"/>
+  <testcase name="test_04" classname="de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest" time="0.021"/>
+  <testcase name="test_05" classname="de.tudresden.inf.st.mquat.solving.SimpleHandwrittenTest" time="0.244"/>
+  <system-out><![CDATA[Loading model DSL file 'test_01.txt'.
+15:31:04.744 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 292427.44.
+15:31:04.751 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 6
+15:31:04.751 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 4
+15:31:04.752 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 3
+15:31:04.753 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+15:31:04.756 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> config_0i0m0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  other -> config_1i0m0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+  }
+ }
+}
+
+Loading model DSL file 'test_02.txt'.
+15:31:04.772 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 292391.04.
+15:31:04.774 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 6
+15:31:04.774 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 4
+15:31:04.777 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 3
+15:31:04.777 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+15:31:04.778 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> config_0i0m0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  other -> config_1i0m0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+  }
+ }
+}
+
+Loading model DSL file 'test_03.txt'.
+15:31:04.804 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 324731.04.
+15:31:04.829 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 18
+15:31:04.829 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+15:31:04.830 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 9
+15:31:04.832 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+15:31:04.833 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> config_0i0m0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  other -> config_1i0m0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+  }
+ }
+ request1 -> config_1i0m0 {
+  compute_resource_0 -> r2 {
+   cpu_1 -> cpu2_0
+  }
+ }
+}
+
+Loading model DSL file 'test_04.txt'.
+15:31:04.850 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 375166.51999999996.
+15:31:04.856 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 12
+15:31:04.857 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+15:31:04.857 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 9
+15:31:04.858 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+15:31:04.860 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> config_0i0m0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  alpha -> config_1i0m0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+  }
+  beta -> config_2i0m0 {
+   compute_resource_0 -> r2 {
+    cpu_1 -> cpu2_0
+   }
+  }
+ }
+}
+
+Loading model DSL file 'test_05.txt'.
+15:31:04.890 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 396486.6599999999.
+15:31:04.892 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 396308.6599999999.
+15:31:04.894 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 23665.660000000003.
+15:31:04.897 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 23042.660000000003.
+15:31:04.899 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22864.660000000003.
+15:31:04.910 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22699.660000000003.
+15:31:04.925 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22097.66.
+15:31:04.930 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 21919.66.
+15:31:05.002 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 21885.66.
+15:31:05.058 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 192
+15:31:05.059 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+15:31:05.061 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 1584
+15:31:05.062 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 360
+15:31:05.067 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> configA0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  beta -> configB0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+   chi -> configC0 {
+    compute_resource_0 -> r4 {
+     cpu_1 -> cpu0_0
+    }
+   }
+   delta -> configD0 {
+    compute_resource_0 -> r3 {
+     cpu_1 -> cpu0_0
+    }
+   }
+  }
+  epsilon -> configE0 {
+   compute_resource_0 -> r2 {
+    cpu_1 -> cpu2_0
+   }
+   phi -> configF0 {
+    compute_resource_0 -> r5 {
+     cpu_1 -> cpu0_0
+    }
+   }
+   gamma -> configG0 {
+    compute_resource_0 -> r6 {
+     cpu_1 -> cpu0_0
+    }
+   }
+  }
+ }
+}
+
+]]></system-out>
+  <system-err><![CDATA[]]></system-err>
+</testsuite>
diff --git a/jastadd-mquat-solver-emfer/build/test-results/test/TEST-de.tudresden.inf.st.mquat.solving.SimpleSolverTest.xml b/jastadd-mquat-solver-emfer/build/test-results/test/TEST-de.tudresden.inf.st.mquat.solving.SimpleSolverTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4706e7f37041a7db315fa4ae8e9564974906b51d
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/test-results/test/TEST-de.tudresden.inf.st.mquat.solving.SimpleSolverTest.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="de.tudresden.inf.st.mquat.solving.SimpleSolverTest" tests="1" skipped="0" failures="0" errors="0" timestamp="2018-05-12T13:31:05" hostname="zuendorf-laptop" time="0.881">
+  <properties/>
+  <testcase name="testSimpleSolver" classname="de.tudresden.inf.st.mquat.solving.SimpleSolverTest" time="0.881"/>
+  <system-out><![CDATA[15:31:05.159 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 523393.9.
+15:31:05.201 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 523267.42000000004.
+15:31:06.008 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 1
+15:31:06.009 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 1
+15:31:06.010 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 10148
+15:31:06.010 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 3456
+15:31:06.012 INFO  d.t.i.s.m.s.SimpleSolverTest - the best solution is valid and has an objective of 523267.42000000004.
+]]></system-out>
+  <system-err><![CDATA[]]></system-err>
+</testsuite>
diff --git a/jastadd-mquat-solver-emfer/build/test-results/test/binary/output.bin b/jastadd-mquat-solver-emfer/build/test-results/test/binary/output.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f93a668b14cc63edc4144af0490df54840fbc6fe
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/test-results/test/binary/output.bin
@@ -0,0 +1,150 @@
+'Loading model DSL file 'test_01.txt'.
+i15:31:04.744 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 292427.44.
+W15:31:04.751 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 6
+Z15:31:04.751 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 4
+Q15:31:04.752 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 3
+P15:31:04.753 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+@15:31:04.756 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> config_0i0m0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  other -> config_1i0m0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+  }
+ }
+}
+
+'Loading model DSL file 'test_02.txt'.
+i15:31:04.772 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 292391.04.
+W15:31:04.774 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 6
+Z15:31:04.774 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 4
+Q15:31:04.777 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 3
+P15:31:04.777 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+@15:31:04.778 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> config_0i0m0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  other -> config_1i0m0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+  }
+ }
+}
+
+'Loading model DSL file 'test_03.txt'.
+i15:31:04.804 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 324731.04.
+X15:31:04.829 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 18
+Z15:31:04.829 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+Q15:31:04.830 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 9
+P15:31:04.832 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+@15:31:04.833 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> config_0i0m0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  other -> config_1i0m0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+  }
+ }
+ request1 -> config_1i0m0 {
+  compute_resource_0 -> r2 {
+   cpu_1 -> cpu2_0
+  }
+ }
+}
+
+'Loading model DSL file 'test_04.txt'.
+r15:31:04.850 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 375166.51999999996.
+X15:31:04.856 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 12
+Z15:31:04.857 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+Q15:31:04.857 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 9
+P15:31:04.858 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 1
+@15:31:04.860 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> config_0i0m0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  alpha -> config_1i0m0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+  }
+  beta -> config_2i0m0 {
+   compute_resource_0 -> r2 {
+    cpu_1 -> cpu2_0
+   }
+  }
+ }
+}
+
+'Loading model DSL file 'test_05.txt'.
+q15:31:04.890 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 396486.6599999999.
+q15:31:04.892 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 396308.6599999999.
+r15:31:04.894 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 23665.660000000003.
+r15:31:04.897 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 23042.660000000003.
+r15:31:04.899 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22864.660000000003.
+r15:31:04.910 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22699.660000000003.
+h15:31:04.925 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 22097.66.
+h15:31:04.930 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 21919.66.
+h15:31:05.002 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 21885.66.
+Y15:31:05.058 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 192
+Z15:31:05.059 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 8
+T15:31:05.061 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 1584
+R15:31:05.062 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 360
+@15:31:05.067 DEBUG d.t.i.s.m.s.HandwrittenTestSuite - Solution:
+solution {
+ request0 -> configA0 {
+  compute_resource_0 -> r0 {
+   cpu_1 -> cpu0_0
+  }
+  beta -> configB0 {
+   compute_resource_0 -> r1 {
+    cpu_1 -> cpu1_0
+   }
+   chi -> configC0 {
+    compute_resource_0 -> r4 {
+     cpu_1 -> cpu0_0
+    }
+   }
+   delta -> configD0 {
+    compute_resource_0 -> r3 {
+     cpu_1 -> cpu0_0
+    }
+   }
+  }
+  epsilon -> configE0 {
+   compute_resource_0 -> r2 {
+    cpu_1 -> cpu2_0
+   }
+   phi -> configF0 {
+    compute_resource_0 -> r5 {
+     cpu_1 -> cpu0_0
+    }
+   }
+   gamma -> configG0 {
+    compute_resource_0 -> r6 {
+     cpu_1 -> cpu0_0
+    }
+   }
+  }
+ }
+}
+
+h15:31:05.159 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 523393.9.
+r15:31:05.201 INFO  d.t.i.s.m.s.s.SimpleSolver - found a better solution with an objective of 523267.42000000004.
+W15:31:06.008 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of total software solutions: 1
+Z15:31:06.009 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated software solutions: 1
+U15:31:06.010 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of iterated solutions: 10148
+S15:31:06.010 INFO  d.t.i.s.m.s.s.SimpleSolver - Number of correct solutions: 3456
+z15:31:06.012 INFO  d.t.i.s.m.s.SimpleSolverTest - the best solution is valid and has an objective of 523267.42000000004.
diff --git a/jastadd-mquat-solver-emfer/build/test-results/test/binary/output.bin.idx b/jastadd-mquat-solver-emfer/build/test-results/test/binary/output.bin.idx
new file mode 100644
index 0000000000000000000000000000000000000000..152bbe95b730011d17d535b197dde7f4d585fac4
Binary files /dev/null and b/jastadd-mquat-solver-emfer/build/test-results/test/binary/output.bin.idx differ
diff --git a/jastadd-mquat-solver-emfer/build/test-results/test/binary/results.bin b/jastadd-mquat-solver-emfer/build/test-results/test/binary/results.bin
new file mode 100644
index 0000000000000000000000000000000000000000..b1c8d8601999697caac4672aa228b3f9a6cfc48d
Binary files /dev/null and b/jastadd-mquat-solver-emfer/build/test-results/test/binary/results.bin differ
diff --git a/jastadd-mquat-solver-emfer/build/tmp/jar/MANIFEST.MF b/jastadd-mquat-solver-emfer/build/tmp/jar/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..59499bce4a2bd51cba227b7c00fcf745b19c95a4
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/tmp/jar/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/jastadd-mquat-solver-emfer/build/tmp/packageSources/MANIFEST.MF b/jastadd-mquat-solver-emfer/build/tmp/packageSources/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..59499bce4a2bd51cba227b7c00fcf745b19c95a4
--- /dev/null
+++ b/jastadd-mquat-solver-emfer/build/tmp/packageSources/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/jastadd-mquat-solver-emfer/build/tmp/test/jar_extract_8054202285903352761_tmp b/jastadd-mquat-solver-emfer/build/tmp/test/jar_extract_8054202285903352761_tmp
new file mode 100644
index 0000000000000000000000000000000000000000..30d29b01e05935ff9f73d0188d62d703e22ce56f
Binary files /dev/null and b/jastadd-mquat-solver-emfer/build/tmp/test/jar_extract_8054202285903352761_tmp differ