Bug 570445 - Add Amlt2SystemC transformation cloud service

Change-Id: I9647619c72cdcc2a1fe2eadecfa825d967541280
Signed-off-by: Dirk Fauth <Dirk.Fauth@de.bosch.com>
diff --git a/manager/Dockerfile b/manager/Dockerfile
index cdef499..069b4e6 100644
--- a/manager/Dockerfile
+++ b/manager/Dockerfile
@@ -1,4 +1,4 @@
-FROM amazoncorretto:8u265
+FROM amazoncorretto:8u275
 
 COPY target/manager-0.0.1-SNAPSHOT.jar app.jar
 COPY src/main/resources/services_online.txt services.txt
diff --git a/manager/src/main/resources/services.txt b/manager/src/main/resources/services.txt
index e1513a9..ac82627 100644
--- a/manager/src/main/resources/services.txt
+++ b/manager/src/main/resources/services.txt
@@ -1,13 +1,13 @@
 migration;Migration;http://localhost:8080/app4mc/converter/;Migrates an input model file to model version 0.9.9
 validation;Validation;http://localhost:8181/app4mc/validation/;Validates the input model file
 rtc_analysis;RTC Analysis;http://localhost:8081/app4mc/analysis/;Executes Real-Time Calculus (RTC) techniques on a provided Amalthea model to analyse timing properties of heterogeneous embedded systems
-rtc_interpreter;RTC Interpreter;http://localhost:8082/app4mc/interpreter/rtc/;Converts the results of a RTC Analysis into an input for the Chart Visualizer
-label_core_interpreter;Label per Core Interpreter;http://localhost:8084/app4mc/interpreter/label-per-core/;Parses an Amalthea model to inspect label access operations per core
-label_memory_interpreter;Label per Memory Interpreter;http://localhost:8084/app4mc/interpreter/label-per-memory/;Parses an Amalthea model to inspect label access operations per memory
-label_task_interpreter;Label per Task Interpreter;http://localhost:8084/app4mc/interpreter/label-per-task/;Parses an Amalthea model to inspect label access operations per task
-label_size_interpreter;Label Size Interpreter;http://localhost:8084/app4mc/interpreter/label-size/;Parses an Amalthea model to inspect the number of labels grouped by size
+rtc_interpreter;RTC Evaluation;http://localhost:8082/app4mc/interpreter/rtc/;Converts the results of a RTC Analysis into an input for the Chart Visualizer
+label_core_interpreter;Label per Core Evaluation;http://localhost:8084/app4mc/interpreter/label-per-core/;Parses an Amalthea model to inspect label access operations per core
+label_memory_interpreter;Label per Memory Evaluation;http://localhost:8084/app4mc/interpreter/label-per-memory/;Parses an Amalthea model to inspect label access operations per memory
+label_task_interpreter;Label per Task Evaluation;http://localhost:8084/app4mc/interpreter/label-per-task/;Parses an Amalthea model to inspect label access operations per task
+label_size_interpreter;Label Size Evaluation;http://localhost:8084/app4mc/interpreter/label-size/;Parses an Amalthea model to inspect the number of labels grouped by size
 chart_visualizer;Chart Visualizer;http://localhost:8083/app4mc/visualization/barchart/;Visualization of interpreter results
-amlt2inchron;Amalthea 2 INCHRON;https://am2inc.dev1.inchron.de/projects;Transforms an Amalthea model to an INCHRON model
-amlt2systemc;Amalthea 2 SystemC;http://localhost:8282/app4mc/amlt2systemc/;Transforms an Amalthea model to simulation code
+amlt2inchron;Amalthea -> INCHRON;https://am2inc.dev1.inchron.de/projects;Transforms an Amalthea model to an INCHRON model
+amlt2systemc;Amalthea -> SystemC;http://localhost:8282/app4mc/amlt2systemc/;Transforms an Amalthea model to simulation code
 app4mc_sim;APP4MC.Sim;http://139.30.201.29:2323/app4mc/simulation/;Executes simulation and generates a BTF traces
 inchron_btf_visualization;INCHRON BTF Trace Visualization;https://trace.dev1.inchron.de/traces/;Visualization of trace data provided by INCHRON
\ No newline at end of file
diff --git a/manager/src/main/resources/services_online.txt b/manager/src/main/resources/services_online.txt
index b608a29..85f8073 100644
--- a/manager/src/main/resources/services_online.txt
+++ b/manager/src/main/resources/services_online.txt
@@ -1,13 +1,13 @@
 migration;Migration;https://app4mc.eclipseprojects.io/app4mc/converter/;Migrates an input model file to model version 0.9.9
 validation;Validation;https://app4mc.eclipseprojects.io/app4mc/validation/;Validates the input model file
 rtc_analysis;RTC Analysis;https://app4mc.eclipseprojects.io/app4mc/analysis/;Executes Real-Time Calculus (RTC) techniques on a provided Amalthea model to analyse timing properties of heterogeneous embedded systems
-rtc_interpreter;RTC Interpreter;https://app4mc.eclipseprojects.io/app4mc/interpreter/rtc/;Converts the results of a RTC Analysis into an input for the Chart Visualizer
-label_core_interpreter;Label per Core Interpreter;https://app4mc.eclipseprojects.io/app4mc/interpreter/label-per-core/;Parses an Amalthea model to inspect label access operations per core
-label_memory_interpreter;Label per Memory Interpreter;https://app4mc.eclipseprojects.io/app4mc/interpreter/label-per-memory/;Parses an Amalthea model to inspect label access operations per memory
-label_task_interpreter;Label per Task Interpreter;https://app4mc.eclipseprojects.io/app4mc/interpreter/label-per-task/;Parses an Amalthea model to inspect label access operations per task
-label_size_interpreter;Label Size Interpreter;https://app4mc.eclipseprojects.io/app4mc/interpreter/label-size/;Parses an Amalthea model to inspect the number of labels grouped by size
+rtc_interpreter;RTC Evaluation;https://app4mc.eclipseprojects.io/app4mc/interpreter/rtc/;Converts the results of a RTC Analysis into an input for the Chart Visualizer
+label_core_interpreter;Label per Core Evaluation;https://app4mc.eclipseprojects.io/app4mc/interpreter/label-per-core/;Parses an Amalthea model to inspect label access operations per core
+label_memory_interpreter;Label per Memory Evaluation;https://app4mc.eclipseprojects.io/app4mc/interpreter/label-per-memory/;Parses an Amalthea model to inspect label access operations per memory
+label_task_interpreter;Label per Task Evaluation;https://app4mc.eclipseprojects.io/app4mc/interpreter/label-per-task/;Parses an Amalthea model to inspect label access operations per task
+label_size_interpreter;Label Size Evaluation;https://app4mc.eclipseprojects.io/app4mc/interpreter/label-size/;Parses an Amalthea model to inspect the number of labels grouped by size
 chart_visualizer;Chart Visualizer;https://app4mc.eclipseprojects.io/app4mc/visualization/barchart/;Visualization of interpreter results
-amlt2inchron;Amalthea 2 INCHRON;https://am2inc.dev1.inchron.de/projects;Transforms an Amalthea model to an INCHRON model
-amlt2systemc;Amalthea 2 SystemC;https://app4mc.eclipseprojects.io/app4mc/amlt2systemc/;Transforms an Amalthea model to simulation code
+amlt2inchron;Amalthea -> INCHRON;https://am2inc.dev1.inchron.de/projects;Transforms an Amalthea model to an INCHRON model
+amlt2systemc;Amalthea -> SystemC;https://app4mc.eclipseprojects.io/app4mc/amlt2systemc/;Transforms an Amalthea model to simulation code
 app4mc_sim;APP4MC.Sim;http://139.30.201.29:2323/app4mc/simulation/;Executes simulation and generates a BTF traces
 inchron_btf_visualization;INCHRON BTF Trace Visualization;https://trace.dev1.inchron.de/traces/;Visualization of trace data provided by INCHRON
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/.gitignore b/org.eclipse.app4m.amlt2systemc.cloud/.gitignore
new file mode 100644
index 0000000..785e40b
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/.gitignore
@@ -0,0 +1,8 @@
+.metadata/
+
+# Eclipse target directories
+bin/
+target/
+
+#pomless tycho fragments
+pom.tycho
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/.mvn/extensions.xml b/org.eclipse.app4m.amlt2systemc.cloud/.mvn/extensions.xml
new file mode 100644
index 0000000..c8b79d9
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/.mvn/extensions.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<extensions>
+  <extension>
+    <groupId>org.eclipse.tycho.extras</groupId>
+    <artifactId>tycho-pomless</artifactId>
+    <version>1.7.0</version>
+  </extension>
+</extensions>
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/.project b/org.eclipse.app4m.amlt2systemc.cloud/.project
new file mode 100644
index 0000000..4052477
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.app4mc.amlt2systemc.cloud</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4m.amlt2systemc.cloud/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.app4m.amlt2systemc.cloud/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/Dockerfile b/org.eclipse.app4m.amlt2systemc.cloud/Dockerfile
new file mode 100644
index 0000000..0eefec7
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/Dockerfile
@@ -0,0 +1,6 @@
+FROM amazoncorretto:8u275
+
+ADD org.eclipse.app4mc.amlt2systemc.cloud.product/target/products/org.eclipse.app4mc.amlt2systemc.cloud.product-linux.gtk.x86_64.tar.gz org.eclipse.app4mc.amlt2systemc.cloud.product
+RUN chmod +x org.eclipse.app4mc.amlt2systemc.cloud.product/eclipse
+
+ENTRYPOINT org.eclipse.app4mc.amlt2systemc.cloud.product/eclipse
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/README.txt b/org.eclipse.app4m.amlt2systemc.cloud/README.txt
new file mode 100644
index 0000000..faa7d36
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/README.txt
@@ -0,0 +1,21 @@
+To build you first need to checkout
+https://gitlab.idial.institute/panorama.systemc.group/amalthea2systemc.transformation
+
+Start the build of this repository via
+	mvn clean verify
+
+Copy the result from 
+	releng/org.eclipse.app4mc.amlt2systemc.p2repo/target/repository
+to
+	C:/Development/PANORAMA/org.eclipse.app4mc.amlt2systemc.p2repo/repository
+	
+Alternatively copy it to any place you like and edit the location in the target file
+	org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.target
+	
+	(if you are familiar with the Target Platform DSL, edit the .tpd file and generate the .target file)
+	
+Run the build from the root directory via
+	mvn clean verify
+	
+Find the result in
+	org.eclipse.app4mc.amlt2systemc.cloud.product/target/products
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.classpath b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.project b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.project
new file mode 100644
index 0000000..4bd5e22
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.app4mc.amlt2systemc.cloud.http</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..9f6ece8
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/META-INF/MANIFEST.MF b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1871ebf
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: APP4MC AMLT2SystemC Transformation HTTP Service
+Bundle-SymbolicName: org.eclipse.app4mc.amlt2systemc.cloud.http
+Bundle-Version: 0.1.0.qualifier
+Automatic-Module-Name: org.eclipse.app4mc.validation.cloud.http
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Import-Package: com.fasterxml.jackson.core;version="2.9.9",
+ com.fasterxml.jackson.databind;version="2.9.93",
+ javax.servlet;version="3.1.0",
+ javax.servlet.http;version="3.1.0",
+ org.osgi.framework;version="1.9.0",
+ org.osgi.service.component.annotations;version="1.3.0";resolution:=optional,
+ org.osgi.service.event;version="1.4.0",
+ org.slf4j;version="1.7.2"
+Require-Bundle: org.eclipse.app4mc.amlt2systemc.m2t;bundle-version="0.1.0",
+ org.eclipse.app4mc.transformation;bundle-version="0.1.0"
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet.xml
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/OSGI-INF/org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet.xml b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/OSGI-INF/org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet.xml
new file mode 100644
index 0000000..108350a
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/OSGI-INF/org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" activate="activate" deactivate="deactivate" name="org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet">
+   <property name="osgi.http.whiteboard.servlet.pattern" value="/app4mc/amlt2systemc/*"/>
+   <property name="osgi.http.whiteboard.servlet.multipart.enabled" value="true"/>
+   <service scope="prototype">
+      <provide interface="javax.servlet.Servlet"/>
+   </service>
+   <reference cardinality="1..1" field="processor" interface="org.eclipse.app4mc.transformation.TransformationProcessor" name="processor"/>
+   <implementation class="org.eclipse.app4mc.amlt2systemc.cloud.http.TransformationServlet"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/about.html b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/about.html
new file mode 100644
index 0000000..f87aeb3
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/about.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+	<h2>About This Content</h2>
+
+	<p>November 30, 2017</p>
+	<h3>License</h3>
+
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
+
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+</body>
+</html>
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/build.properties b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/build.properties
new file mode 100644
index 0000000..79789f3
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               OSGI-INF/,\
+               about.html,\
+               epl-2.0.html
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/epl-2.0.html b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/epl-2.0.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/epl-2.0.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Eclipse Public License - Version 2.0</title>
+    <style type="text/css">
+      body {
+        margin: 1.5em 3em;
+      }
+      h1{
+        font-size:1.5em;
+      }
+      h2{
+        font-size:1em;
+        margin-bottom:0.5em;
+        margin-top:1em;
+      }
+      p {
+        margin-top:  0.5em;
+        margin-bottom: 0.5em;
+      }
+      ul, ol{
+        list-style-type:none;
+      }
+    </style>
+  </head>
+  <body>
+    <h1>Eclipse Public License - v 2.0</h1>
+    <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+      PUBLIC LICENSE (&ldquo;AGREEMENT&rdquo;). ANY USE, REPRODUCTION OR DISTRIBUTION
+      OF THE PROGRAM CONSTITUTES RECIPIENT&#039;S ACCEPTANCE OF THIS AGREEMENT.
+    </p>
+    <h2 id="definitions">1. DEFINITIONS</h2>
+    <p>&ldquo;Contribution&rdquo; means:</p>
+    <ul>
+      <li>a) in the case of the initial Contributor, the initial content
+        Distributed under this Agreement, and
+      </li>
+      <li>
+        b) in the case of each subsequent Contributor:
+        <ul>
+          <li>i) changes to the Program, and</li>
+          <li>ii) additions to the Program;</li>
+        </ul>
+        where such changes and/or additions to the Program originate from
+        and are Distributed by that particular Contributor. A Contribution
+        &ldquo;originates&rdquo; from a Contributor if it was added to the Program by such
+        Contributor itself or anyone acting on such Contributor&#039;s behalf.
+        Contributions do not include changes or additions to the Program that
+        are not Modified Works.
+      </li>
+    </ul>
+    <p>&ldquo;Contributor&rdquo; means any person or entity that Distributes the Program.</p>
+    <p>&ldquo;Licensed Patents&rdquo; mean patent claims licensable by a Contributor which
+      are necessarily infringed by the use or sale of its Contribution alone
+      or when combined with the Program.
+    </p>
+    <p>&ldquo;Program&rdquo; means the Contributions Distributed in accordance with this
+      Agreement.
+    </p>
+    <p>&ldquo;Recipient&rdquo; means anyone who receives the Program under this Agreement
+      or any Secondary License (as applicable), including Contributors.
+    </p>
+    <p>&ldquo;Derivative Works&rdquo; shall mean any work, whether in Source Code or other
+      form, that is based on (or derived from) the Program and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship.
+    </p>
+    <p>&ldquo;Modified Works&rdquo; shall mean any work in Source Code or other form that
+      results from an addition to, deletion from, or modification of the
+      contents of the Program, including, for purposes of clarity any new file
+      in Source Code form that contains any contents of the Program. Modified
+      Works shall not include works that contain only declarations, interfaces,
+      types, classes, structures, or files of the Program solely in each case
+      in order to link to, bind by name, or subclass the Program or Modified
+      Works thereof.
+    </p>
+    <p>&ldquo;Distribute&rdquo; means the acts of a) distributing or b) making available
+      in any manner that enables the transfer of a copy.
+    </p>
+    <p>&ldquo;Source Code&rdquo; means the form of a Program preferred for making
+      modifications, including but not limited to software source code,
+      documentation source, and configuration files.
+    </p>
+    <p>&ldquo;Secondary License&rdquo; means either the GNU General Public License,
+      Version 2.0, or any later versions of that license, including any
+      exceptions or additional permissions as identified by the initial
+      Contributor.
+    </p>
+    <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+    <ul>
+      <li>a) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free copyright
+        license to reproduce, prepare Derivative Works of, publicly display,
+        publicly perform, Distribute and sublicense the Contribution of such
+        Contributor, if any, and such Derivative Works.
+      </li>
+      <li>b) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free patent
+        license under Licensed Patents to make, use, sell, offer to sell,
+        import and otherwise transfer the Contribution of such Contributor,
+        if any, in Source Code or other form. This patent license shall
+        apply to the combination of the Contribution and the Program if,
+        at the time the Contribution is added by the Contributor, such
+        addition of the Contribution causes such combination to be covered
+        by the Licensed Patents. The patent license shall not apply to any
+        other combinations which include the Contribution. No hardware per
+        se is licensed hereunder.
+      </li>
+      <li>c) Recipient understands that although each Contributor grants the
+        licenses to its Contributions set forth herein, no assurances are
+        provided by any Contributor that the Program does not infringe the
+        patent or other intellectual property rights of any other entity.
+        Each Contributor disclaims any liability to Recipient for claims
+        brought by any other entity based on infringement of intellectual
+        property rights or otherwise. As a condition to exercising the rights
+        and licenses granted hereunder, each Recipient hereby assumes sole
+        responsibility to secure any other intellectual property rights needed,
+        if any. For example, if a third party patent license is required to
+        allow Recipient to Distribute the Program, it is Recipient&#039;s
+        responsibility to acquire that license before distributing the Program.
+      </li>
+      <li>d) Each Contributor represents that to its knowledge it has sufficient
+        copyright rights in its Contribution, if any, to grant the copyright
+        license set forth in this Agreement.
+      </li>
+      <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+        makes additional grants to any Recipient (other than those set forth
+        in this Agreement) as a result of such Recipient&#039;s receipt of the
+        Program under the terms of a Secondary License (if permitted under
+        the terms of Section 3).
+      </li>
+    </ul>
+    <h2 id="requirements">3. REQUIREMENTS</h2>
+    <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+    <ul>
+      <li>a) the Program must also be made available as Source Code, in
+        accordance with section 3.2, and the Contributor must accompany
+        the Program with a statement that the Source Code for the Program
+        is available under this Agreement, and informs Recipients how to
+        obtain it in a reasonable manner on or through a medium customarily
+        used for software exchange; and
+      </li>
+      <li>
+        b) the Contributor may Distribute the Program under a license
+        different than this Agreement, provided that such license:
+        <ul>
+          <li>i) effectively disclaims on behalf of all other Contributors all
+            warranties and conditions, express and implied, including warranties
+            or conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular purpose;
+          </li>
+          <li>ii) effectively excludes on behalf of all other Contributors all
+            liability for damages, including direct, indirect, special, incidental
+            and consequential damages, such as lost profits;
+          </li>
+          <li>iii) does not attempt to limit or alter the recipients&#039; rights in the
+            Source Code under section 3.2; and
+          </li>
+          <li>iv) requires any subsequent distribution of the Program by any party
+            to be under a license that satisfies the requirements of this section 3.
+          </li>
+        </ul>
+      </li>
+    </ul>
+    <p>3.2 When the Program is Distributed as Source Code:</p>
+    <ul>
+      <li>a) it must be made available under this Agreement, or if the Program (i)
+        is combined with other material in a separate file or files made available
+        under a Secondary License, and (ii) the initial Contributor attached to
+        the Source Code the notice described in Exhibit A of this Agreement,
+        then the Program may be made available under the terms of such
+        Secondary Licenses, and
+      </li>
+      <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+    </ul>
+    <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+      attribution notices, disclaimers of warranty, or limitations of liability
+      (&lsquo;notices&rsquo;) contained within the Program from any copy of the Program which
+      they Distribute, provided that Contributors may add their own appropriate
+      notices.
+    </p>
+    <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+    <p>Commercial distributors of software may accept certain responsibilities
+      with respect to end users, business partners and the like. While this
+      license is intended to facilitate the commercial use of the Program, the
+      Contributor who includes the Program in a commercial product offering should
+      do so in a manner which does not create potential liability for other
+      Contributors. Therefore, if a Contributor includes the Program in a
+      commercial product offering, such Contributor (&ldquo;Commercial Contributor&rdquo;)
+      hereby agrees to defend and indemnify every other Contributor
+      (&ldquo;Indemnified Contributor&rdquo;) against any losses, damages and costs
+      (collectively &ldquo;Losses&rdquo;) arising from claims, lawsuits and other legal actions
+      brought by a third party against the Indemnified Contributor to the extent
+      caused by the acts or omissions of such Commercial Contributor in connection
+      with its distribution of the Program in a commercial product offering.
+      The obligations in this section do not apply to any claims or Losses relating
+      to any actual or alleged intellectual property infringement. In order to
+      qualify, an Indemnified Contributor must: a) promptly notify the
+      Commercial Contributor in writing of such claim, and b) allow the Commercial
+      Contributor to control, and cooperate with the Commercial Contributor in,
+      the defense and any related settlement negotiations. The Indemnified
+      Contributor may participate in any such claim at its own expense.
+    </p>
+    <p>For example, a Contributor might include the Program
+      in a commercial product offering, Product X. That Contributor is then a
+      Commercial Contributor. If that Commercial Contributor then makes performance
+      claims, or offers warranties related to Product X, those performance claims
+      and warranties are such Commercial Contributor&#039;s responsibility alone.
+      Under this section, the Commercial Contributor would have to defend claims
+      against the other Contributors related to those performance claims and
+      warranties, and if a court requires any other Contributor to pay any damages
+      as a result, the Commercial Contributor must pay those damages.
+    </p>
+    <h2 id="warranty">5. NO WARRANTY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN &ldquo;AS IS&rdquo; BASIS, WITHOUT
+      WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+      WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+      MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+      solely responsible for determining the appropriateness of using and
+      distributing the Program and assumes all risks associated with its
+      exercise of rights under this Agreement, including but not limited to the
+      risks and costs of program errors, compliance with applicable laws, damage
+      to or loss of data, programs or equipment, and unavailability or
+      interruption of operations.
+    </p>
+    <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+      LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+      OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+      OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+      GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    </p>
+    <h2 id="general">7. GENERAL</h2>
+    <p>If any provision of this Agreement is invalid or unenforceable under
+      applicable law, it shall not affect the validity or enforceability of the
+      remainder of the terms of this Agreement, and without further action by the
+      parties hereto, such provision shall be reformed to the minimum extent
+      necessary to make such provision valid and enforceable.
+    </p>
+    <p>If Recipient institutes patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+      (excluding combinations of the Program with other software or hardware)
+      infringes such Recipient&#039;s patent(s), then such Recipient&#039;s rights granted
+      under Section 2(b) shall terminate as of the date such litigation is filed.
+    </p>
+    <p>All Recipient&#039;s rights under this Agreement shall terminate if it fails to
+      comply with any of the material terms or conditions of this Agreement and
+      does not cure such failure in a reasonable period of time after becoming
+      aware of such noncompliance. If all Recipient&#039;s rights under this Agreement
+      terminate, Recipient agrees to cease use and distribution of the Program
+      as soon as reasonably practicable. However, Recipient&#039;s obligations under
+      this Agreement and any licenses granted by Recipient relating to the
+      Program shall continue and survive.
+    </p>
+    <p>Everyone is permitted to copy and distribute copies of this Agreement,
+      but in order to avoid inconsistency the Agreement is copyrighted and may
+      only be modified in the following manner. The Agreement Steward reserves
+      the right to publish new versions (including revisions) of this Agreement
+      from time to time. No one other than the Agreement Steward has the right
+      to modify this Agreement. The Eclipse Foundation is the initial Agreement
+      Steward. The Eclipse Foundation may assign the responsibility to serve as
+      the Agreement Steward to a suitable separate entity. Each new version of
+      the Agreement will be given a distinguishing version number. The Program
+      (including Contributions) may always be Distributed subject to the version
+      of the Agreement under which it was received. In addition, after a new
+      version of the Agreement is published, Contributor may elect to Distribute
+      the Program (including its Contributions) under the new version.
+    </p>
+    <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+      receives no rights or licenses to the intellectual property of any
+      Contributor under this Agreement, whether expressly, by implication,
+      estoppel or otherwise. All rights in the Program not expressly granted
+      under this Agreement are reserved. Nothing in this Agreement is intended
+      to be enforceable by any entity that is not a Contributor or Recipient.
+      No third-party beneficiary rights are created under this Agreement.
+    </p>
+    <h2 id="exhibit-a">Exhibit A &ndash; Form of Secondary Licenses Notice</h2>
+    <p>&ldquo;This Source Code may also be made available under the following 
+    	Secondary Licenses when the conditions for such availability set forth 
+    	in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+    	version(s), and exceptions or additional permissions here}.&rdquo;
+    </p>
+    <blockquote>
+      <p>Simply including a copy of this Agreement, including this Exhibit A
+        is not sufficient to license the Source Code under Secondary Licenses.
+      </p>
+      <p>If it is not possible or desirable to put the notice in a particular file,
+        then You may include the notice in a location (such as a LICENSE file in a
+        relevant directory) where a recipient would be likely to look for
+        such a notice.
+      </p>
+      <p>You may add additional accurate notices of copyright ownership.</p>
+    </blockquote>
+  </body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/src/org/eclipse/app4mc/amlt2systemc/cloud/http/TransformationServlet.java b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/src/org/eclipse/app4mc/amlt2systemc/cloud/http/TransformationServlet.java
new file mode 100644
index 0000000..2051956
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.http/src/org/eclipse/app4mc/amlt2systemc/cloud/http/TransformationServlet.java
@@ -0,0 +1,404 @@
+/*********************************************************************************
+ * Copyright (c) 2020 Robert Bosch GmbH and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+package org.eclipse.app4mc.amlt2systemc.cloud.http;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Comparator;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.stream.Stream;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.Part;
+
+import org.eclipse.app4mc.transformation.ServiceConstants;
+import org.eclipse.app4mc.transformation.TransformationProcessor;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ServiceScope;
+import org.osgi.service.event.Event;
+import org.osgi.service.event.EventConstants;
+import org.osgi.service.event.EventHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Component(
+    service=Servlet.class,
+    property= {
+    		"osgi.http.whiteboard.servlet.pattern=/app4mc/amlt2systemc/*",
+    		"osgi.http.whiteboard.servlet.multipart.enabled=true"
+    },
+    scope=ServiceScope.PROTOTYPE)
+public class TransformationServlet extends HttpServlet {
+	
+	private static final Logger LOGGER = LoggerFactory.getLogger(TransformationServlet.class);
+ 
+    private static final long serialVersionUID = 1L;
+    
+    private static final String TEMP_DIR_PREFIX = "app4mc_amlt2systemc_";
+    
+	private static final String PROGRESS_MARKER = "in_progress";
+	private static final String ERROR_MARKER = "error";
+	private static final String FINISHED_MARKER = "finished";
+	
+	private static final String ERROR_FILE = "error.txt";
+
+    private final String defaultBaseDir = System.getProperty("java.io.tmpdir");
+	
+	private ExecutorService executor = Executors.newFixedThreadPool(1);
+
+    @Reference
+    private TransformationProcessor processor;
+    
+    private ServiceRegistration<?> eventHandler;
+    
+    @Activate
+    void activate(BundleContext bc) {
+    	Hashtable<String, Object> properties = new Hashtable<>();
+        properties.put(EventConstants.EVENT_TOPIC, "org/osgi/service/cm/ConfigurationEvent/CM_DELETED");
+        // register the EventHandler service
+        this.eventHandler = bc.registerService(
+            EventHandler.class.getName(),
+            new EventHandler() {
+     
+                @Override
+                public void handleEvent(Event event) {
+                	if (event.getProperty("cm.factoryPid").equals(ServiceConstants.SESSION_CONFIGURATION_PID)) {
+                		String pid = event.getProperty("cm.pid").toString();
+                		String uuid = pid.substring(pid.indexOf('~') + 1);
+                		ServletContext context = getServletContext();
+                		LOGGER.debug("Finish transformation session with id {}", uuid);
+                		if (!ERROR_MARKER.equals(getRegistry(context).get(uuid))) {
+            				getRegistry(context).put(uuid, FINISHED_MARKER);
+            			}
+                	}
+                }
+            },
+            properties);
+    }
+    
+    @Deactivate
+    void deactivate() {
+    	if (this.eventHandler != null) {
+    		// ensure that no event handler is left in the registry
+    		this.eventHandler.unregister();
+    	}
+    }
+    
+    private String[] validatePath(String pathInfo) {
+    	// request to /app4mc/amlt2systemc
+    	if (pathInfo == null || pathInfo.equals("/")){
+            return null;
+		}
+
+    	if (pathInfo.startsWith("/")) {
+    		pathInfo.substring(1);
+    	}
+    	
+    	String[] splitPath = pathInfo.split("/");
+    	
+    	if (splitPath.length > 3) {
+    		return null;
+    	}
+
+    	return splitPath;
+    }
+    
+    // POST /app4mc/amlt2systemc
+
+    @Override
+    protected void doPost(HttpServletRequest request, HttpServletResponse response)
+    		throws ServletException, IOException {
+    	
+    	String[] splitPath = validatePath(request.getPathInfo());
+    	
+    	String requestUrl = request.getRequestURL().toString();
+    	if (requestUrl.endsWith("/")) {
+    		requestUrl = requestUrl.substring(0, requestUrl.length() - 1);
+    	}
+    	
+    	if (splitPath != null && splitPath.length != 1) {
+    		response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid path");
+    		response.addHeader("Link", "<" + requestUrl + ">;rel=\"self\"");
+    		return;    		
+    	}
+    	
+    	Part part = request.getPart("file");
+    	if (part != null && part.getSubmittedFileName() != null && part.getSubmittedFileName().length() > 0) {
+    		String filename = part.getSubmittedFileName();
+    		try (InputStream is = part.getInputStream()) {
+    			Path tempFolderPath = Files.createTempDirectory(TEMP_DIR_PREFIX);
+    			
+    			// extract uuid from pathname
+    			String uuid = tempFolderPath.toString().substring(tempFolderPath.toString().lastIndexOf('_') + 1);
+    			
+    			Path uploaded = Paths.get(tempFolderPath.toString(), filename);
+    			Files.copy(is, uploaded);
+    			
+    			if (Files.exists(uploaded)) {
+    				// mark uuid in progress
+    				ServletContext context = getServletContext();
+    				Map<String, String> registry = getRegistry(context);
+    				registry.put(uuid, PROGRESS_MARKER);
+
+    				// trigger asynchronous processing
+    				executor.execute(() -> {
+
+    					try {
+    						Properties properties = new Properties();
+    						properties.put("input_models_folder", tempFolderPath.toString());
+    						properties.put("output_folder", Paths.get(tempFolderPath.toString(), "output"));
+    						properties.put("m2tTransformers", "APP4MCSIM");
+    						properties.put(ServiceConstants.SESSION_ID, uuid);
+    						
+    						processor.startTransformation(properties);
+    					} catch (Exception e) {
+    						LOGGER.error("Failure in transformation", e);
+    		    			registry.put(uuid, ERROR_MARKER);
+    						error(tempFolderPath, "Failure in transformation", e);
+    					}
+    				});
+
+    				// return uuid
+    				response.setStatus(HttpServletResponse.SC_CREATED);
+    				response.addHeader("Location", requestUrl + "/" + uuid);
+    				response.addHeader("Link", "<" + requestUrl + ">;rel=\"self\"");
+    				response.addHeader("Link", "<" + requestUrl + "/" + uuid + ">;rel=\"status\"");
+    				response.setContentType("application/json");
+    				response.getWriter().write(uuid);
+    				return;
+    			} else {
+    	    		response.sendError(HttpServletResponse.SC_NOT_FOUND, "Model file upload failed!");
+    	    		response.addHeader("Link", "<" + requestUrl + ">;rel=\"self\"");
+    	    		return;    		
+    			}
+    		}
+    	}
+    	
+    	// bad request without file
+    	response.sendError(HttpServletResponse.SC_BAD_REQUEST, "No model file provided!");
+    	response.addHeader("Link", "<" + request.getRequestURL() + ">;rel=\"self\"");
+    	return;
+    }
+    
+    // GET /app4mc/amlt2systemc/{id}
+    // GET /app4mc/amlt2systemc/{id}/download
+    // GET /app4mc/amlt2systemc/{id}/error
+
+    @Override
+    protected void doGet(HttpServletRequest request, HttpServletResponse response)
+            throws ServletException, IOException {
+
+		response.addHeader("Link", "<" + request.getRequestURL() + ">;rel=\"self\"");
+
+    	String[] splitPath = validatePath(request.getPathInfo());
+    	
+    	if (splitPath == null) {
+    		response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid path");
+    		return;    		
+    	}
+
+    	if (splitPath.length == 2) {
+    		response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate");
+
+    		String uuid = splitPath[1];
+    		
+    		// check for the in_progress marker file
+        	Path tempFolderPath = Paths.get(defaultBaseDir, TEMP_DIR_PREFIX + uuid);
+        	if (!Files.exists(tempFolderPath)) {
+	    		response.sendError(HttpServletResponse.SC_NOT_FOUND);
+        		return;
+        	}
+        	
+        	boolean hasErrorFile = false;
+        	try (Stream<Path> files = Files.list(tempFolderPath)) {
+        		hasErrorFile = files.anyMatch(path -> path.endsWith(ERROR_FILE));
+        	}
+
+        	String status = getRegistry(getServletContext()).get(uuid);
+        	if (PROGRESS_MARKER.equals(status)) {
+        		response.setStatus(HttpServletResponse.SC_ACCEPTED);
+        		return;
+        	} else if (ERROR_MARKER.equals(status) || hasErrorFile) {
+            	// processing finished with error
+        		response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+				response.addHeader("Link", "<" + request.getRequestURL() + "/error>;rel=\"error\"");
+        		return;
+        	}
+        	
+        	// processing is finished
+    		response.setStatus(HttpServletResponse.SC_OK);
+        	response.addHeader("Link", "<" + request.getRequestURL() + "/download>;rel=\"result\"");
+        	return;
+
+    	} else if (splitPath.length == 3 && "download".equals(splitPath[2])) {
+        	String status = getRegistry(getServletContext()).get(splitPath[1]);
+        	
+        	if (PROGRESS_MARKER.equals(status)) {
+        		response.sendError(HttpServletResponse.SC_NOT_FOUND, "Process is still in progresss");
+        		return;
+        	}
+
+        	Path tempFolderPath = Paths.get(defaultBaseDir, TEMP_DIR_PREFIX + splitPath[1]);
+        	
+        	if (!Files.exists(tempFolderPath)) {
+	    		response.sendError(HttpServletResponse.SC_NOT_FOUND);
+        		return;
+        	}
+    		
+        	response.setStatus(HttpServletResponse.SC_OK);
+
+        	Path path = Paths.get(tempFolderPath.toString(), "output", "m2t_output_text_files", "result.zip");
+        	if (!Files.exists(path)) {
+        		response.sendError(HttpServletResponse.SC_NOT_FOUND, "No transformation result available");
+        		return;
+    		}
+    		
+    		response.addHeader("Link", "<" + request.getRequestURL().substring(0, request.getRequestURL().lastIndexOf("/")) + ">;rel=\"delete\"");
+    		response.setHeader("Content-Disposition","attachment; filename=\"" + path.toFile().getName() + "\"");
+    		response.setContentType("text/plain");
+    		
+    		try (InputStream in = Files.newInputStream(path);
+    				OutputStream out = response.getOutputStream()) {
+    		 
+    			byte[] buffer = new byte[4096];
+    		        
+    			int numBytesRead;
+    			while ((numBytesRead = in.read(buffer)) > 0) {
+    				out.write(buffer, 0, numBytesRead);
+    			}
+    		}
+    		return;
+    	} else if (splitPath.length == 3 && "error".equals(splitPath[2])) {
+    		String uuid = splitPath[1];
+        	Path tempFolderPath = Paths.get(defaultBaseDir, TEMP_DIR_PREFIX + uuid);
+        	
+        	if (!Files.exists(tempFolderPath)) {
+	    		response.sendError(HttpServletResponse.SC_NOT_FOUND);
+        		return;
+        	}
+        	
+        	// if there is no error file, the error resource is 404
+        	boolean hasErrorFile = false;
+        	try (Stream<Path> files = Files.list(tempFolderPath)) {
+        		hasErrorFile = files.anyMatch(path -> path.endsWith(ERROR_FILE));
+        	}
+
+        	if (!hasErrorFile) {
+	    		response.sendError(HttpServletResponse.SC_NOT_FOUND, "No error occured");
+        		return;
+        	}
+        	
+        	Path errorFilePath = Paths.get(tempFolderPath.toString(), ERROR_FILE);
+        	
+        	response.setStatus(HttpServletResponse.SC_OK);
+        	response.addHeader("Link", "<" + request.getRequestURL().substring(0, request.getRequestURL().lastIndexOf("/")) + ">;rel=\"delete\"");
+        	response.setHeader("Content-Disposition", "attachment; filename=\"" + errorFilePath.toFile().getName() + "\"");
+    		response.setContentType("text/plain");
+    		
+    		try (InputStream in = Files.newInputStream(errorFilePath);
+    				OutputStream out = response.getOutputStream()) {
+    		 
+    			byte[] buffer = new byte[4096];
+    		        
+    			int numBytesRead;
+    			while ((numBytesRead = in.read(buffer)) > 0) {
+    				out.write(buffer, 0, numBytesRead);
+    			}
+    		}
+        	return;
+    	}
+    	
+    	// no content
+    	response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+    	return;
+	}
+    
+    
+    // DELETE /app4mc/amlt2systemc/{id}
+    
+    @Override
+    protected void doDelete(HttpServletRequest request, HttpServletResponse response)
+    		throws ServletException, IOException {
+
+    	String[] splitPath = validatePath(request.getPathInfo());
+
+    	if (splitPath == null || splitPath.length != 2) {
+    		response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid path");
+    		return;    		
+    	}
+
+    	String uuid = splitPath[1];
+    	
+		Path path = Paths.get(defaultBaseDir, TEMP_DIR_PREFIX + uuid);
+
+		if (Files.exists(path)) {
+			Files.walk(path)
+				.sorted(Comparator.reverseOrder())
+				.map(Path::toFile)
+				.forEach(File::delete);
+			
+			response.setStatus(HttpServletResponse.SC_OK);
+		} else {
+			// not found
+			response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+		}
+    	
+    	return;
+    }
+    
+	private void error(Path resultFolder, String message, Exception exception) {
+		try {
+			Path errorFilePath = Files.createFile(Paths.get(resultFolder.toString(), ERROR_FILE));
+			try (PrintWriter writer = new PrintWriter(Files.newOutputStream(errorFilePath))) {
+				writer.append(message).append(System.lineSeparator());
+				if (exception != null) {
+					exception.printStackTrace(writer);
+				}
+			}
+			
+		} catch (IOException e) {
+			LOGGER.error("Failed to write error.txt", e);
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private static synchronized Map<String, String> getRegistry(ServletContext context) {
+		if (context.getAttribute("_REGISTRY") == null) {
+			context.setAttribute("_REGISTRY", new ConcurrentHashMap<String, String>());
+		}
+		return (Map<String, String>) context.getAttribute("_REGISTRY");
+	}
+	
+}
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/.project b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/.project
new file mode 100644
index 0000000..f967aa0
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.app4mc.amlt2systemc.cloud.product</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/about.html b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/about.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+	<h2>About This Content</h2>
+
+	<p>November 30, 2017</p>
+	<h3>License</h3>
+
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
+
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/amlt2systemc_service.product b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/amlt2systemc_service.product
new file mode 100644
index 0000000..4715882
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/amlt2systemc_service.product
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product uid="org.eclipse.app4mc.amlt2systemc.cloud.product" version="0.1.0.qualifier" useFeatures="false" includeLaunchers="true">
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-console
+      </programArgs>
+      <vmArgs>-Dorg.osgi.service.http.port=8282 -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dlog4j.configuration=headless_log4j.xml -Dorg.eclipse.jetty.server.Request.maxFormContentSize=100000000
+      </vmArgs>
+      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+      </vmArgsMac>
+   </launcherArgs>
+
+   <launcher>
+      <win useIco="false">
+         <bmp/>
+      </win>
+   </launcher>
+
+   <vm>
+   </vm>
+
+   <plugins>
+      <plugin id="com.fasterxml.jackson.core.jackson-annotations"/>
+      <plugin id="com.fasterxml.jackson.core.jackson-core"/>
+      <plugin id="com.fasterxml.jackson.core.jackson-databind"/>
+      <plugin id="com.google.guava"/>
+      <plugin id="com.google.inject"/>
+      <plugin id="com.ibm.icu"/>
+      <plugin id="javax.inject"/>
+      <plugin id="javax.servlet"/>
+      <plugin id="javax.xml"/>
+      <plugin id="org.apache.commons.cli"/>
+      <plugin id="org.apache.commons.fileupload"/>
+      <plugin id="org.apache.commons.io"/>
+      <plugin id="org.apache.commons.lang"/>
+      <plugin id="org.apache.commons.logging"/>
+      <plugin id="org.apache.commons.math3"/>
+      <plugin id="org.apache.felix.gogo.command"/>
+      <plugin id="org.apache.felix.gogo.runtime"/>
+      <plugin id="org.apache.felix.gogo.shell"/>
+      <plugin id="org.apache.felix.scr"/>
+      <plugin id="org.apache.log4j"/>
+      <plugin id="org.apache.xerces"/>
+      <plugin id="org.apache.xml.resolver"/>
+      <plugin id="org.apache.xml.serializer"/>
+      <plugin id="org.eclipse.app4mc.amalthea.model"/>
+      <plugin id="org.eclipse.app4mc.amlt2systemc.cloud.http"/>
+      <plugin id="org.eclipse.app4mc.amlt2systemc.m2t"/>
+      <plugin id="org.eclipse.app4mc.transformation"/>
+      <plugin id="org.eclipse.app4mc.transformation.log4j.configuration" fragment="true"/>
+      <plugin id="org.eclipse.core.commands"/>
+      <plugin id="org.eclipse.core.contenttype"/>
+      <plugin id="org.eclipse.core.expressions"/>
+      <plugin id="org.eclipse.core.filesystem"/>
+      <plugin id="org.eclipse.core.jobs"/>
+      <plugin id="org.eclipse.core.resources"/>
+      <plugin id="org.eclipse.core.runtime"/>
+      <plugin id="org.eclipse.emf"/>
+      <plugin id="org.eclipse.emf.common"/>
+      <plugin id="org.eclipse.emf.ecore"/>
+      <plugin id="org.eclipse.emf.ecore.change"/>
+      <plugin id="org.eclipse.emf.ecore.xcore.lib"/>
+      <plugin id="org.eclipse.emf.ecore.xmi"/>
+      <plugin id="org.eclipse.emf.edit"/>
+      <plugin id="org.eclipse.emf.transaction"/>
+      <plugin id="org.eclipse.emf.validation"/>
+      <plugin id="org.eclipse.emf.workspace"/>
+      <plugin id="org.eclipse.equinox.app"/>
+      <plugin id="org.eclipse.equinox.cm"/>
+      <plugin id="org.eclipse.equinox.common"/>
+      <plugin id="org.eclipse.equinox.console"/>
+      <plugin id="org.eclipse.equinox.event"/>
+      <plugin id="org.eclipse.equinox.http.jetty"/>
+      <plugin id="org.eclipse.equinox.http.servlet"/>
+      <plugin id="org.eclipse.equinox.preferences"/>
+      <plugin id="org.eclipse.equinox.registry"/>
+      <plugin id="org.eclipse.jetty.continuation"/>
+      <plugin id="org.eclipse.jetty.http"/>
+      <plugin id="org.eclipse.jetty.io"/>
+      <plugin id="org.eclipse.jetty.security"/>
+      <plugin id="org.eclipse.jetty.server"/>
+      <plugin id="org.eclipse.jetty.servlet"/>
+      <plugin id="org.eclipse.jetty.util"/>
+      <plugin id="org.eclipse.osgi"/>
+      <plugin id="org.eclipse.osgi.services"/>
+      <plugin id="org.eclipse.osgi.util"/>
+      <plugin id="org.eclipse.sphinx.emf"/>
+      <plugin id="org.eclipse.sphinx.emf.workspace"/>
+      <plugin id="org.eclipse.sphinx.platform"/>
+      <plugin id="org.eclipse.xtend.lib"/>
+      <plugin id="org.eclipse.xtend.lib.macro"/>
+      <plugin id="org.eclipse.xtext.xbase.lib"/>
+      <plugin id="org.jdom"/>
+      <plugin id="org.slf4j.api"/>
+      <plugin id="org.slf4j.impl.log4j12" fragment="true"/>
+   </plugins>
+
+   <configurations>
+      <plugin id="org.apache.felix.scr" autoStart="true" startLevel="0" />
+      <plugin id="org.eclipse.equinox.cm" autoStart="true" startLevel="0" />
+      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="0" />
+      <plugin id="org.eclipse.equinox.http.jetty" autoStart="true" startLevel="0" />
+      <plugin id="org.eclipse.jetty.server" autoStart="true" startLevel="0" />
+      <property name="log4j.configuration" value="headless_log4j.xml" />
+   </configurations>
+
+</product>
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/epl-2.0.html b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/epl-2.0.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.product/epl-2.0.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Eclipse Public License - Version 2.0</title>
+    <style type="text/css">
+      body {
+        margin: 1.5em 3em;
+      }
+      h1{
+        font-size:1.5em;
+      }
+      h2{
+        font-size:1em;
+        margin-bottom:0.5em;
+        margin-top:1em;
+      }
+      p {
+        margin-top:  0.5em;
+        margin-bottom: 0.5em;
+      }
+      ul, ol{
+        list-style-type:none;
+      }
+    </style>
+  </head>
+  <body>
+    <h1>Eclipse Public License - v 2.0</h1>
+    <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+      PUBLIC LICENSE (&ldquo;AGREEMENT&rdquo;). ANY USE, REPRODUCTION OR DISTRIBUTION
+      OF THE PROGRAM CONSTITUTES RECIPIENT&#039;S ACCEPTANCE OF THIS AGREEMENT.
+    </p>
+    <h2 id="definitions">1. DEFINITIONS</h2>
+    <p>&ldquo;Contribution&rdquo; means:</p>
+    <ul>
+      <li>a) in the case of the initial Contributor, the initial content
+        Distributed under this Agreement, and
+      </li>
+      <li>
+        b) in the case of each subsequent Contributor:
+        <ul>
+          <li>i) changes to the Program, and</li>
+          <li>ii) additions to the Program;</li>
+        </ul>
+        where such changes and/or additions to the Program originate from
+        and are Distributed by that particular Contributor. A Contribution
+        &ldquo;originates&rdquo; from a Contributor if it was added to the Program by such
+        Contributor itself or anyone acting on such Contributor&#039;s behalf.
+        Contributions do not include changes or additions to the Program that
+        are not Modified Works.
+      </li>
+    </ul>
+    <p>&ldquo;Contributor&rdquo; means any person or entity that Distributes the Program.</p>
+    <p>&ldquo;Licensed Patents&rdquo; mean patent claims licensable by a Contributor which
+      are necessarily infringed by the use or sale of its Contribution alone
+      or when combined with the Program.
+    </p>
+    <p>&ldquo;Program&rdquo; means the Contributions Distributed in accordance with this
+      Agreement.
+    </p>
+    <p>&ldquo;Recipient&rdquo; means anyone who receives the Program under this Agreement
+      or any Secondary License (as applicable), including Contributors.
+    </p>
+    <p>&ldquo;Derivative Works&rdquo; shall mean any work, whether in Source Code or other
+      form, that is based on (or derived from) the Program and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship.
+    </p>
+    <p>&ldquo;Modified Works&rdquo; shall mean any work in Source Code or other form that
+      results from an addition to, deletion from, or modification of the
+      contents of the Program, including, for purposes of clarity any new file
+      in Source Code form that contains any contents of the Program. Modified
+      Works shall not include works that contain only declarations, interfaces,
+      types, classes, structures, or files of the Program solely in each case
+      in order to link to, bind by name, or subclass the Program or Modified
+      Works thereof.
+    </p>
+    <p>&ldquo;Distribute&rdquo; means the acts of a) distributing or b) making available
+      in any manner that enables the transfer of a copy.
+    </p>
+    <p>&ldquo;Source Code&rdquo; means the form of a Program preferred for making
+      modifications, including but not limited to software source code,
+      documentation source, and configuration files.
+    </p>
+    <p>&ldquo;Secondary License&rdquo; means either the GNU General Public License,
+      Version 2.0, or any later versions of that license, including any
+      exceptions or additional permissions as identified by the initial
+      Contributor.
+    </p>
+    <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+    <ul>
+      <li>a) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free copyright
+        license to reproduce, prepare Derivative Works of, publicly display,
+        publicly perform, Distribute and sublicense the Contribution of such
+        Contributor, if any, and such Derivative Works.
+      </li>
+      <li>b) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free patent
+        license under Licensed Patents to make, use, sell, offer to sell,
+        import and otherwise transfer the Contribution of such Contributor,
+        if any, in Source Code or other form. This patent license shall
+        apply to the combination of the Contribution and the Program if,
+        at the time the Contribution is added by the Contributor, such
+        addition of the Contribution causes such combination to be covered
+        by the Licensed Patents. The patent license shall not apply to any
+        other combinations which include the Contribution. No hardware per
+        se is licensed hereunder.
+      </li>
+      <li>c) Recipient understands that although each Contributor grants the
+        licenses to its Contributions set forth herein, no assurances are
+        provided by any Contributor that the Program does not infringe the
+        patent or other intellectual property rights of any other entity.
+        Each Contributor disclaims any liability to Recipient for claims
+        brought by any other entity based on infringement of intellectual
+        property rights or otherwise. As a condition to exercising the rights
+        and licenses granted hereunder, each Recipient hereby assumes sole
+        responsibility to secure any other intellectual property rights needed,
+        if any. For example, if a third party patent license is required to
+        allow Recipient to Distribute the Program, it is Recipient&#039;s
+        responsibility to acquire that license before distributing the Program.
+      </li>
+      <li>d) Each Contributor represents that to its knowledge it has sufficient
+        copyright rights in its Contribution, if any, to grant the copyright
+        license set forth in this Agreement.
+      </li>
+      <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+        makes additional grants to any Recipient (other than those set forth
+        in this Agreement) as a result of such Recipient&#039;s receipt of the
+        Program under the terms of a Secondary License (if permitted under
+        the terms of Section 3).
+      </li>
+    </ul>
+    <h2 id="requirements">3. REQUIREMENTS</h2>
+    <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+    <ul>
+      <li>a) the Program must also be made available as Source Code, in
+        accordance with section 3.2, and the Contributor must accompany
+        the Program with a statement that the Source Code for the Program
+        is available under this Agreement, and informs Recipients how to
+        obtain it in a reasonable manner on or through a medium customarily
+        used for software exchange; and
+      </li>
+      <li>
+        b) the Contributor may Distribute the Program under a license
+        different than this Agreement, provided that such license:
+        <ul>
+          <li>i) effectively disclaims on behalf of all other Contributors all
+            warranties and conditions, express and implied, including warranties
+            or conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular purpose;
+          </li>
+          <li>ii) effectively excludes on behalf of all other Contributors all
+            liability for damages, including direct, indirect, special, incidental
+            and consequential damages, such as lost profits;
+          </li>
+          <li>iii) does not attempt to limit or alter the recipients&#039; rights in the
+            Source Code under section 3.2; and
+          </li>
+          <li>iv) requires any subsequent distribution of the Program by any party
+            to be under a license that satisfies the requirements of this section 3.
+          </li>
+        </ul>
+      </li>
+    </ul>
+    <p>3.2 When the Program is Distributed as Source Code:</p>
+    <ul>
+      <li>a) it must be made available under this Agreement, or if the Program (i)
+        is combined with other material in a separate file or files made available
+        under a Secondary License, and (ii) the initial Contributor attached to
+        the Source Code the notice described in Exhibit A of this Agreement,
+        then the Program may be made available under the terms of such
+        Secondary Licenses, and
+      </li>
+      <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+    </ul>
+    <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+      attribution notices, disclaimers of warranty, or limitations of liability
+      (&lsquo;notices&rsquo;) contained within the Program from any copy of the Program which
+      they Distribute, provided that Contributors may add their own appropriate
+      notices.
+    </p>
+    <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+    <p>Commercial distributors of software may accept certain responsibilities
+      with respect to end users, business partners and the like. While this
+      license is intended to facilitate the commercial use of the Program, the
+      Contributor who includes the Program in a commercial product offering should
+      do so in a manner which does not create potential liability for other
+      Contributors. Therefore, if a Contributor includes the Program in a
+      commercial product offering, such Contributor (&ldquo;Commercial Contributor&rdquo;)
+      hereby agrees to defend and indemnify every other Contributor
+      (&ldquo;Indemnified Contributor&rdquo;) against any losses, damages and costs
+      (collectively &ldquo;Losses&rdquo;) arising from claims, lawsuits and other legal actions
+      brought by a third party against the Indemnified Contributor to the extent
+      caused by the acts or omissions of such Commercial Contributor in connection
+      with its distribution of the Program in a commercial product offering.
+      The obligations in this section do not apply to any claims or Losses relating
+      to any actual or alleged intellectual property infringement. In order to
+      qualify, an Indemnified Contributor must: a) promptly notify the
+      Commercial Contributor in writing of such claim, and b) allow the Commercial
+      Contributor to control, and cooperate with the Commercial Contributor in,
+      the defense and any related settlement negotiations. The Indemnified
+      Contributor may participate in any such claim at its own expense.
+    </p>
+    <p>For example, a Contributor might include the Program
+      in a commercial product offering, Product X. That Contributor is then a
+      Commercial Contributor. If that Commercial Contributor then makes performance
+      claims, or offers warranties related to Product X, those performance claims
+      and warranties are such Commercial Contributor&#039;s responsibility alone.
+      Under this section, the Commercial Contributor would have to defend claims
+      against the other Contributors related to those performance claims and
+      warranties, and if a court requires any other Contributor to pay any damages
+      as a result, the Commercial Contributor must pay those damages.
+    </p>
+    <h2 id="warranty">5. NO WARRANTY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN &ldquo;AS IS&rdquo; BASIS, WITHOUT
+      WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+      WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+      MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+      solely responsible for determining the appropriateness of using and
+      distributing the Program and assumes all risks associated with its
+      exercise of rights under this Agreement, including but not limited to the
+      risks and costs of program errors, compliance with applicable laws, damage
+      to or loss of data, programs or equipment, and unavailability or
+      interruption of operations.
+    </p>
+    <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+      LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+      OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+      OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+      GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    </p>
+    <h2 id="general">7. GENERAL</h2>
+    <p>If any provision of this Agreement is invalid or unenforceable under
+      applicable law, it shall not affect the validity or enforceability of the
+      remainder of the terms of this Agreement, and without further action by the
+      parties hereto, such provision shall be reformed to the minimum extent
+      necessary to make such provision valid and enforceable.
+    </p>
+    <p>If Recipient institutes patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+      (excluding combinations of the Program with other software or hardware)
+      infringes such Recipient&#039;s patent(s), then such Recipient&#039;s rights granted
+      under Section 2(b) shall terminate as of the date such litigation is filed.
+    </p>
+    <p>All Recipient&#039;s rights under this Agreement shall terminate if it fails to
+      comply with any of the material terms or conditions of this Agreement and
+      does not cure such failure in a reasonable period of time after becoming
+      aware of such noncompliance. If all Recipient&#039;s rights under this Agreement
+      terminate, Recipient agrees to cease use and distribution of the Program
+      as soon as reasonably practicable. However, Recipient&#039;s obligations under
+      this Agreement and any licenses granted by Recipient relating to the
+      Program shall continue and survive.
+    </p>
+    <p>Everyone is permitted to copy and distribute copies of this Agreement,
+      but in order to avoid inconsistency the Agreement is copyrighted and may
+      only be modified in the following manner. The Agreement Steward reserves
+      the right to publish new versions (including revisions) of this Agreement
+      from time to time. No one other than the Agreement Steward has the right
+      to modify this Agreement. The Eclipse Foundation is the initial Agreement
+      Steward. The Eclipse Foundation may assign the responsibility to serve as
+      the Agreement Steward to a suitable separate entity. Each new version of
+      the Agreement will be given a distinguishing version number. The Program
+      (including Contributions) may always be Distributed subject to the version
+      of the Agreement under which it was received. In addition, after a new
+      version of the Agreement is published, Contributor may elect to Distribute
+      the Program (including its Contributions) under the new version.
+    </p>
+    <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+      receives no rights or licenses to the intellectual property of any
+      Contributor under this Agreement, whether expressly, by implication,
+      estoppel or otherwise. All rights in the Program not expressly granted
+      under this Agreement are reserved. Nothing in this Agreement is intended
+      to be enforceable by any entity that is not a Contributor or Recipient.
+      No third-party beneficiary rights are created under this Agreement.
+    </p>
+    <h2 id="exhibit-a">Exhibit A &ndash; Form of Secondary Licenses Notice</h2>
+    <p>&ldquo;This Source Code may also be made available under the following 
+    	Secondary Licenses when the conditions for such availability set forth 
+    	in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+    	version(s), and exceptions or additional permissions here}.&rdquo;
+    </p>
+    <blockquote>
+      <p>Simply including a copy of this Agreement, including this Exhibit A
+        is not sufficient to license the Source Code under Secondary Licenses.
+      </p>
+      <p>If it is not possible or desirable to put the notice in a particular file,
+        then You may include the notice in a location (such as a LICENSE file in a
+        relevant directory) where a recipient would be likely to look for
+        such a notice.
+      </p>
+      <p>You may add additional accurate notices of copyright ownership.</p>
+    </blockquote>
+  </body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/.project b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/.project
new file mode 100644
index 0000000..358e750
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.app4mc.amlt2systemc.cloud.target</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/about.html b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/about.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+	<h2>About This Content</h2>
+
+	<p>November 30, 2017</p>
+	<h3>License</h3>
+
+	<p>
+		The Eclipse Foundation makes available all content in this plug-in
+		(&quot;Content&quot;). Unless otherwise indicated below, the Content
+		is provided to you under the terms and conditions of the Eclipse
+		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
+
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/epl-2.0.html b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/epl-2.0.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/epl-2.0.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Eclipse Public License - Version 2.0</title>
+    <style type="text/css">
+      body {
+        margin: 1.5em 3em;
+      }
+      h1{
+        font-size:1.5em;
+      }
+      h2{
+        font-size:1em;
+        margin-bottom:0.5em;
+        margin-top:1em;
+      }
+      p {
+        margin-top:  0.5em;
+        margin-bottom: 0.5em;
+      }
+      ul, ol{
+        list-style-type:none;
+      }
+    </style>
+  </head>
+  <body>
+    <h1>Eclipse Public License - v 2.0</h1>
+    <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+      PUBLIC LICENSE (&ldquo;AGREEMENT&rdquo;). ANY USE, REPRODUCTION OR DISTRIBUTION
+      OF THE PROGRAM CONSTITUTES RECIPIENT&#039;S ACCEPTANCE OF THIS AGREEMENT.
+    </p>
+    <h2 id="definitions">1. DEFINITIONS</h2>
+    <p>&ldquo;Contribution&rdquo; means:</p>
+    <ul>
+      <li>a) in the case of the initial Contributor, the initial content
+        Distributed under this Agreement, and
+      </li>
+      <li>
+        b) in the case of each subsequent Contributor:
+        <ul>
+          <li>i) changes to the Program, and</li>
+          <li>ii) additions to the Program;</li>
+        </ul>
+        where such changes and/or additions to the Program originate from
+        and are Distributed by that particular Contributor. A Contribution
+        &ldquo;originates&rdquo; from a Contributor if it was added to the Program by such
+        Contributor itself or anyone acting on such Contributor&#039;s behalf.
+        Contributions do not include changes or additions to the Program that
+        are not Modified Works.
+      </li>
+    </ul>
+    <p>&ldquo;Contributor&rdquo; means any person or entity that Distributes the Program.</p>
+    <p>&ldquo;Licensed Patents&rdquo; mean patent claims licensable by a Contributor which
+      are necessarily infringed by the use or sale of its Contribution alone
+      or when combined with the Program.
+    </p>
+    <p>&ldquo;Program&rdquo; means the Contributions Distributed in accordance with this
+      Agreement.
+    </p>
+    <p>&ldquo;Recipient&rdquo; means anyone who receives the Program under this Agreement
+      or any Secondary License (as applicable), including Contributors.
+    </p>
+    <p>&ldquo;Derivative Works&rdquo; shall mean any work, whether in Source Code or other
+      form, that is based on (or derived from) the Program and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship.
+    </p>
+    <p>&ldquo;Modified Works&rdquo; shall mean any work in Source Code or other form that
+      results from an addition to, deletion from, or modification of the
+      contents of the Program, including, for purposes of clarity any new file
+      in Source Code form that contains any contents of the Program. Modified
+      Works shall not include works that contain only declarations, interfaces,
+      types, classes, structures, or files of the Program solely in each case
+      in order to link to, bind by name, or subclass the Program or Modified
+      Works thereof.
+    </p>
+    <p>&ldquo;Distribute&rdquo; means the acts of a) distributing or b) making available
+      in any manner that enables the transfer of a copy.
+    </p>
+    <p>&ldquo;Source Code&rdquo; means the form of a Program preferred for making
+      modifications, including but not limited to software source code,
+      documentation source, and configuration files.
+    </p>
+    <p>&ldquo;Secondary License&rdquo; means either the GNU General Public License,
+      Version 2.0, or any later versions of that license, including any
+      exceptions or additional permissions as identified by the initial
+      Contributor.
+    </p>
+    <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+    <ul>
+      <li>a) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free copyright
+        license to reproduce, prepare Derivative Works of, publicly display,
+        publicly perform, Distribute and sublicense the Contribution of such
+        Contributor, if any, and such Derivative Works.
+      </li>
+      <li>b) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free patent
+        license under Licensed Patents to make, use, sell, offer to sell,
+        import and otherwise transfer the Contribution of such Contributor,
+        if any, in Source Code or other form. This patent license shall
+        apply to the combination of the Contribution and the Program if,
+        at the time the Contribution is added by the Contributor, such
+        addition of the Contribution causes such combination to be covered
+        by the Licensed Patents. The patent license shall not apply to any
+        other combinations which include the Contribution. No hardware per
+        se is licensed hereunder.
+      </li>
+      <li>c) Recipient understands that although each Contributor grants the
+        licenses to its Contributions set forth herein, no assurances are
+        provided by any Contributor that the Program does not infringe the
+        patent or other intellectual property rights of any other entity.
+        Each Contributor disclaims any liability to Recipient for claims
+        brought by any other entity based on infringement of intellectual
+        property rights or otherwise. As a condition to exercising the rights
+        and licenses granted hereunder, each Recipient hereby assumes sole
+        responsibility to secure any other intellectual property rights needed,
+        if any. For example, if a third party patent license is required to
+        allow Recipient to Distribute the Program, it is Recipient&#039;s
+        responsibility to acquire that license before distributing the Program.
+      </li>
+      <li>d) Each Contributor represents that to its knowledge it has sufficient
+        copyright rights in its Contribution, if any, to grant the copyright
+        license set forth in this Agreement.
+      </li>
+      <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+        makes additional grants to any Recipient (other than those set forth
+        in this Agreement) as a result of such Recipient&#039;s receipt of the
+        Program under the terms of a Secondary License (if permitted under
+        the terms of Section 3).
+      </li>
+    </ul>
+    <h2 id="requirements">3. REQUIREMENTS</h2>
+    <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+    <ul>
+      <li>a) the Program must also be made available as Source Code, in
+        accordance with section 3.2, and the Contributor must accompany
+        the Program with a statement that the Source Code for the Program
+        is available under this Agreement, and informs Recipients how to
+        obtain it in a reasonable manner on or through a medium customarily
+        used for software exchange; and
+      </li>
+      <li>
+        b) the Contributor may Distribute the Program under a license
+        different than this Agreement, provided that such license:
+        <ul>
+          <li>i) effectively disclaims on behalf of all other Contributors all
+            warranties and conditions, express and implied, including warranties
+            or conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular purpose;
+          </li>
+          <li>ii) effectively excludes on behalf of all other Contributors all
+            liability for damages, including direct, indirect, special, incidental
+            and consequential damages, such as lost profits;
+          </li>
+          <li>iii) does not attempt to limit or alter the recipients&#039; rights in the
+            Source Code under section 3.2; and
+          </li>
+          <li>iv) requires any subsequent distribution of the Program by any party
+            to be under a license that satisfies the requirements of this section 3.
+          </li>
+        </ul>
+      </li>
+    </ul>
+    <p>3.2 When the Program is Distributed as Source Code:</p>
+    <ul>
+      <li>a) it must be made available under this Agreement, or if the Program (i)
+        is combined with other material in a separate file or files made available
+        under a Secondary License, and (ii) the initial Contributor attached to
+        the Source Code the notice described in Exhibit A of this Agreement,
+        then the Program may be made available under the terms of such
+        Secondary Licenses, and
+      </li>
+      <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+    </ul>
+    <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+      attribution notices, disclaimers of warranty, or limitations of liability
+      (&lsquo;notices&rsquo;) contained within the Program from any copy of the Program which
+      they Distribute, provided that Contributors may add their own appropriate
+      notices.
+    </p>
+    <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+    <p>Commercial distributors of software may accept certain responsibilities
+      with respect to end users, business partners and the like. While this
+      license is intended to facilitate the commercial use of the Program, the
+      Contributor who includes the Program in a commercial product offering should
+      do so in a manner which does not create potential liability for other
+      Contributors. Therefore, if a Contributor includes the Program in a
+      commercial product offering, such Contributor (&ldquo;Commercial Contributor&rdquo;)
+      hereby agrees to defend and indemnify every other Contributor
+      (&ldquo;Indemnified Contributor&rdquo;) against any losses, damages and costs
+      (collectively &ldquo;Losses&rdquo;) arising from claims, lawsuits and other legal actions
+      brought by a third party against the Indemnified Contributor to the extent
+      caused by the acts or omissions of such Commercial Contributor in connection
+      with its distribution of the Program in a commercial product offering.
+      The obligations in this section do not apply to any claims or Losses relating
+      to any actual or alleged intellectual property infringement. In order to
+      qualify, an Indemnified Contributor must: a) promptly notify the
+      Commercial Contributor in writing of such claim, and b) allow the Commercial
+      Contributor to control, and cooperate with the Commercial Contributor in,
+      the defense and any related settlement negotiations. The Indemnified
+      Contributor may participate in any such claim at its own expense.
+    </p>
+    <p>For example, a Contributor might include the Program
+      in a commercial product offering, Product X. That Contributor is then a
+      Commercial Contributor. If that Commercial Contributor then makes performance
+      claims, or offers warranties related to Product X, those performance claims
+      and warranties are such Commercial Contributor&#039;s responsibility alone.
+      Under this section, the Commercial Contributor would have to defend claims
+      against the other Contributors related to those performance claims and
+      warranties, and if a court requires any other Contributor to pay any damages
+      as a result, the Commercial Contributor must pay those damages.
+    </p>
+    <h2 id="warranty">5. NO WARRANTY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN &ldquo;AS IS&rdquo; BASIS, WITHOUT
+      WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+      WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+      MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+      solely responsible for determining the appropriateness of using and
+      distributing the Program and assumes all risks associated with its
+      exercise of rights under this Agreement, including but not limited to the
+      risks and costs of program errors, compliance with applicable laws, damage
+      to or loss of data, programs or equipment, and unavailability or
+      interruption of operations.
+    </p>
+    <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+      LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+      OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+      OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+      GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    </p>
+    <h2 id="general">7. GENERAL</h2>
+    <p>If any provision of this Agreement is invalid or unenforceable under
+      applicable law, it shall not affect the validity or enforceability of the
+      remainder of the terms of this Agreement, and without further action by the
+      parties hereto, such provision shall be reformed to the minimum extent
+      necessary to make such provision valid and enforceable.
+    </p>
+    <p>If Recipient institutes patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+      (excluding combinations of the Program with other software or hardware)
+      infringes such Recipient&#039;s patent(s), then such Recipient&#039;s rights granted
+      under Section 2(b) shall terminate as of the date such litigation is filed.
+    </p>
+    <p>All Recipient&#039;s rights under this Agreement shall terminate if it fails to
+      comply with any of the material terms or conditions of this Agreement and
+      does not cure such failure in a reasonable period of time after becoming
+      aware of such noncompliance. If all Recipient&#039;s rights under this Agreement
+      terminate, Recipient agrees to cease use and distribution of the Program
+      as soon as reasonably practicable. However, Recipient&#039;s obligations under
+      this Agreement and any licenses granted by Recipient relating to the
+      Program shall continue and survive.
+    </p>
+    <p>Everyone is permitted to copy and distribute copies of this Agreement,
+      but in order to avoid inconsistency the Agreement is copyrighted and may
+      only be modified in the following manner. The Agreement Steward reserves
+      the right to publish new versions (including revisions) of this Agreement
+      from time to time. No one other than the Agreement Steward has the right
+      to modify this Agreement. The Eclipse Foundation is the initial Agreement
+      Steward. The Eclipse Foundation may assign the responsibility to serve as
+      the Agreement Steward to a suitable separate entity. Each new version of
+      the Agreement will be given a distinguishing version number. The Program
+      (including Contributions) may always be Distributed subject to the version
+      of the Agreement under which it was received. In addition, after a new
+      version of the Agreement is published, Contributor may elect to Distribute
+      the Program (including its Contributions) under the new version.
+    </p>
+    <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+      receives no rights or licenses to the intellectual property of any
+      Contributor under this Agreement, whether expressly, by implication,
+      estoppel or otherwise. All rights in the Program not expressly granted
+      under this Agreement are reserved. Nothing in this Agreement is intended
+      to be enforceable by any entity that is not a Contributor or Recipient.
+      No third-party beneficiary rights are created under this Agreement.
+    </p>
+    <h2 id="exhibit-a">Exhibit A &ndash; Form of Secondary Licenses Notice</h2>
+    <p>&ldquo;This Source Code may also be made available under the following 
+    	Secondary Licenses when the conditions for such availability set forth 
+    	in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+    	version(s), and exceptions or additional permissions here}.&rdquo;
+    </p>
+    <blockquote>
+      <p>Simply including a copy of this Agreement, including this Exhibit A
+        is not sufficient to license the Source Code under Secondary Licenses.
+      </p>
+      <p>If it is not possible or desirable to put the notice in a particular file,
+        then You may include the notice in a location (such as a LICENSE file in a
+        relevant directory) where a recipient would be likely to look for
+        such a notice.
+      </p>
+      <p>You may add additional accurate notices of copyright ownership.</p>
+    </blockquote>
+  </body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.target b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.target
new file mode 100644
index 0000000..80b01fd
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.target
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Amalthea AMLT2SystemC Cloud Target" sequenceNumber="1610972886">
+  <locations>
+    <location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.sdk.feature.group" version="4.14.0.v20191210-0610"/>
+      <unit id="org.eclipse.equinox.sdk.feature.group" version="3.20.0.v20191122-2104"/>
+      <unit id="org.eclipse.equinox.compendium.sdk.feature.group" version="3.20.0.v20191107-1453"/>
+      <unit id="org.eclipse.equinox.server.jetty.feature.group" version="1.10.100.v20191122-1941"/>
+      <unit id="javax.xml" version="1.3.4.v201005080400"/>
+      <unit id="org.jdom" version="1.1.1.v201101151400"/>
+      <unit id="com.google.guava" version="27.1.0.v20190517-1946"/>
+      <unit id="com.google.inject" version="3.0.0.v201605172100"/>
+      <unit id="org.slf4j.api" version="1.7.2.v20121108-1250"/>
+      <unit id="org.slf4j.impl.log4j12" version="1.7.2.v20131105-2200"/>
+      <unit id="org.apache.commons.cli" version="1.2.0.v201404270220"/>
+      <unit id="org.apache.commons.lang" version="2.6.0.v201404270220"/>
+      <unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
+      <unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
+      <unit id="org.apache.xalan" version="2.7.1.v201005080400"/>
+      <unit id="org.apache.xerces" version="2.9.0.v201101211617"/>
+      <unit id="org.apache.xml.resolver" version="1.2.0.v201005080400"/>
+      <unit id="org.apache.xml.serializer" version="2.7.1.v201005080400"/>
+      <unit id="org.apache.felix.gogo.command" version="1.0.2.v20170914-1324"/>
+      <unit id="org.apache.felix.gogo.runtime" version="1.1.0.v20180713-1646"/>
+      <unit id="org.apache.felix.gogo.shell" version="1.1.0.v20180713-1646"/>
+      <unit id="org.eclipse.equinox.console" version="1.4.0.v20190819-1430"/>
+      <unit id="org.eclipse.emf.sdk.feature.group" version="2.20.0.v20191028-0905"/>
+      <unit id="org.eclipse.emf.ecore.xcore.sdk.feature.group" version="1.12.0.v20190924-0817"/>
+      <unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.12.0.201805140824"/>
+      <unit id="org.eclipse.emf.validation.feature.group" version="1.12.1.201812070911"/>
+      <unit id="org.eclipse.xtend.sdk.feature.group" version="2.20.0.v20191202-1256"/>
+      <unit id="org.eclipse.xtend.lib" version="2.20.0.v20191202-0907"/>
+      <unit id="org.eclipse.xtend.lib.macro" version="2.20.0.v20191202-0907"/>
+      <unit id="org.eclipse.xtext.xbase.lib.feature.group" version="2.20.0.v20191202-0910"/>
+      <repository location="https://download.eclipse.org/releases/2019-12"/>
+    </location>
+    <location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.app4mc.amalthea.models.feature.group" version="0.9.9.202007301332"/>
+      <unit id="org.eclipse.app4mc.validation.feature.group" version="0.9.9.202007301332"/>
+      <repository location="https://download.eclipse.org/app4mc/updatesites/releases/0.9.9/"/>
+    </location>
+    <location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.app4mc.transformation.feature.sdk.feature.group" version="0.0.0"/>
+      <repository location="https://download.eclipse.org/app4mc/components/addon/transformation/snapshot/p2repo/"/>
+    </location>
+    <location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.app4mc.amlt2systemc.feature.sdk.feature.group" version="0.0.0"/>
+      <repository location="https://download.eclipse.org/app4mc/components/addon/transformation.sim.app4mc/snapshot/p2repo/"/>
+    </location>
+    <location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.jaxen" version="1.1.6.v20191106-1554"/>
+      <unit id="org.jdom2" version="2.0.6.v20191125-0928"/>
+      <unit id="org.apache.commons.math" version="2.1.0.v201105210652"/>
+      <unit id="org.apache.commons.math3" version="3.5.0.v20190611-1023"/>
+      <unit id="org.apache.commons.fileupload" version="1.3.2.v20170320-2229"/>
+      <unit id="com.fasterxml.jackson.core.jackson-core" version="2.9.9.v20190906-1522"/>
+      <unit id="com.fasterxml.jackson.core.jackson-databind" version="2.9.93.v20190906-1522"/>
+      <unit id="com.fasterxml.jackson.core.jackson-annotations" version="2.9.9.v20190906-1522"/>
+      <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+    </location>
+    <location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.sphinx.sdk.feature.group" version="0.11.2.201802230805"/>
+      <repository location="https://download.eclipse.org/sphinx/updates/0.11.x"/>
+    </location>
+    <location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.license.feature.group" version="2.0.2.v20181016-2210"/>
+      <repository location="https://download.eclipse.org/cbi/updates/license"/>
+    </location>
+  </locations>
+</target>
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.tpd b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.tpd
new file mode 100644
index 0000000..b903338
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/org.eclipse.app4mc.amlt2systemc.cloud.target/org.eclipse.app4mc.amlt2systemc.cloud.target.tpd
@@ -0,0 +1,68 @@
+target "Amalthea AMLT2SystemC Cloud Target"
+
+with source allEnvironments
+
+location "https://download.eclipse.org/releases/2019-12" {
+	org.eclipse.sdk.feature.group
+	org.eclipse.equinox.sdk.feature.group
+	org.eclipse.equinox.compendium.sdk.feature.group
+	org.eclipse.equinox.server.jetty.feature.group
+	javax.xml
+	org.jdom
+	com.google.guava
+	com.google.inject
+	org.slf4j.api [1.7.2,1.7.3)
+	org.slf4j.impl.log4j12 [1.7.2,2.0.0)
+	org.apache.commons.cli
+	org.apache.commons.lang
+	org.apache.commons.logging
+	org.apache.log4j [1.2.15,1.3.0)
+	org.apache.xalan [2.7.1,2.7.2)
+	org.apache.xerces [2.9.0,2.10.0)
+	org.apache.xml.resolver [1.2.0,1.2.1)
+	org.apache.xml.serializer [2.7.1,2.7.2)
+	org.apache.felix.gogo.command [1.0.2,1.1.0)
+	org.apache.felix.gogo.runtime [1.1.0,1.2.0)
+	org.apache.felix.gogo.shell [1.1.0,1.2.0)
+	org.eclipse.equinox.console [1.4.0,1.5.0)
+	org.eclipse.emf.sdk.feature.group
+	org.eclipse.emf.ecore.xcore.sdk.feature.group
+	org.eclipse.emf.transaction.sdk.feature.group
+	org.eclipse.emf.validation.feature.group
+	org.eclipse.xtend.sdk.feature.group
+	org.eclipse.xtend.lib
+	org.eclipse.xtend.lib.macro
+	org.eclipse.xtext.xbase.lib.feature.group
+}
+
+location "https://download.eclipse.org/app4mc/updatesites/releases/0.9.9/" {
+	org.eclipse.app4mc.amalthea.models.feature.group
+	org.eclipse.app4mc.validation.feature.group
+}
+
+location "https://download.eclipse.org/app4mc/components/addon/transformation/snapshot/p2repo/" {
+	org.eclipse.app4mc.transformation.feature.sdk.feature.group lazy
+}
+
+location "https://download.eclipse.org/app4mc/components/addon/transformation.sim.app4mc/snapshot/p2repo/" {
+	org.eclipse.app4mc.amlt2systemc.feature.sdk.feature.group lazy
+}
+
+location "https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository" {
+	org.jaxen [1.1.6,1.1.7)
+	org.jdom2 [2.0.6,2.0.7)
+	org.apache.commons.math
+	org.apache.commons.math3
+	org.apache.commons.fileupload
+	com.fasterxml.jackson.core.jackson-core
+	com.fasterxml.jackson.core.jackson-databind
+	com.fasterxml.jackson.core.jackson-annotations
+}
+
+location "https://download.eclipse.org/sphinx/updates/0.11.x" {
+	org.eclipse.sphinx.sdk.feature.group
+}
+
+location "https://download.eclipse.org/cbi/updates/license" {
+	org.eclipse.license.feature.group
+}
\ No newline at end of file
diff --git a/org.eclipse.app4m.amlt2systemc.cloud/pom.xml b/org.eclipse.app4m.amlt2systemc.cloud/pom.xml
new file mode 100644
index 0000000..148775e
--- /dev/null
+++ b/org.eclipse.app4m.amlt2systemc.cloud/pom.xml
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>org.eclipse.app4mc</groupId>
+	<artifactId>org.eclipse.app4mc.amlt2systemc.cloud</artifactId>
+	<version>0.1.0-SNAPSHOT</version>
+
+	<packaging>pom</packaging>
+
+	<url>http://projects.eclipse.org/projects/technology.app4mc</url>
+	<name>APP4MC AMLT2SystemC Transformation Cloud Service</name>
+
+	<properties>
+		<tycho.version>2.0.0</tycho.version>
+
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.build.timestamp.format>yyyyMMdd-HHmmss</maven.build.timestamp.format>
+
+	</properties>
+
+	<pluginRepositories>
+		<pluginRepository>
+			<id>cbi</id>
+			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</pluginRepository>
+	</pluginRepositories>
+
+	<modules>
+		<module>org.eclipse.app4mc.amlt2systemc.cloud.target</module>
+		<module>org.eclipse.app4mc.amlt2systemc.cloud.http</module>
+		<module>org.eclipse.app4mc.amlt2systemc.cloud.product</module>
+	</modules>
+
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.eclipse.cbi.maven.plugins</groupId>
+					<artifactId>eclipse-jarsigner-plugin</artifactId>
+					<version>1.1.3</version>
+					<executions>
+						<execution>
+							<id>sign</id>
+							<phase>package</phase>
+							<goals>
+								<goal>sign</goal>
+							</goals>
+						</execution>
+					</executions>
+				</plugin>
+
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>tycho-packaging-plugin</artifactId>
+					<version>${tycho.version}</version>
+
+<!-- 
+					<dependencies>
+						<dependency>
+							<groupId>org.eclipse.tycho.extras</groupId>
+							<artifactId>tycho-buildtimestamp-jgit</artifactId>
+							<version>${tycho.version}</version>
+						</dependency>
+					</dependencies>
+
+					<configuration>
+						<timestampProvider>jgit</timestampProvider>
+						<jgit.ignore>pom.xml</jgit.ignore>
+						<jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
+					</configuration>
+ -->
+				</plugin>
+
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>tycho-p2-repository-plugin</artifactId>
+					<version>${tycho.version}</version>
+				</plugin>
+
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>tycho-p2-plugin</artifactId>
+					<version>${tycho.version}</version>
+				</plugin>
+
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>tycho-p2-director-plugin</artifactId>
+					<version>${tycho.version}</version>
+					<executions>
+						<execution>
+							<id>materialize-products</id>
+							<goals>
+								<goal>materialize-products</goal>
+							</goals>
+						</execution>
+
+						<execution>
+							<id>archive-products</id>
+							<goals>
+								<goal>archive-products</goal>
+							</goals>
+							<configuration>
+								<formats>
+									<linux>tar.gz</linux>
+									<macosx>tar.gz</macosx>
+								</formats>
+							</configuration>
+						</execution>
+					</executions>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>target-platform-configuration</artifactId>
+				<version>${tycho.version}</version>
+
+				<configuration>
+					<environments>
+						<environment>
+							<os>win32</os>
+							<ws>win32</ws>
+							<arch>x86_64</arch>
+						</environment>
+						<environment>
+							<os>linux</os>
+							<ws>gtk</ws>
+							<arch>x86_64</arch>
+						</environment>
+						<environment>
+							<os>macosx</os>
+							<ws>cocoa</ws>
+							<arch>x86_64</arch>
+						</environment>
+					</environments>
+
+					<target>
+						<artifact>
+							<groupId>org.eclipse.app4mc</groupId>
+							<artifactId>org.eclipse.app4mc.amlt2systemc.cloud.target</artifactId>
+							<version>0.1.0-SNAPSHOT</version>
+						</artifact>
+					</target>
+					<targetDefinitionIncludeSource>honor</targetDefinitionIncludeSource>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-maven-plugin</artifactId>
+				<version>${tycho.version}</version>
+
+				<extensions>true</extensions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho.version}</version>
+
+				<executions>
+					<execution>
+						<id>plugin-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-surefire-plugin</artifactId>
+				<version>${tycho.version}</version>
+
+				<configuration>
+					<includes>
+						<forkMode>never</forkMode>
+						<include>**/*Test.java</include>
+						<include>**/*Tests.java</include>
+					</includes>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+	<profiles>
+		<profile>
+			<id>sign</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.eclipse.cbi.maven.plugins</groupId>
+						<artifactId>eclipse-jarsigner-plugin</artifactId>
+						<version>1.1.3</version>
+						<executions>
+							<execution>
+								<id>sign</id>
+								<phase>package</phase>
+								<goals>
+									<goal>sign</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+</project>
\ No newline at end of file
diff --git a/org.eclipse.app4mc.converter.cloud/Dockerfile b/org.eclipse.app4mc.converter.cloud/Dockerfile
index 58ec81d..4aaf12b 100644
--- a/org.eclipse.app4mc.converter.cloud/Dockerfile
+++ b/org.eclipse.app4mc.converter.cloud/Dockerfile
@@ -1,4 +1,4 @@
-FROM amazoncorretto:8u265
+FROM amazoncorretto:8u275
 
 COPY converter-app/target/converter-app.jar converter-app.jar
 
diff --git a/org.eclipse.app4mc.validation.cloud/.project b/org.eclipse.app4mc.validation.cloud/.project
new file mode 100644
index 0000000..03287ef
--- /dev/null
+++ b/org.eclipse.app4mc.validation.cloud/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.app4mc.validation.cloud</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.app4mc.validation.cloud/.settings/org.eclipse.core.resources.prefs b/org.eclipse.app4mc.validation.cloud/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.app4mc.validation.cloud/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.app4mc.validation.cloud/Dockerfile b/org.eclipse.app4mc.validation.cloud/Dockerfile
index 6b9b08f..4b5a518 100644
--- a/org.eclipse.app4mc.validation.cloud/Dockerfile
+++ b/org.eclipse.app4mc.validation.cloud/Dockerfile
@@ -1,4 +1,4 @@
-FROM amazoncorretto:8u265
+FROM amazoncorretto:8u275
 
 ADD org.eclipse.app4mc.validation.cloud.product/target/products/org.eclipse.app4mc.validation.cloud.product-linux.gtk.x86_64.tar.gz org.eclipse.app4mc.validation.cloud.product
 RUN chmod +x org.eclipse.app4mc.validation.cloud.product/eclipse